I was upgrading Phabricator using the update_phabricator.sh script and this happened:
Applying patch 'phabricator:20140323.harbor.2.message.sql'...
Applying patch 'phabricator:20140325.push.1.event.sql'...
Applying patch 'phabricator:20140325.push.2.eventphid.sql'...
Applying patch 'phabricator:20140325.push.3.groups.php'...
Adding transaction log event groups...
Done.
Applying patch 'phabricator:20140325.push.4.prune.sql'...
[2014-05-17 08:48:06] PHLOG: Retrying (2) after AphrontQueryConnectionException: Attempt to connect to root@rdsmachine.com failed with error #2003: Can't connect to MySQL server on 'rdsmachine.com' (111). at [/home/ubuntu/phabricator/libphutil/src/aphront/storage/connection/mysql/AphrontMySQLDatabaseConnectionBase.php:107]
[2014-05-17 08:48:06] PHLOG: Retrying (1) after AphrontQueryConnectionException: Attempt to connect to root@rdsmachine.com failed with error #2003: Can't connect to MySQL server on 'rdsmachine.com' (111). at [/home/ubuntu/phabricator/libphutil/src/aphront/storage/connection/mysql/AphrontMySQLDatabaseConnectionBase.php:107]
[2014-05-17 08:48:06] EXCEPTION: (AphrontQueryConnectionException) Attempt to connect to root@rdsmachine.com failed with error #2003: Can't connect to MySQL server on 'rdsmachine.com' (111). at [/home/ubuntu/phabricator/libphutil/src/aphront/storage/connection/mysql/AphrontMySQLiDatabaseConnection.php:67]
#0 AphrontMySQLiDatabaseConnection::connect() called at [/home/ubuntu/phabricator/libphutil/src/aphront/storage/connection/mysql/AphrontMySQLDatabaseConnectionBase.php:100]
#1 AphrontMySQLDatabaseConnectionBase::establishConnection() called at [/home/ubuntu/phabricator/libphutil/src/aphront/storage/connection/mysql/AphrontMySQLDatabaseConnectionBase.php:123]
#2 AphrontMySQLDatabaseConnectionBase::requireConnection() called at [/home/ubuntu/phabricator/libphutil/src/aphront/storage/connection/mysql/AphrontMySQLDatabaseConnectionBase.php:159]
#3 AphrontMySQLDatabaseConnectionBase::executeRawQuery(ALTER TABLE phabricator_repository.repository_pushlog
DROP remoteAddress) called at [/home/ubuntu/phabricator/libphutil/src/xsprintf/queryfx.php:9]
#4 queryfx(Object AphrontMySQLiDatabaseConnection, %Q, ALTER TABLE phabricator_repository.repository_pushlog
DROP remoteAddress) called at [/home/ubuntu/phabricator/phabricator/src/infrastructure/storage/management/PhabricatorStorageManagementAPI.php:190]
#5 PhabricatorStorageManagementAPI::applyPatchSQL(/home/ubuntu/phabricator/phabricator/resources/sql/autopatches/20140325.push.4.prune.sql) called at [/home/ubuntu/phabricator/phabricator/src/infrastructure/storage/management/PhabricatorStorageManagementAPI.php:168]
#6 PhabricatorStorageManagementAPI::applyPatch(Object PhabricatorStoragePatch) called at [/home/ubuntu/phabricator/phabricator/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementUpgradeWorkflow.php:168]
#7 PhabricatorStorageManagementUpgradeWorkflow::execute(Object PhutilArgumentParser) called at [/home/ubuntu/phabricator/libphutil/src/parser/argument/PhutilArgumentParser.php:396]
#8 PhutilArgumentParser::parseWorkflowsFull(Array of size 7 starting with: { PhabricatorStorageManagementDatabasesWorkflow => Object PhabricatorStorageManagementDatabasesWorkflow }) called at [/home/ubuntu/phabricator/libphutil/src/parser/argument/PhutilArgumentParser.php:292]
#9 PhutilArgumentParser::parseWorkflows(Array of size 7 starting with: { PhabricatorStorageManagementDatabasesWorkflow => Object PhabricatorStorageManagementDatabasesWorkflow }) called at [/home/ubuntu/phabricator/phabricator/scripts/sql/manage_storage.php:115]The server is EC2 and the database is an RDS MySQL instance. It may have been a transient connection error.
Running the update script again gives:
Applying patch 'phabricator:20140325.push.4.prune.sql'...
[2014-05-17 08:56:32] EXCEPTION: (AphrontQueryException) #1050: Table 'phabricator_repository/#sql-ib414' already exists at [/home/ubuntu/phabricator/libphutil/src/aphront/storage/connection/mysql/AphrontMySQLDatabaseConnectionBase.php:311]
#0 AphrontMySQLDatabaseConnectionBase::throwQueryCodeException(1050, Table 'phabricator_repository/#sql-ib414' already exists) called at [/home/ubuntu/phabricator/libphutil/src/aphront/storage/connection/mysql/AphrontMySQLDatabaseConnectionBase.php:278]
#1 AphrontMySQLDatabaseConnectionBase::throwQueryException(Object mysqli) called at [/home/ubuntu/phabricator/libphutil/src/aphront/storage/connection/mysql/AphrontMySQLDatabaseConnectionBase.php:184]
#2 AphrontMySQLDatabaseConnectionBase::executeRawQuery(ALTER TABLE phabricator_repository.repository_pushlog
DROP remoteAddress) called at [/home/ubuntu/phabricator/libphutil/src/xsprintf/queryfx.php:9]
#3 queryfx(Object AphrontMySQLiDatabaseConnection, %Q, ALTER TABLE phabricator_repository.repository_pushlog
DROP remoteAddress) called at [/home/ubuntu/phabricator/phabricator/src/infrastructure/storage/management/PhabricatorStorageManagementAPI.php:190]
#4 PhabricatorStorageManagementAPI::applyPatchSQL(/home/ubuntu/phabricator/phabricator/resources/sql/autopatches/20140325.push.4.prune.sql) called at [/home/ubuntu/phabricator/phabricator/src/infrastructure/storage/management/PhabricatorStorageManagementAPI.php:168]
#5 PhabricatorStorageManagementAPI::applyPatch(Object PhabricatorStoragePatch) called at [/home/ubuntu/phabricator/phabricator/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementUpgradeWorkflow.php:168]
#6 PhabricatorStorageManagementUpgradeWorkflow::execute(Object PhutilArgumentParser) called at [/home/ubuntu/phabricator/libphutil/src/parser/argument/PhutilArgumentParser.php:396]
#7 PhutilArgumentParser::parseWorkflowsFull(Array of size 7 starting with: { PhabricatorStorageManagementDatabasesWorkflow => Object PhabricatorStorageManagementDatabasesWorkflow }) called at [/home/ubuntu/phabricator/libphutil/src/parser/argument/PhutilArgumentParser.php:292]
#8 PhutilArgumentParser::parseWorkflows(Array of size 7 starting with: { PhabricatorStorageManagementDatabasesWorkflow => Object PhabricatorStorageManagementDatabasesWorkflow }) called at [/home/ubuntu/phabricator/phabricator/scripts/sql/manage_storage.php:115]How might I recover from this?