https://fedoraproject.org/w/index.php?title=Features/ExecutionParallelYum&feed=atom&action=historyFeatures/ExecutionParallelYum - Revision history2016-12-10T01:27:51ZRevision history for this page on the wikiMediaWiki 1.19.24https://fedoraproject.org/w/index.php?title=Features/ExecutionParallelYum&diff=141064&oldid=prevPoelstra: thank you for submitting this feature page--to send it on to FESCo there must be someone committed to implementing the feature2009-12-08T19:07:12Z<p>thank you for submitting this feature page--to send it on to FESCo there must be someone committed to implementing the feature</p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 19:07, 8 December 2009</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 3:</td>
<td colspan="2" class="diff-lineno">Line 3:</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Summary ==</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Summary ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">&lt;!-- A sentence or two summarizing what this feature is and what it will do.&#160; This information is used for the overall feature summary page for each release. --&gt;</del></div></td><td colspan="2">&#160;</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>Any person can execute multiple instances of yum. Right now this is happening but locking need to taken place only when installation taken place. and it need to have way to download the files.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>Any person can execute multiple instances of yum. Right now this is happening but locking need to taken place only when installation taken place. and it need to have way to download the files.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>&#160;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline"> </ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>&#160;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Owner ==</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Owner ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">&lt;!--This should link to your home wiki page so we know who you are--&gt;</del></div></td><td colspan="2">&#160;</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>* Name: Manish Runwal</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>* Name: Manish Runwal</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2">&#160;</td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">&lt;!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or&#160; technical issues need to be resolved--&gt;</del></div></td><td colspan="2">&#160;</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>* email: m_runwal@yahoo.com</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>* email: m_runwal@yahoo.com</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Current status ==</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Current status ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>* Targeted release: [[Releases/<del class="diffchange diffchange-inline">{{FedoraVersion</del>|<del class="diffchange diffchange-inline">|next}} | {{FedoraVersion|long|next}} </del>]] &#160;</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>* Targeted release: [[Releases/<ins class="diffchange diffchange-inline">13 </ins>| <ins class="diffchange diffchange-inline">Fedora 13</ins>]] &#160;</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>* Last updated: <del class="diffchange diffchange-inline">3</del>-<del class="diffchange diffchange-inline">Dec</del>-<del class="diffchange diffchange-inline">2009</del></div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>* Last updated: <ins class="diffchange diffchange-inline">2009</ins>-<ins class="diffchange diffchange-inline">12</ins>-<ins class="diffchange diffchange-inline">03</ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>* Percentage of completion: 0%</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>* Percentage of completion: 0%</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2">&#160;</td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">&lt;!-- CHANGE THE &quot;FedoraVersion&quot; TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. --&gt;</del></div></td><td colspan="2">&#160;</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Detailed Description ==</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Detailed Description ==</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 31:</td>
<td colspan="2" class="diff-lineno">Line 24:</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>Doing this we can fully optimize yum features. and we can download and install many files. and locking will be taken place only at the time of installation. &#160;</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>Doing this we can fully optimize yum features. and we can download and install many files. and locking will be taken place only at the time of installation. &#160;</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2">&#160;</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Benefit to Fedora ==</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Benefit to Fedora ==</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>Right now existing yum. let say it will take 50% amount of time to download particular package. and 10% time to check dependencies and 10% time for installation and 10% time for cleaning the older files. (Please note that percentages are assumptions). so actual so when one instances is installing the files. other yum instance will download the files. This will speed up installation process.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>Right now existing yum. let say it will take 50% amount of time to download particular package. and 10% time to check dependencies and 10% time for installation and 10% time for cleaning the older files. (Please note that percentages are assumptions). so actual so when one instances is installing the files. other yum instance will download the files. This will speed up installation process.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2">&#160;</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Scope ==</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Scope ==</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>I am not sure. But it will be affected with yum, kpackegekit. and add-remove programs.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>I am not sure. But it will be affected with yum, kpackegekit. and add-remove programs.</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2">&#160;</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== How To Test ==</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== How To Test ==</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 85:</td>
<td colspan="2" class="diff-lineno">Line 75:</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== User Experience ==</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== User Experience ==</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>They can download files of both packages on different terminal (might be different user who is accessing same machine).</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>They can download files of both packages on different terminal (might be different user who is accessing same machine).</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2">&#160;</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Dependencies ==</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>== Dependencies ==</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 103:</td>
<td colspan="2" class="diff-lineno">Line 92:</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>[[Category:<del class="diffchange diffchange-inline">FeatureReadyForWrangler</del>]]</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>[[Category:<ins class="diffchange diffchange-inline">FeaturePageIncomplete</ins>]]</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>&lt;!-- When your feature page is completed and ready for review --&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>&lt;!-- When your feature page is completed and ready for review --&gt;</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>&lt;!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler --&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>&lt;!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler --&gt;</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>&lt;!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete--&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>&lt;!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete--&gt;</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>&lt;!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process --&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>&lt;!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process --&gt;</div></td></tr>
</table>Poelstrahttps://fedoraproject.org/w/index.php?title=Features/ExecutionParallelYum&diff=140018&oldid=prevMrunwal: /* How To Test */2009-12-03T13:04:02Z<p>‎<span dir="auto"><span class="autocomment">How To Test</span></span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 13:04, 3 December 2009</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 46:</td>
<td colspan="2" class="diff-lineno">Line 46:</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>* Normal Executation</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>* Normal Executation</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>0. Start yum to install gedit</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>0. Start yum to install gedit</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>1. At the same time yum to install juk/amarok. &#160;</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>1. At the same time yum to install juk/amarok. &#160;</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>2. It will check for dependencies. now here we don't find any collision rpm. &#160;</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>2. It will check for dependencies. now here we don't find any collision rpm. &#160;</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>2. So yum will&#160; download gedit files. at the '''same''' time it will download juk/amarok files.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>2. So yum will&#160; download gedit files. at the '''same''' time it will download juk/amarok files.</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>3. Now it will installed gedit. for juk installation it will get lock as yum is doing installation.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>3. Now it will installed gedit. for juk installation it will get lock as yum is doing installation.</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>4. Installation lock will be free. and now juk will be installed.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>4. Installation lock will be free. and now juk will be installed.</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>5. Now cleaning process of gedit taken place. and the same time cleaning process of juk will take place.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>5. Now cleaning process of gedit taken place. and the same time cleaning process of juk will take place.</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 58:</td>
<td colspan="2" class="diff-lineno">Line 64:</td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>Let say any person is installing gedit and another instance any gnome-package</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>Let say any person is installing gedit and another instance any gnome-package</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>0. yum will parallel download both files.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>0. yum will parallel download both files.</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>1. let say one file which yum is downloading other instance of yum is also downloading the same file.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>1. let say one file which yum is downloading other instance of yum is also downloading the same file.</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>2. So for first instance it will download the collision file. but for other instance he will given message on that terminal(I am expecting that we are doing this on terminal, once everything is properly same features will be used for gui), that &quot;do you want to overwrite package ?&quot; as existing package is downloading by other instance. if he said yes then first instance will not move for installation. while other will go for installation. if their is any deadlock situation then user will abort any instance by either breaking the process.(if its gui then hit cancel)</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>2. So for first instance it will download the collision file. but for other instance he will given message on that terminal(I am expecting that we are doing this on terminal, once everything is properly same features will be used for gui), that &quot;do you want to overwrite package ?&quot; as existing package is downloading by other instance. if he said yes then first instance will not move for installation. while other will go for installation. if their is any deadlock situation then user will abort any instance by either breaking the process.(if its gui then hit cancel)</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>3. Lets say for another instance user said cancel then still it will download other files. so first instance will have all the files downloaded. and second instance will not download collision file and other files will be downloaded.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>3. Lets say for another instance user said cancel then still it will download other files. so first instance will have all the files downloaded. and second instance will not download collision file and other files will be downloaded.</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>4. now first installation process will take place. and other instance will see the lock.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>4. now first installation process will take place. and other instance will see the lock.</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>5. Now first process is complete lock will be released and other instances of yum will install the package.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>5. Now first process is complete lock will be released and other instances of yum will install the package.</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>6. Now cleaning of first package taken place without cleaning collision files.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>6. Now cleaning of first package taken place without cleaning collision files.</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>7. Now other process's cleaning take place and removing that collision files as well.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>7. Now other process's cleaning take place and removing that collision files as well.</div></td></tr>
<tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>8. And now yum's work is finished.</div></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"><div>8. And now yum's work is finished.</div></td></tr>
<tr><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'>&#160;</td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<!-- diff cache key fpo-mediawiki-en_:diff:version:1.11a:oldid:140017:newid:140018 -->
</table>Mrunwalhttps://fedoraproject.org/w/index.php?title=Features/ExecutionParallelYum&diff=140017&oldid=prevMrunwal: Parallel Execution of Yum Process. and locking need to shifted at installation2009-12-03T13:02:47Z<p>Parallel Execution of Yum Process. and locking need to shifted at installation</p>
<p><b>New page</b></p><div>= Feature Name &lt;!-- The name of your feature --&gt; =<br />
Execution of Parallel yum. and locking should be shifted at the time of installing.<br />
<br />
== Summary ==<br />
&lt;!-- A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release. --&gt;<br />
Any person can execute multiple instances of yum. Right now this is happening but locking need to taken place only when installation taken place. and it need to have way to download the files.<br />
<br />
<br />
== Owner ==<br />
&lt;!--This should link to your home wiki page so we know who you are--&gt;<br />
* Name: Manish Runwal<br />
<br />
&lt;!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or technical issues need to be resolved--&gt;<br />
* email: m_runwal@yahoo.com<br />
<br />
== Current status ==<br />
* Targeted release: [[Releases/{{FedoraVersion||next}} | {{FedoraVersion|long|next}} ]] <br />
* Last updated: 3-Dec-2009<br />
* Percentage of completion: 0%<br />
<br />
&lt;!-- CHANGE THE &quot;FedoraVersion&quot; TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. --&gt;<br />
<br />
== Detailed Description ==<br />
Right now when any application is using yum then locking is taken place for using yum. But some time its non-sense(sorry using hard words) to have it locking. <br />
e.g. If I am downloading one application and parallelly I want to install another application where their is no common files. but still yum is locked so I can't even download the files.<br />
So I want to have locking need to shifted only at the time of installing any package.<br />
<br />
So you might have question. lets say if &quot;A&quot; is instance which is downloading one application with having common rpm with &quot;B&quot; instance have it. while downloading it will ask either A or B whom ever taken first downloading, &quot;Do you want to overwrite the downloading?&quot; then it will be user's concern of managing the things. if certain amount of time person have not responded then installation will not be taken place. and whole package installation will be skipped. <br />
<br />
Deadlock situation : If on A instance given permission to download then it will have to either locking of that perticular package for downloading for B instance. So on &quot;B&quot; they will given locking and same can't able to proceed installation of B package.<br />
<br />
Doing this we can fully optimize yum features. and we can download and install many files. and locking will be taken place only at the time of installation. <br />
<br />
<br />
== Benefit to Fedora ==<br />
Right now existing yum. let say it will take 50% amount of time to download particular package. and 10% time to check dependencies and 10% time for installation and 10% time for cleaning the older files. (Please note that percentages are assumptions). so actual so when one instances is installing the files. other yum instance will download the files. This will speed up installation process.<br />
<br />
<br />
== Scope ==<br />
I am not sure. But it will be affected with yum, kpackegekit. and add-remove programs.<br />
<br />
<br />
== How To Test ==<br />
Here we have different sets of test cases.<br />
<br />
* Normal Executation<br />
0. Start yum to install gedit<br />
1. At the same time yum to install juk/amarok. <br />
2. It will check for dependencies. now here we don't find any collision rpm. <br />
2. So yum will download gedit files. at the '''same''' time it will download juk/amarok files.<br />
3. Now it will installed gedit. for juk installation it will get lock as yum is doing installation.<br />
4. Installation lock will be free. and now juk will be installed.<br />
5. Now cleaning process of gedit taken place. and the same time cleaning process of juk will take place.<br />
<br />
I hope this will be easier to understand.<br />
<br />
* Complex Execution<br />
Let say any person is installing gedit and another instance any gnome-package<br />
0. yum will parallel download both files.<br />
1. let say one file which yum is downloading other instance of yum is also downloading the same file.<br />
2. So for first instance it will download the collision file. but for other instance he will given message on that terminal(I am expecting that we are doing this on terminal, once everything is properly same features will be used for gui), that &quot;do you want to overwrite package ?&quot; as existing package is downloading by other instance. if he said yes then first instance will not move for installation. while other will go for installation. if their is any deadlock situation then user will abort any instance by either breaking the process.(if its gui then hit cancel)<br />
3. Lets say for another instance user said cancel then still it will download other files. so first instance will have all the files downloaded. and second instance will not download collision file and other files will be downloaded.<br />
4. now first installation process will take place. and other instance will see the lock.<br />
5. Now first process is complete lock will be released and other instances of yum will install the package.<br />
6. Now cleaning of first package taken place without cleaning collision files.<br />
7. Now other process's cleaning take place and removing that collision files as well.<br />
8. And now yum's work is finished.<br />
<br />
Little bit complicated to understand but this will be really beneficial for all people.<br />
<br />
== User Experience ==<br />
They can download files of both packages on different terminal (might be different user who is accessing same machine).<br />
<br />
<br />
== Dependencies ==<br />
I am not the fedora developer but sure fedora programmer surely write something about this.<br />
<br />
== Contingency Plan ==<br />
Backup plan is that let yum to work as what its working now.<br />
<br />
== Documentation ==<br />
This will be same as what I have described in How to test.<br />
<br />
== Release Notes ==<br />
Not sure. But I am expecting on Fedora 13<br />
<br />
== Comments and Discussion ==<br />
* See [[Talk:Features/YourFeatureName]] &lt;!-- This adds a link to the &quot;discussion&quot; tab associated with your page. This provides the ability to have ongoing comments or conversation without bogging down the main feature page --&gt;<br />
<br />
<br />
[[Category:FeatureReadyForWrangler]]<br />
&lt;!-- When your feature page is completed and ready for review --&gt;<br />
&lt;!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler --&gt;<br />
&lt;!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete--&gt;<br />
&lt;!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process --&gt;</div>Mrunwal