Back

Unable to open Appwrite after upgrading to 1.5.7

  • 0
  • Self Hosted
  • General
kathelia.dokgu
30 May, 2024, 01:12

I just finished upgrading my selfhosted instance of Appwrite from 1.5.6 to 1.5.7 and I didn't encounter any issues during the upgrade. However, once the upgrade was done (I also ran the migrations even though it wasn't required for this upgrade, it's just a habit for me to run the migrations with any upgrade), I am unable to visit my Appwrite instance.

All of the services defined in the docker compose file seem to be up and running. I haven't looked at their individual logs but I looked at the logs for both appwrite and openruntimes-executor which didn't show any issues. I tried to check for the difference between the working (1.5.6) .env file to that of the new one (1.5.7) and it seems like _APP_EXECUTOR_HOST=http://appwrite-executor/v1 got changed to http://exc1/v1. Does this look correct? This is the only difference that I noticed might be the issue but this could also be correct.

TL;DR
Developers upgraded Appwrite from 1.5.6 to 1.5.7, encountered an issue accessing the instance after the upgrade. Redis service seems fine. The error message "Fatal error: Uncaught RedisException: Connection refused" is shown for services named `appwrite-worker-*`. The potential solution is to change `_APP_EXECUTOR_HOST` in the `.env` file back to `http://appwrite-executor/v1`.
kathelia.dokgu
30 May, 2024, 01:18

From the looks of it, the services that are named appwrite-worker-* are all showing the same error:

TypeScript
Fatal error: Uncaught RedisException: Connection refused in /usr/src/code/vendor/utopia-php/queue/src/Queue/Connection/Redis.php:180

Stack trace:
#0 /usr/src/code/vendor/utopia-php/queue/src/Queue/Connection/Redis.php(180): Redis->connect('redis', 6379)
#1 /usr/src/code/vendor/utopia-php/queue/src/Queue/Connection/Redis.php(76): Utopia\Queue\Connection\Redis->getRedis()
#2 /usr/src/code/vendor/utopia-php/queue/src/Queue/Connection/Redis.php(65): Utopia\Queue\Connection\Redis->rightPop('utopia-queue.qu...', 5)
#3 /usr/src/code/vendor/utopia-php/queue/src/Queue/Server.php(199): Utopia\Queue\Connection\Redis->rightPopArray('utopia-queue.qu...', 5)
#4 [internal function]: Utopia\Queue\Server->Utopia\Queue\{closure}('0')
#5 /usr/src/code/vendor/utopia-php/queue/src/Queue/Adapter/Swoole.php(37): call_user_func(Object(Closure), '0')
#6 [internal function]: Utopia\Queue\Adapter\Swoole->Utopia\Queue\Adapter\{closure}(Object(Swoole\Process\Pool), '0')

}
  thrown in /usr/src/code/vendor/utopia-php/queue/src/Queue/Connection/Redis.php on line 180
[Worker] Worker 0 is ready!
Worker audits  started
kathelia.dokgu
30 May, 2024, 01:20

Redis seems to be just fine:

TypeScript
1:M 30 May 2024 00:59:19.219 * Background saving terminated with success
1:signal-handler (1717030886) Received SIGTERM scheduling shutdown...
1:M 30 May 2024 01:01:26.154 * User requested shutdown...
1:M 30 May 2024 01:01:26.154 * Saving the final RDB snapshot before exiting.
1:M 30 May 2024 01:01:26.166 * DB saved on disk
1:M 30 May 2024 01:01:26.166 # Redis is now ready to exit, bye bye...
1:C 30 May 2024 01:01:26.742 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
1:C 30 May 2024 01:01:26.742 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 30 May 2024 01:01:26.742 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 30 May 2024 01:01:26.742 * Configuration loaded
1:M 30 May 2024 01:01:26.743 * monotonic clock: POSIX clock_gettime
1:M 30 May 2024 01:01:26.744 * Running mode=standalone, port=6379.
1:M 30 May 2024 01:01:26.744 * Server initialized
1:M 30 May 2024 01:01:26.744 * Loading RDB produced by version 7.2.4
1:M 30 May 2024 01:01:26.744 * RDB age 0 seconds
1:M 30 May 2024 01:01:26.744 * RDB memory usage when created 3.30 Mb
1:M 30 May 2024 01:01:26.747 * Done loading RDB, keys loaded: 290, keys expired: 0.
1:M 30 May 2024 01:01:26.747 * DB loaded from disk: 0.003 seconds
1:M 30 May 2024 01:01:26.747 * Ready to accept connections tcp
kathelia.dokgu
30 May, 2024, 01:27

I changed the _APP_EXECUTOR_HOST value back to http://appwrite-executor/v1 and now my selfhosted instance is back online. Looking at the source code though, it seems like exc1 might also be correct: https://github.com/search?q=repo%3Aappwrite%2Fappwrite%20exc1&type=code

Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more