ddev / ddev-redis

Redis service for DDEV
Apache License 2.0
23 stars 8 forks source link

Use redis:6-bullseye to support old systems, update GitHub test workflow #17

Closed stasadev closed 1 year ago

stasadev commented 1 year ago

The Issue

Per support ticket in https://discord.com/channels/664580571770388500/1134183410773008554 this addon fails to start with Docker 20.10.7 (released on 2021-06-02) on Ubuntu 20.04.

The actual error is:

1:M 26 Jul 2023 23:50:34.371 # Fatal: Can't initialize Background Jobs.
Full `ddev logs -s redis` ``` 1:C 26 Jul 2023 23:50:34.369 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 1:C 26 Jul 2023 23:50:34.369 # Redis version=6.2.13, bits=64, commit=00000000, modified=0, pid=1, just started 1:C 26 Jul 2023 23:50:34.369 # Configuration loaded 1:M 26 Jul 2023 23:50:34.370 * monotonic clock: POSIX clock_gettime 1:M 26 Jul 2023 23:50:34.371 * Running mode=standalone, port=6379. 1:M 26 Jul 2023 23:50:34.371 # Server initialized 1:M 26 Jul 2023 23:50:34.371 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can 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:M 26 Jul 2023 23:50:34.371 # Fatal: Can't initialize Background Jobs. ```

This issue is caused by the migration from Debian bullseye to bookworm base for the redis image.

How This PR Solves The Issue

This PR replaces redis:6 with redis:6-bullseye. We can support a wider range of systems that pull this add-on using the redis:*-bullseye tag.

This is NOT a long term solution, as the bullseye tags may not have updates in the future.

Manual Testing Instructions

Automated Testing Overview

GitHub actions use the updated images, so this issue was not detected here.

Related Issue Link(s)

stasadev commented 1 year ago

From this comment:

switch to the *bullseye images (in the redis images, these are now unmaintained/unchanging)

As a result, Redis will not receive updates, this is a minus, but there is a plus, because it will not suddenly break in the future.

So at least for now this change will make this add-on stable.


People who need a different Redis image can:

  1. change the tag in .ddev/docker-compose.redis.yaml
  2. remove #ddev-generated from it to gain control of the file.
stasadev commented 1 year ago

Alternatively, I can add a note about redis:*-bullseye to README.md, leaving the tag as it is.

I still haven't decided which is better.