Issue 1:
Checklist

I have verified that the issue exists against the master branch of Celery.

This has already been asked to the discussion group first.

I have read the relevant section in the

contribution guide

on reporting bugs.

I have checked the issues list

for similar or identical bug reports.

I have checked the pull requests list

for existing proposed fixes.

I have checked the commit log

to find out if the bug was already fixed in the master branch.

I have included all related issues and possible duplicate issues

in this issue (If there are none, check this box anyway).

Mandatory Debugging Information

I have included the output of celery -A proj report in the issue.

(if you are not able to do this, then at least specify the Celery

version affected).

I have verified that the issue exists against the master branch of Celery.

I have included the contents of pip freeze in the issue.

I have included all the versions of all the external dependencies required

to reproduce this bug.

Optional Debugging Information

I have tried reproducing the issue on more than one Python version

and/or implementation.

I have tried reproducing the issue on more than one message broker and/or

result backend.

I have tried reproducing the issue on more than one version of the message

broker and/or result backend.

I have tried reproducing the issue on more than one operating system.

I have tried reproducing the issue on more than one workers pool.

I have tried reproducing the issue with autoscaling, retries,

ETA/Countdown & rate limits disabled.

I have tried reproducing the issue after downgrading

and/or upgrading Celery and its dependencies.

Related Issues and Possible Duplicates

Related Issues

None

Possible Duplicates

None

Environment & Settings

Celery version:

celery report Output:

Steps to Reproduce

~/celery $ docker build -f docker/Dockerfile .

Required Dependencies

Minimal Python Version: N/A or Unknown

Minimal Celery Version: N/A or Unknown

Minimal Kombu Version: N/A or Unknown

Minimal Broker Version: N/A or Unknown

Minimal Result Backend Version: N/A or Unknown

Minimal OS and/or Kernel Version: N/A or Unknown

Minimal Broker Client Version: N/A or Unknown

Minimal Result Backend Client Version: N/A or Unknown

Python Packages

pip freeze Output:

Not applicable

Other Dependencies

N/A

Minimally Reproducible Test Case

Expected Behavior

The docker image should build without error.

Actual Behavior

The image fails to build due to a dependency versioning issue with couchbase.

$ podman build -t celery -f docker/Dockerfile .
STEP 1: FROM ubuntu:focal
STEP 2: ENV PYTHONIOENCODING UTF-8
--> Using cache acaba7be84835036fb85e90b837986d94871823c68921aca8b9bc6858f7eede6
STEP 3: ARG DEBIAN_FRONTEND=noninteractive
--> Using cache f53b7bd5d6f45cd40239c7d083c268db8b62e826a8018a47c32d96c8e439952f
STEP 4: RUN apt-get update && apt-get install -y build-essential libcurl4-openssl-dev libffi-dev tk-dev xz-utils curl lsb-release git libmemcached-dev make liblzma-dev libreadline-dev libbz2-dev llvm libncurses5-dev libsqlite3-dev wget pypy python-openssl libncursesw5-dev zlib1g-dev pkg-config libssl-dev sudo
--> Using cache 3528dd3a7bde42f48e3f792b717ce95ad3bcc1d169b2d676abf20faaa2eaaacc
STEP 5: ENV PROVISIONING /provisioning
--> Using cache 5cd403e630187ed510ed7aa5c1a7279b2e169e77a35a17dacaf82a49bbc8ce7c
STEP 6: ARG CELERY_USER=developer
--> Using cache faa9faee390dded0bab0e78ebca4b9075b19f05a50bc055bb77f88efbd64682f
STEP 7: RUN : "${CELERY_USER:?CELERY_USER build argument needs to be set and non-empty.}"
--> Using cache 43389d0aac47abf3b16a5af3689c5371180a6b3950841c179a2569affffed4eb
STEP 8: ENV HOME /home/$CELERY_USER
--> Using cache ec0be7e288094b41313bd80d5ea9df3fbb44b99cd8a7299f5a4b21a4d7932b39
STEP 9: ENV PATH="$HOME/.pyenv/bin:$PATH"
--> Using cache e7239a2d2c12e00bfabaec790d0c1937690095b55c3473b80a13c3afbd9a0333
STEP 10: WORKDIR $PROVISIONING
--> Using cache f0f43f30b813e023ba7a9edb2fdef8761187b529deb69f4e131d207665a8016b
STEP 11: COPY docker/scripts/install-couchbase.sh .
--> Using cache 86faecc53eba42812d4ac16e7498707e855e93030de83e14230f5da13391ca4f
STEP 12: RUN sh install-couchbase.sh
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
--2020-07-14 01:15:18-- http://packages.couchbase.com/ubuntu/couchbase.key
Resolving packages.couchbase.com (packages.couchbase.com)... 143.204.83.79, 143.204.83.24, 143.204.83.78, ...
Connecting to packages.couchbase.com (packages.couchbase.com)|143.204.83.79|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4815 (4.7K) [application/pgp-keys]
Saving to: 'STDOUT'

- 100%[=============================================================>] 4.70K --.-KB/s in 0s

2020-07-14 01:15:19 (57.3 MB/s) - written to stdout [4815/4815]

OK
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
deb http://packages.couchbase.com/ubuntu bionic bionic/main
Get:1 http://packages.couchbase.com/ubuntu bionic InRelease [2992 B]
Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
Get:4 http://packages.couchbase.com/ubuntu bionic/bionic/main amd64 Packages [1419 B]
Hit:5 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:6 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Fetched 4411 B in 2s (2570 B/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.8ubuntu1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libcouchbase2-bin : Depends: libcouchbase2-libevent (= 2.10.6-1) but it is not going to be installed
Depends: libevent-core-2.1-6 (>= 2.1.8-stable) but it is not installable
E: Unable to correct problems, you have held broken packages.
Error: error building at STEP "RUN sh install-couchbase.sh": error while running runtime: exit status 100

The dockerfile was originally changed to be based on focal in 8246f3a, but it's likely that a more recent change in the Couchbase bionic package repo or the Ubuntu focal repos is what causes the breakage. Changing the docker image to be based on bionic again allows the image to build again.

Issue 2:
The Task.retry function sets a default "countdown" option even if "eta" is set, and passes on these options to Task.apply_async. Apply_async ignores "eta" if "countdown" is set. Hence, "retry" always ends up ignoring "eta". Bug exists in both 2.1 & 2.2