<div dir="ltr">Hello Ina,<div><br></div><div>Thank you for the explanation. That makes perfect sense but still remains a concern for us if the same flow will be happening in pulp3 as well in case of Docker or ISO type repos. </div><div><br></div><div>Customers are always concerned about disk space and this situation might lead to a disk space unavailability issue very often. </div><div><br></div><div>My request will be to see if we can do something about "Not downloading" the entire repo in temp\download directory at once but download as per concurrency and then move the contents to the data directory.</div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><div dir="ltr">Thanks & Regards,</div><div dir="ltr"><br clear="all"><div><div dir="ltr"><div dir="ltr"><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>Sayan das<br></span></p><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span></span></p>
<p style="font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><b>T</b>echnical <b>S</b>upport <b>E</b>ngineer<span style="font-weight:normal;color:rgb(170,170,170);margin:0px">, RHCE</span><span style="font-weight:normal;color:rgb(170,170,170);margin:0px"></span></p><p style="font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px" target="_blank">Red Hat <span>India<br></span></a></p><span style="font-family:overpass,sans-serif;font-size:10px;margin:0px;color:rgb(153,153,153)"><p style="margin:0px">Red Hat India Pvt. Ltd, Level-5, Tower-10, Cyber City</p></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><p style="font-size:10px;margin:0px;color:rgb(153,153,153)">Magarpatta City Hadapsar, Pune-411013, Maharashtra, India.</p></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"></span><p style="margin:0px 0px 6px"><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px;margin:0px;padding:0px"><a href="mailto:saydas@redhat.com" style="color:rgb(0,136,206);margin:0px" target="_blank">saydas@redhat.com</a>   </span><font face="overpass, sans-serif" color="#999999"><span style="font-size:10px"> </span></font><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px">M: <a href="tel:+91-7890892756" style="color:rgb(0,136,206);font-size:11px;margin:0px" target="_blank">+91-7890892756</a>    </span><font face="overpass, sans-serif" color="#999999"><span style="font-size:10px"> </span></font><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px">IRC: Sayan</span></p><table style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium" border="0"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"><img src="https://static.redhat.com/libs/redhat/brand-assets/latest/corp/logo.png" style="color:rgb(17,85,204)" width="96" height="22"></a><br></td></tr></tbody></table></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 30, 2021 at 5:37 PM Ina Panova <<a href="mailto:ipanova@redhat.com">ipanova@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br clear="all"><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><br><br>--------<br>Regards,<br><br>Ina Panova<br>Senior Software Engineer| Pulp| Red Hat Inc.<br><br>"Do not go where the path may lead,<br> go instead where there is no path and leave a trail."<br></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 30, 2021 at 10:12 AM Sayan Das <<a href="mailto:saydas@redhat.com" target="_blank">saydas@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello Matthias,<div><br></div><div>Thanks for your response on this one.</div><div><br></div><div>By this,</div><div>~~</div><div>Since those stages use python async and asyncio this means, there will be 5 parallel downloads (as long as enough requests flow by that stage). Once an artifact is downloaded, the next stage will transfer it to the final storage location (may be a cloud storage), and so on.<br>~~</div><div><br></div><div>Should I assume that, once 5 parallel download gets completed inside the /var/lib/pulp/tmp , they will be immediately be transferred to their actual location and then only the next batch of download will start?</div><div><br></div><div>This question is being raised based on our old experience with pulp 2, where a 50+ GB openshift repo was being synced, /var/cache/pulp was of only 25 GB and during the content download part only the filesystem got filled up and eventually, the task got canceled with disk-space error. It happened as pulp2 used to download the data in batches of 5 but it never moved the data to their destination until the entire repository was downloaded in pulp cache. This was only noticed with docker\ISO\file type repos but NOT with yum\rpm type repos.</div></div></blockquote><div><br></div><div>I can give some background why it is been this way in pulp2 -  docker repos are composed out of manifests and blobs and while an rpm is usable as it - if there is failure of docker sync somewhere in the middle, the end result of the mirrored content will leave the user/customer with the corrupted and unusable repo - if one blob is missing one cannot pull and instantiate the container from it.</div><div>This overprotective behaviour on one hand causes pulp cache directory to require quite some space, on the other hand it ensures the docker repo is not corrupted and contains whether all content or none.</div><div><br></div><div>With Pulp3 we should probably move the content to the storage as it becomes available <a href="https://pulp.plan.io/issues/8295" target="_blank">https://pulp.plan.io/issues/8295</a>, however, in case of sync failure it will be on the user to re-trigger repo sync to ensure the task success.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div><br clear="all"><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><div dir="ltr">Thanks & Regards,</div><div dir="ltr"><br clear="all"><div><div dir="ltr"><div dir="ltr"><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>Sayan das<br></span></p><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span></span></p>
<p style="font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><b>T</b>echnical <b>S</b>upport <b>E</b>ngineer<span style="font-weight:normal;color:rgb(170,170,170);margin:0px">, RHCE</span><span style="font-weight:normal;color:rgb(170,170,170);margin:0px"></span></p><p style="font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px" target="_blank">Red Hat <span>India<br></span></a></p><span style="font-family:overpass,sans-serif;font-size:10px;margin:0px;color:rgb(153,153,153)"><p style="margin:0px">Red Hat India Pvt. Ltd, Level-5, Tower-10, Cyber City</p></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><p style="font-size:10px;margin:0px;color:rgb(153,153,153)">Magarpatta City Hadapsar, Pune-411013, Maharashtra, India.</p></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"></span><p style="margin:0px 0px 6px"><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px;margin:0px;padding:0px"><a href="mailto:saydas@redhat.com" style="color:rgb(0,136,206);margin:0px" target="_blank">saydas@redhat.com</a>   </span><font face="overpass, sans-serif" color="#999999"><span style="font-size:10px"> </span></font><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px">M: <a href="tel:+91-7890892756" style="color:rgb(0,136,206);font-size:11px;margin:0px" target="_blank">+91-7890892756</a>    </span><font face="overpass, sans-serif" color="#999999"><span style="font-size:10px"> </span></font><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px">IRC: Sayan</span></p><table style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium" border="0"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"><img src="https://static.redhat.com/libs/redhat/brand-assets/latest/corp/logo.png" style="color: rgb(17, 85, 204);" width="96" height="22"></a><br></td></tr></tbody></table></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 30, 2021 at 1:25 PM Matthias Dellweg <<a href="mailto:mdellweg@redhat.com" target="_blank">mdellweg@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I am not quite sure, i understand the right notion of the question, but i'll try to give my view of it.</div><div>Pulp 3 has a special asynchronous sync pipeline. That means on synching a remote repository (regardless of it's type) there is a pipeline with so called stages. The first stage is supposed to fetch metadata and enumerate content units (blobs, manifests, rpms, files, ...) and pass them into the pipeline. The other stages that run in parallel will each perform one of downloading artifacts, saving them, assemble content units, saving them, adding them to the new repository version.</div><div>Since those stages use python async and asyncio this means, there will be 5 parallel downloads (as long as enough requests flow by that stage). Once an artifact is downloaded, the next stage will transfer it to the final storage location (may be a cloud storage), and so on. For performance reasons however, some stages (doing database saves) will batch their work into large batches (>= 100).</div><div>In short: It's different.</div><div>I hope this explains (high level) what's going on there.</div><div>Feel free to ask for more detail.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 29, 2021 at 4:48 PM Sayan Das <<a href="mailto:saydas@redhat.com" target="_blank">saydas@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hello Everyone,<div><br></div><div>I am not sure if my previous email was successfully delivered or not and hence I am re-sending it. </div><div><br></div><div>I hope someone will be able to help me with some clarification there. </div><div><br clear="all"><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><div dir="ltr">Thanks & Regards,</div><div dir="ltr"><br clear="all"><div><div dir="ltr"><div dir="ltr"><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>Sayan das<br></span></p><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span></span></p>
<p style="font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><b>T</b>echnical <b>S</b>upport <b>E</b>ngineer<span style="font-weight:normal;color:rgb(170,170,170);margin:0px">, RHCE</span><span style="font-weight:normal;color:rgb(170,170,170);margin:0px"></span></p><p style="font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px" target="_blank">Red Hat <span>India<br></span></a></p><span style="font-family:overpass,sans-serif;font-size:10px;margin:0px;color:rgb(153,153,153)"><p style="margin:0px">Red Hat India Pvt. Ltd, Level-5, Tower-10, Cyber City</p></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><p style="font-size:10px;margin:0px;color:rgb(153,153,153)">Magarpatta City Hadapsar, Pune-411013, Maharashtra, India.</p></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"></span><p style="margin:0px 0px 6px"><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px;margin:0px;padding:0px"><a href="mailto:saydas@redhat.com" style="color:rgb(0,136,206);margin:0px" target="_blank">saydas@redhat.com</a>   </span><font face="overpass, sans-serif" color="#999999"><span style="font-size:10px"> </span></font><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px">M: <a href="tel:+91-7890892756" style="color:rgb(0,136,206);font-size:11px;margin:0px" target="_blank">+91-7890892756</a>    </span><font face="overpass, sans-serif" color="#999999"><span style="font-size:10px"> </span></font><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px">IRC: Sayan</span></p><table style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium" border="0"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"><img src="https://static.redhat.com/libs/redhat/brand-assets/latest/corp/logo.png" style="color: rgb(17, 85, 204);" width="96" height="22"></a><br></td></tr></tbody></table></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 27, 2021 at 12:17 AM Sayan Das <<a href="mailto:saydas@redhat.com" target="_blank">saydas@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello All,<br><br>I hope this email finds you all well.<br><br>My name is Sayan and I work as a support engineer for the Red Hat Satellite 6 product. During a recent interaction with my colleague Ian Ballou, we came across a pulp2-vs-pulp3 question that we are looking for clarification on and It was suggested that this pulp-dev will be a really great place to get that clarification.<br><br>Please allow me to explain the pulp 2 behavior.<br><br>Some parameters to consider:<br><br>Repo Type: Docker or Openshift repo [ Assuming it has 200 units to get downloaded ]<br>Download Dir: /var/cache/pulp<br>Data Dir: /var/lib/pulp/content/units/<br>Download concurrency: 5 <br><br>Now,<br>   * Sync Started for the repo.<br>   * pulp downloaded 5 units in the "Download Dir" but never moved them in "Data Dir"<br>   * Once those first 5 units were downloaded, Pulp downloads the next 5 units and the same cycle keeps on repeating untill all 200 units have been downloaded.<br>   * When all 200 units are downloaded, then the entire content will be moved from "Download Dir" to the respective location inside "Data Dir"<br><br><br>For pulp 3, <br><br>Download Dir: /var/lib/pulp/tmp<br>Data Dir: /var/lib/pulp/media<br>Download concurrency: 5 [ I heard it's 10 but let's assume it's 5 for now ]<br><br><br>So the question is, Will pulp 3 behave the same as pulp 2, i.e. download the entire repository inside "Download Dir" by the batches of 5 units and then move the entire repository to "Data Dir" or the behavior is different i.e. after download 5 units in "Download Dir" the content will be moved to "Data Dir" and then the next 5 units will be downloaded?<br><br>Please note, I have specifically mentioned that the repo is a Docker\Openshift type repo as we are concerned about only Docker\ISO\File type repos at this moment. <div><br>Any clarification that can be provided on this will be really appreciated.<br clear="all"><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Thanks & Regards,</div><div dir="ltr"><br clear="all"><div><div dir="ltr"><div dir="ltr"><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>Sayan das<br></span></p><p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span></span></p>
<p style="font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><b>T</b>echnical <b>S</b>upport <b>E</b>ngineer<span style="font-weight:normal;color:rgb(170,170,170);margin:0px">, RHCE</span><span style="font-weight:normal;color:rgb(170,170,170);margin:0px"></span></p><p style="font-family:overpass,sans-serif;margin:0px;font-size:10px;color:rgb(153,153,153)"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px" target="_blank">Red Hat <span>India<br></span></a></p><span style="font-family:overpass,sans-serif;font-size:10px;margin:0px;color:rgb(153,153,153)"><p style="margin:0px">Red Hat India Pvt. Ltd, Level-5, Tower-10, Cyber City</p></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"><p style="font-size:10px;margin:0px;color:rgb(153,153,153)">Magarpatta City Hadapsar, Pune-411013, Maharashtra, India.</p></span><span style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium"></span><p style="margin:0px 0px 6px"><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px;margin:0px;padding:0px"><a href="mailto:saydas@redhat.com" style="color:rgb(0,136,206);margin:0px" target="_blank">saydas@redhat.com</a>   </span><font face="overpass, sans-serif" color="#999999"><span style="font-size:10px"> </span></font><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px">M: <a href="tel:+91-7890892756" style="color:rgb(0,136,206);font-size:11px;margin:0px" target="_blank">+91-7890892756</a>    </span><font face="overpass, sans-serif" color="#999999"><span style="font-size:10px"> </span></font><span style="color:rgb(153,153,153);font-family:overpass,sans-serif;font-size:10px">IRC: Sayan</span></p><table style="color:rgb(0,0,0);font-family:overpass,sans-serif;font-size:medium" border="0"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"><img src="https://static.redhat.com/libs/redhat/brand-assets/latest/corp/logo.png" style="color: rgb(17, 85, 204);" width="96" height="22"></a><br></td></tr></tbody></table></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div></div>
_______________________________________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://listman.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://listman.redhat.com/mailman/listinfo/pulp-dev</a><br>
</blockquote></div>
</blockquote></div>
_______________________________________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://listman.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://listman.redhat.com/mailman/listinfo/pulp-dev</a><br>
</blockquote></div></div>
</blockquote></div>