ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Ajax progress doesn't work and causes breaking upgrade from 1.7.0 to 2.1.3

May 16, 2011 4:44pm

Subscribe [3]
  • #1 / May 16, 2011 4:44pm

    Simon Balz

    34 posts

    Hi all,

    I have actually troubles migrating from EE 1.7.0 to EE 2.1.3 build 20110411.
    After starting the upgrade procedure, the browser sends a request with this path and query string:

    <snip>/access/index.php?C=wizard&M=do_update&agree=yes&progress=no&ajax_progress=yes&language=english

    The only message I get from EE is:

    Please Stand By…
    
    We are currently updating your ExpressionEngine installation.
    
    Do not close your browser until the update routine is finished.
    
    2.0.0

    Then nothing happens.  The browser is endlessly loading and no progress update is showing up. After a while (more than 5 minutes), I get a “Connection reset” error - I assume that a firewall is dropping the connection because there is absolutely no traffic. Unfortunately in this case, the upgrade procedure is broken. Normally I should see how many datasets already were migrated… but the message posted above never changes.

    Sometimes the AJAX progress upgrade does work and in this case, the upgrade does end fine. When I check the access logs, I can see my browser polling the ajax update URL.

    So my conclusion is, when Ajax progress update works, there is real HTTP traffic between my browser and the server and no connection gets dropped.

    First, I assumed an issue in my server configuration, but I tried serveral ways (PHP as a module in Apache, PHP with FastCGI in Apache, setting timeouts as high as possible and so on) but no way did work…

    I know my description sounds a bit weird and I’m sorry for it but I really don’t have a chance to describe it better.

    Anybody has an idea why the Ajax progress doesn’t work?

    Thanks
    Simon

    PS: The reason is why I have to run the upgrade several times is that we have a quite big database and like to test the migration from 1.7 to 2.1 as much as possible before the final migration.

    Update: After the upgrade procedure breaks, I can see a request in the access log of the webserver with HTTP status code 500.

  • #2 / May 17, 2011 3:00am

    John Henry Donovan

    12339 posts

    Hi Simon,

    Your server’s PHP max_execution_time may be set too low, forcing the upgrade script to end prematurely. Check with your host about increasing this value from the typical default of 30 seconds.

    If you’re using Firefox to perform the upgrade, try using Chrome or Safari instead. In some cases Firefox can re-send requests following a server error, effectively preventing the error from being seen.

  • #3 / May 17, 2011 5:54am

    Simon Balz

    34 posts

    Hi John

    Well, this is what I aleady tried. But nevertheless, I made an upgrade attempt once again with
    max_execution_time = 60000
    in php.ini and
    Timeout = 12000
    in httpd.conf (PHP loaded as module).

    This time I used Safari (before Chrome or Firefox) and the browser still doesn’t update the progress. This time I didn’t get a connection reset but the following error message of ExpressionEngine (and still HTTP error 500 in the access logs):

    A Database Error Occurred
    Error Number: 1050
    
    Table 'exp_snippets' already exists
    
    CREATE TABLE `exp_snippets` ( `snippet_id` int(10) unsigned NOT NULL auto_increment, `site_id` int(4) NOT NULL, `snippet_name` varchar(75) NOT NULL, `snippet_contents` text NULL, PRIMARY KEY (`snippet_id`), KEY `site_id` (`site_id`) )
    
    Filename: updates/ud_200.php
    
    Line Number: 1382

    I remembered reading a thread concerning the same error in this forum (http://ellislab.com/forums/viewthread/153577/P18/) and I checked all the proposed things: config.php and database.php are writeable, exp_snippets doesn’t exist before the upgrade, I am not using WAMP…

    Question: Is it maybe possible to run the upgrade procedure, especially the database migration, from a command line and not via a webserver?

  • #4 / May 17, 2011 6:57am

    Simon Balz

    34 posts

    Hey, it’s me again.

    There was a little mistake by me: While copying/backuping and so on I copied the wrong EE files so in fact, I tried an upgrade from EE 1.6.8 to EE 2.1 and not really from EE 1.7.0.
    So, new attempt to migrate, this time I made an update to EE 1.7.0 prior the migration to 2.1, and hey, the Ajax progress update is working this time. I also see a lot of polling HTTP requests in the access log and in the frontend, I see what’s going on. But again, after a while, when EE is migrating the tables (entries are already done), the wizard breaks with the same error message:

    {"error":"
    Error Number: 1050<\/p>\n\n
    
    Table 'exp_snippets' already exists<\/p>\n\n
    
    CREATE TABLE `exp_snippets` (\n `snippet_id` int(10) unsigned NOT NULL auto_increment,\n `site_id` int(4) NOT NULL,\n `snippet_name` varchar(75) NOT NULL,\n `snippet_contents` text NULL,\n PRIMARY KEY (`snippet_id`),\n KEY `site_id` (`site_id`)\n )<\/p>\n\n
    
    Filename: updates\/ud_200.php<\/p>\n\n
    
    Line Number: 1382<\/p>"}

    And still can see a HTTP 500 error message.

  • #5 / May 18, 2011 11:41am

    Sue Crocker

    26054 posts

    Hi, Simon. I’m sorry you’re having so many issues upgrading.

    A few things you may want to try:

    Do a partial upgrade to 1.7.1. I’d do it locally.

    Once you ascertain that your 1.7.1 upgrade works as expected, make a backup of that database.

    Then inside of your 1.7.1 db, prune out old posts, remove spam members, that sort of thing to get the database so that there is less to convert.

    *Then* locally try to upgrade.

    Does that work?

    You’d then have to copy the new 2.1.3 db back to your server.

    You’d also need to clean up your paths before and after..

    NOTE: This is meant to be a high level list of steps on working locally..

    Does that help?

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases