<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi Jeremy,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank you for your quick answer and for your support we will be more than happy to share our research with you once published! </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
For this purpose of study, we need to collect the whole Opendev data. Right now, we collected data from 2020 to 2015 and still need the other years. As per requested we will add more waiting time to my process to let the server catch up. If you also have any
 other suggestions that will help, we will be happy to try it. </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
We will be happy to receive an answer from you </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Kind regards,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Moataz</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div>
<div><br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0);">
<br>
<hr tabindex="-1" style="display:inline-block; width:98%;">
<b>From:</b> Jeremy Stanley<br>
<b>Sent:</b> Tuesday, November 3, 2020 10:42 AM<br>
<b>To:</b> service-discuss@lists.opendev.org<br>
<b>Cc:</b> Chouchen, Moataz; Ouni, Ali; Laurin, François<br>
<b>Subject:</b> Re: Opendev review crawler
<div><br>
</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">On 2020-11-03 17:43:53 +0000 (+0000), Chouchen, Moataz wrote:<br>
> I am Moataz Chouchen a Phd Student in Ets Montréal under the<br>
> supervision of Professor Ali Ouni. I am sending this email to you<br>
> to explain my requests of the Opendev data to respond to your<br>
> request regarding Opendev code review data crawling.<br>
<br>
Thanks so much for getting back to us! I'm sorry we ended up<br>
blocking access to your various systems, but we were at a loss for<br>
how to otherwise get in contact with whoever was running them since<br>
the queries were being performed anonymously (at least until we<br>
finally saw similar API requests originating from your university).<br>
<br>
> In fact, my Phd subject consists of the identification, the<br>
> localization, and the understanding of Modern Code Review (MCR)<br>
> problems (also called antipatterns). For this purpose, we need to<br>
> crawl code review data from different projects (including Opendev)<br>
> since this data will help us to study the process of MCR in these<br>
> projects and their associated anti-patterns. Specifically, we need<br>
> the whole data of Opendev to perform data analysis methods on them<br>
> (including code review metrics distributions, social graph<br>
> analysis etc) and study them in more depth. For this reason, we<br>
> created a script to crawl data from Opendev and use them in our<br>
> empirical study on MCR antipatterns in Opendev.<br>
<br>
This sounds really interesting, and I'm sure this mailing list would<br>
also love to receive a link to your research once you've completed<br>
and published it. I'm thrilled you have an interest in looking into<br>
these topics, especially with regards to the usage patterns and<br>
trends for a service we're operating.<br>
<br>
> I would like to thank you for your interest to understand the<br>
> issues behind our requests and your intention to solve the issue<br>
> for both sides. I am looking forward to collaborating with you and<br>
> I would like to know if there are any rules that I should follow<br>
> when requesting data from your servers and I will be more than<br>
> happy If you can help me crawling the data and provide an access<br>
> for me. I am also at your disposal for further clarifications<br>
> regarding the requests. I hope I hear from you soon.<br>
<br>
Mainly what I think we need to know is whether you've already<br>
collected the data you need from our Gerrit API, or how much you<br>
still need to query. The server wants to cache requests in memory<br>
for the sake of efficiency, but as you're aware we've got quite a<br>
lot of data. When queries for older data consume available memory on<br>
the server it begins to spend a lot more time trying to aggressively<br>
garbage collect cache contents, and that degrades its ability to<br>
serve requests for you and for other users.<br>
<br>
If you still have a lot left to query, you might try to introduce a<br>
bit of a pause between each batch of paginated results to give the<br>
server some time to catch up freeing memory for caching other<br>
requests. Also if obtaining the data in a different form would be<br>
useful to you, we might be able to look into performing a dump of<br>
specific database tables so you don't have to slowly trickle it out<br>
of the API.<br>
<br>
Please do reply to the service-discuss mailing list at your earliest<br>
convenience and let us know how we can better help you with your<br>
research. Thanks again!<br>
-- <br>
Jeremy Stanley<br>
</div>
</span></font></div>
</div>
</body>
</html>