<div dir="ltr"><div class="gmail_extra">My main worry or first check I wanted to put to rest was that it was an actual issue. Given that everything is sane, I think warning users that upgrades will scale with the amount of content and giving them some rough estimates based on other users data is the best option. That way they can at least prepare themselves with knowledge for planning their upgrade outages.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks for looking into this so quickly,</div><div class="gmail_extra">Eric</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 1, 2016 at 11:50 AM, Brian Bouterse <span dir="ltr"><<a href="mailto:bbouters@redhat.com" target="_blank">bbouters@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">With 2.8 specifically there is a *lot* of work done by the migrations and the runtime should scale with the content size. In other words I don't think it's doing useless work, there is just a lot of it.<br>
<br>
I just did a quick audit of the two major offending migrations and they are implemented sanely so I don't think there is a quick fix to improve the runtime.<br>
<br>
I believe to get a shorter runtime we would have to parallelize the migrations.<br>
<br>
Regarding things going wrong, we do assume that migrations should be re-entrant meaning that if for some reason something strange occurs it should always be safe to run pulp-manage-db and it will pick up where it left off. Just a behavioral FYI.<br>
<br>
These migration with 2.8 should not be norm, so I don't expect this to be very common in the future until maybe a major release (3.0).<br>
<br>
Given all ^, what do you think we should do?<br>
<br>
-Brian<span class=""><br>
<br>
On 07/01/2016 11:23 AM, Eric Helms wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
I think there are a couple of considerations.<br>
<br>
 1) The first issue is that a 6-18 hour upgrade window is not something<br>
users expect and we've not been warning them of such so they can plan an<br>
outage accordingly. Lengthy upgrades also have that tendency to make<br>
users feel something is wrong or increase the risk that something can go<br>
wrong in between.<br>
 2) The fundamental question of - is this a bug or does this make<br>
perfect sense and how it has to work?<br>
 3) Applying the upgrade on an existing 2.6 if it changed nothing of the<br>
environment could work, the tough part is having to distribute that<br>
backwards. Pulp would have to distribute it back to 2.6, and Katello<br>
would have to push out patches to our 2.4 release channel.<br>
<br>
Eric<br>
<br>
On Fri, Jul 1, 2016 at 11:14 AM, Brian Bouterse <<a href="mailto:bbouters@redhat.com" target="_blank">bbouters@redhat.com</a><br></span><span class="">
<mailto:<a href="mailto:bbouters@redhat.com" target="_blank">bbouters@redhat.com</a>>> wrote:<br>
<br>
    I'm trying to understand if the pain point is related to downtime or<br>
    total runtime.<br>
<br>
    For instance, what if these migration could be run as a<br>
    pre-migration step, ahead of time while Pulp was still online? The<br>
    upgrade would still take just as long but you could use your (in<br>
    this case) 2.6 install normally while the migrations are applying.<br>
    Once they are done then the actual upgrade of the codebase could be<br>
    very short.<br>
<br>
    -Brian<br>
<br>
    On 07/01/2016 09:20 AM, Eric Helms wrote:<br>
<br>
<br>
<br>
        On Fri, Jul 1, 2016 at 8:52 AM, Ashby, Jason (IMS)<br>
        <<a href="mailto:AshbyJ@imsweb.com" target="_blank">AshbyJ@imsweb.com</a> <mailto:<a href="mailto:AshbyJ@imsweb.com" target="_blank">AshbyJ@imsweb.com</a>><br></span><span class="">
        <mailto:<a href="mailto:AshbyJ@imsweb.com" target="_blank">AshbyJ@imsweb.com</a> <mailto:<a href="mailto:AshbyJ@imsweb.com" target="_blank">AshbyJ@imsweb.com</a>>>> wrote:<br>
<br>
            FWIW I just upgraded from 2.7 -> 2.8 and it was approx. 1-2 hr<br>
            upgrade to get through the migrations in pulp-manage-db.____<br>
<br>
            __ __<br>
<br>
            290 GB /var/lib/pulp____<br>
<br>
            16 GB MongoDB____<br>
<br>
            __ __<br>
<br>
            *From:*<a href="mailto:pulp-list-bounces@redhat.com" target="_blank">pulp-list-bounces@redhat.com</a><br>
        <mailto:<a href="mailto:pulp-list-bounces@redhat.com" target="_blank">pulp-list-bounces@redhat.com</a>><br>
            <mailto:<a href="mailto:pulp-list-bounces@redhat.com" target="_blank">pulp-list-bounces@redhat.com</a><br>
        <mailto:<a href="mailto:pulp-list-bounces@redhat.com" target="_blank">pulp-list-bounces@redhat.com</a>>><br></span>
            [mailto:<a href="mailto:pulp-list-bounces@redhat.com" target="_blank">pulp-list-bounces@redhat.com</a><span class=""><br>
        <mailto:<a href="mailto:pulp-list-bounces@redhat.com" target="_blank">pulp-list-bounces@redhat.com</a>><br>
            <mailto:<a href="mailto:pulp-list-bounces@redhat.com" target="_blank">pulp-list-bounces@redhat.com</a><br>
        <mailto:<a href="mailto:pulp-list-bounces@redhat.com" target="_blank">pulp-list-bounces@redhat.com</a>>>] *On Behalf Of *Michael<br>
        Hrivnak<br>
            *Sent:* Friday, July 01, 2016 8:31 AM<br>
            *To:* Eric Helms <<a href="mailto:ehelms@redhat.com" target="_blank">ehelms@redhat.com</a><br></span>
        <mailto:<a href="mailto:ehelms@redhat.com" target="_blank">ehelms@redhat.com</a>> <mailto:<a href="mailto:ehelms@redhat.com" target="_blank">ehelms@redhat.com</a><span class=""><br>
        <mailto:<a href="mailto:ehelms@redhat.com" target="_blank">ehelms@redhat.com</a>>>><br>
            *Cc:* pulp-list <<a href="mailto:pulp-list@redhat.com" target="_blank">pulp-list@redhat.com</a><br></span>
        <mailto:<a href="mailto:pulp-list@redhat.com" target="_blank">pulp-list@redhat.com</a>> <mailto:<a href="mailto:pulp-list@redhat.com" target="_blank">pulp-list@redhat.com</a><span class=""><br>
        <mailto:<a href="mailto:pulp-list@redhat.com" target="_blank">pulp-list@redhat.com</a>>>><br>
            *Subject:* Re: [Pulp-list] Long upgrade times from 2.6 -><br>
        2.8____<br>
<br>
            __ __<br>
<br>
            Did you get any feedback on whether one particular migration<br>
        seemed<br>
            to be running for a lot of that time?<br>
<br>
<br>
        For the 1.5TB/100GB MongoDB scenario here is what I am able to glean<br>
        from user logs (which I can share privately with anyone debugging):<br>
<br>
        ~5 hours: Applying pulp_puppet.plugins.migrations version 4<br>
        ~10 hours: Applying pulp_rpm.plugins.migrations version 28<br>
<br>
        Use reports "lots of stating, unlinking, and linking of all the<br>
        symlinks<br>
        in /var/lib/pulb" if that helps.<br>
<br>
        Another user reports ~6 hours on 176G of data.<br>
<br>
        Eric<br>
<br>
<br>
            ____<br>
<br>
            __ __<br>
<br>
            Michael____<br>
<br>
            __ __<br>
<br>
            On Fri, Jul 1, 2016 at 7:23 AM, Eric Helms<br>
        <<a href="mailto:ehelms@redhat.com" target="_blank">ehelms@redhat.com</a> <mailto:<a href="mailto:ehelms@redhat.com" target="_blank">ehelms@redhat.com</a>><br></span>
            <mailto:<a href="mailto:ehelms@redhat.com" target="_blank">ehelms@redhat.com</a> <mailto:<a href="mailto:ehelms@redhat.com" target="_blank">ehelms@redhat.com</a>>>><span class=""><br>
        wrote:____<br>
<br>
                Howdy,____<br>
<br>
                __ __<br>
<br>
                We (Katello) have had users reporting incredibly long<br>
        upgrade<br>
                times when upgrading from 2.6 to 2.8. This occurs during the<br>
                pulp-manage-db step that is run as the beginning of our<br>
                installers upgrade process. Based on the numbers below, does<br>
                this make sense at all?____<br>
<br>
                __ __<br>
<br>
                Some numbers:____<br>
<br>
                __ __<br>
<br>
                18 hour upgrade____<br>
<br>
                1.5 TB /var/lib/pulp____<br>
<br>
                100GB MongoDB____<br>
<br>
                __ __<br>
<br>
                __ __<br>
<br>
                Thanks,____<br>
<br>
                Eric____<br>
<br>
<br>
                _______________________________________________<br>
                Pulp-list mailing list<br>
                <a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a> <mailto:<a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a>><br></span>
        <mailto:<a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a> <mailto:<a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a>>><span class=""><br>
                <a href="https://www.redhat.com/mailman/listinfo/pulp-list____" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-list____</a><br>
<br>
            __ __<br>
<br>
<br>
<br>
        ------------------------------------------------------------------------<br>
<br>
            Information in this e-mail may be confidential. It is<br>
        intended only<br>
            for the addressee(s) identified above. If you are not the<br>
            addressee(s), or an employee or agent of the addressee(s),<br>
        please<br>
            note that any dissemination, distribution, or copying of this<br>
            communication is strictly prohibited. If you have received this<br>
            e-mail in error, please notify the sender of the error.<br>
<br>
<br>
<br>
<br>
        _______________________________________________<br>
        Pulp-list mailing list<br></span>
        <a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a> <mailto:<a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a>><span class=""><br>
        <a href="https://www.redhat.com/mailman/listinfo/pulp-list" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-list</a><br>
<br>
<br>
    _______________________________________________<br>
    Pulp-list mailing list<br></span>
    <a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a> <mailto:<a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a>><br>
    <a href="https://www.redhat.com/mailman/listinfo/pulp-list" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-list</a><br>
<br>
<br>
</blockquote>
</blockquote></div><br></div></div>