Checklist
Mandatory Debugging Information
Optional Debugging Information
Related Issues and Possible Duplicates
Related Issues
Possible Duplicates
Environment & Settings
Celery version: 5.0.0
celery report Output:
[2021-11-03 08:16:01,856: ERROR/ForkPoolWorker-2] Error in:
1: INSERT { task: {"status": "PROGRESS", "result": {"progress": 1}, "traceback": null, "children": [], "date_done": null, "task_id": "a5320fd7-b2ed-4c03-bbb8-55d7a6ac4394"}, _key: "celery-task-meta-a5320fd7-b2ed-4c03-bbb8-5
5d7a6ac4394" } INTO celery.
->AQL: unique constraint violated - in index primary of type primary over '_key'; conflicting key: celery-task-meta-a5320fd7-b2ed-4c03-bbb8-55d7a6ac4394 (while executing). Errors: {'code': 409, 'error': True, 'errorMessage': "AQL: unique constraint violated - in in
dex primary of type primary over '_key'; conflicting key: celery-task-meta-a5320fd7-b2ed-4c03-bbb8-55d7a6ac4394 (while executing)", 'errorNum': 1210}
Steps to Reproduce
Required Dependencies
- Minimal Python Version: 3.8
- Minimal Celery Version: 5.0.0
- Minimal Kombu Version: 5.0.2
- 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:
```
amqp==5.0.6
attrs==19.3.0
Automat==0.8.0
beautifulsoup4==4.9.3
billiard==3.6.4.0
blinker==1.4
blis==0.7.4
boto3==1.17.61
botocore==1.20.61
bs4==0.0.1
cachetools==4.2.1
catalogue==1.0.0
celery==5.0.0
certifi==2020.12.5
chardet==4.0.0
click==7.1.2
click-didyoumean==0.0.3
click-plugins==1.1.1
click-repl==0.1.6
cloud-init==20.4
colorama==0.4.3
command-not-found==0.3
configobj==5.0.6
constantly==15.1.0
cryptography==2.8
cymem==2.0.5
cytoolz==0.11.0
dataclasses==0.6
DateTime==4.3
dbus-python==1.2.16
decorator==4.4.2
distro==1.4.0
distro-info===0.23ubuntu1
ec2-hibinit-agent==1.0.0
en-core-web-lg==2.3.1
en-core-web-md==2.3.1
en-core-web-sm==2.3.1
entrypoints==0.3
filelock==3.0.12
Flask==1.1.2
Flask-WTF==0.14.3
future==0.18.2
hibagent==1.0.1
httplib2==0.14.0
huggingface-hub==0.1.2
hyperlink==19.0.0
idna==2.10
importlib-metadata==4.0.1
incremental==16.10.1
itsdangerous==1.1.0
jellyfish==0.8.2
Jinja2==2.11.3
jmespath==0.10.0
joblib==1.0.1
jsonpatch==1.22
jsonpointer==2.0
jsonschema==3.2.0
keyring==18.0.1
kombu==5.0.2
language-selector==0.1
launchpadlib==1.10.13
lazr.restfulclient==0.14.2
lazr.uri==1.0.3
MarkupSafe==1.1.1
more-itertools==4.2.0
murmurhash==1.0.5
netifaces==0.10.4
networkx==2.5.1
nltk==3.6.2
numpy==1.20.2
oauthlib==3.1.0
packaging==20.9
pexpect==4.6.0
Pillow==8.4.0
plac==1.1.3
pprofile==2.0.5
preshed==3.0.5
prompt-toolkit==3.0.18
protobuf==3.15.8
psutil==5.8.0
pyArango==1.3.4
pyasn1==0.4.2
pyasn1-modules==0.2.1
pycurl==7.43.0.5
pyemd==0.5.1
PyGObject==3.36.0
PyHamcrest==1.9.0
PyJWT==1.7.1
pymacaroons==0.13.0
PyNaCl==1.3.0
pyOpenSSL==19.0.0
pyparsing==2.4.7
Pyphen==0.10.0
pyrsistent==0.15.5
pyserial==3.4
python-apt==2.0.0+ubuntu0.20.4.4
python-dateutil==2.8.1
python-debian===0.1.36ubuntu1
pytz==2021.1
PyYAML==5.3.1
redis==3.5.3
regex==2021.4.4
requests==2.25.1
requests-unixsocket==0.2.0
s3transfer==0.4.2
sacremoses==0.0.45
scikit-learn==0.24.1
scipy==1.6.3
SecretStorage==2.3.1
segtok==1.5.10
sentence-transformers==2.1.0
sentencepiece==0.1.95
service-identity==18.1.0
simplejson==3.16.0
six==1.15.0
sortedcontainers==2.3.0
sos==4.0
soupsieve==2.2.1
spacy==2.3.5
srsly==1.0.5
ssh-import-id==5.10
stanza==1.2
stem==1.8.0
systemd-python==234
tabulate==0.8.9
textacy==0.10.1
thinc==7.4.5
threadpoolctl==2.1.0
tokenizers==0.10.3
toolz==0.11.1
torch==1.8.1
torchvision==0.11.1
tqdm==4.60.0
transformers==4.12.3
Twisted==18.9.0
typing-extensions==3.7.4.3
ubuntu-advantage-tools==20.3
ufw==0.36
unattended-upgrades==0.1
urllib3==1.26.4
vine==5.0.0
wadllib==1.3.3
wasabi==0.8.2
wcwidth==0.2.5
Werkzeug==1.0.1
WTForms==2.3.3
yake==0.4.8
zipp==3.4.1
zope.interface==5.3.0
```
Other Dependencies
Details
None
Minimally Reproducible Test Case
Details
from celery import Celery
import time
celery_app = Celery('tasks', broker='...', backend='ARANGODB...')
@celery_app.task(name="my_task")
def my_task():
for i in range(10);
my_task.update_state(state="PROGRESS", meta={'progress': i})
time.sleep(2)
result = my_task.apply_async()
while not result.successful():
print(result.state)
time.sleep(2)
Expected Behavior
I create a task with update_state using ArangoDB backend. I think it should update the current state in the same document of ArangoDB and I should be able to retrieve the most recent update from the database.
Actual Behavior
I cannot receive the updated state and find this error for every update_state perform when update_state to ArangoDB backend.
It seems that the the first state update already take the _key and ArangoDB does not allow to write data with the same key. If the code use 'overwrite', it should solve the issue.
This is one of the error message I got.
[2021-11-03 08:16:01,856: ERROR/ForkPoolWorker-2] Error in:
1: INSERT { task: {"status": "PROGRESS", "result": {"progress": 1}, "traceback": null, "children": [], "date_done": null, "task_id": "a5320fd7-b2ed-4c03-bbb8-55d7a6ac4394"}, _key: "celery-task-meta-a5320fd7-b2ed-4c03-bbb8-5
5d7a6ac4394" } INTO celery.
->AQL: unique constraint violated - in index primary of type primary over '_key'; conflicting key: celery-task-meta-a5320fd7-b2ed-4c03-bbb8-55d7a6ac4394 (while executing). Errors: {'code': 409, 'error': True, 'errorMessage': "AQL: unique constraint violated - in in
dex primary of type primary over '_key'; conflicting key: celery-task-meta-a5320fd7-b2ed-4c03-bbb8-55d7a6ac4394 (while executing)", 'errorNum': 1210}
Checklist
masterbranch of Celery.contribution guide
on reporting bugs.
for similar or identical bug reports.
for existing proposed fixes.
to find out if the bug was already fixed in the master branch.
in this issue (If there are none, check this box anyway).
Mandatory Debugging Information
celery -A proj reportin the issue.(if you are not able to do this, then at least specify the Celery
version affected).
masterbranch of Celery.pip freezein the issue.to reproduce this bug.
Optional Debugging Information
and/or implementation.
result backend.
broker and/or result backend.
ETA/Countdown & rate limits disabled.
and/or upgrading Celery and its dependencies.
Related Issues and Possible Duplicates
Related Issues
Possible Duplicates
Environment & Settings
Celery version: 5.0.0
celery reportOutput:Steps to Reproduce
Required Dependencies
Python Packages
pip freezeOutput:``` amqp==5.0.6 attrs==19.3.0 Automat==0.8.0 beautifulsoup4==4.9.3 billiard==3.6.4.0 blinker==1.4 blis==0.7.4 boto3==1.17.61 botocore==1.20.61 bs4==0.0.1 cachetools==4.2.1 catalogue==1.0.0 celery==5.0.0 certifi==2020.12.5 chardet==4.0.0 click==7.1.2 click-didyoumean==0.0.3 click-plugins==1.1.1 click-repl==0.1.6 cloud-init==20.4 colorama==0.4.3 command-not-found==0.3 configobj==5.0.6 constantly==15.1.0 cryptography==2.8 cymem==2.0.5 cytoolz==0.11.0 dataclasses==0.6 DateTime==4.3 dbus-python==1.2.16 decorator==4.4.2 distro==1.4.0 distro-info===0.23ubuntu1 ec2-hibinit-agent==1.0.0 en-core-web-lg==2.3.1 en-core-web-md==2.3.1 en-core-web-sm==2.3.1 entrypoints==0.3 filelock==3.0.12 Flask==1.1.2 Flask-WTF==0.14.3 future==0.18.2 hibagent==1.0.1 httplib2==0.14.0 huggingface-hub==0.1.2 hyperlink==19.0.0 idna==2.10 importlib-metadata==4.0.1 incremental==16.10.1 itsdangerous==1.1.0 jellyfish==0.8.2 Jinja2==2.11.3 jmespath==0.10.0 joblib==1.0.1 jsonpatch==1.22 jsonpointer==2.0 jsonschema==3.2.0 keyring==18.0.1 kombu==5.0.2 language-selector==0.1 launchpadlib==1.10.13 lazr.restfulclient==0.14.2 lazr.uri==1.0.3 MarkupSafe==1.1.1 more-itertools==4.2.0 murmurhash==1.0.5 netifaces==0.10.4 networkx==2.5.1 nltk==3.6.2 numpy==1.20.2 oauthlib==3.1.0 packaging==20.9 pexpect==4.6.0 Pillow==8.4.0 plac==1.1.3 pprofile==2.0.5 preshed==3.0.5 prompt-toolkit==3.0.18 protobuf==3.15.8 psutil==5.8.0 pyArango==1.3.4 pyasn1==0.4.2 pyasn1-modules==0.2.1 pycurl==7.43.0.5 pyemd==0.5.1 PyGObject==3.36.0 PyHamcrest==1.9.0 PyJWT==1.7.1 pymacaroons==0.13.0 PyNaCl==1.3.0 pyOpenSSL==19.0.0 pyparsing==2.4.7 Pyphen==0.10.0 pyrsistent==0.15.5 pyserial==3.4 python-apt==2.0.0+ubuntu0.20.4.4 python-dateutil==2.8.1 python-debian===0.1.36ubuntu1 pytz==2021.1 PyYAML==5.3.1 redis==3.5.3 regex==2021.4.4 requests==2.25.1 requests-unixsocket==0.2.0 s3transfer==0.4.2 sacremoses==0.0.45 scikit-learn==0.24.1 scipy==1.6.3 SecretStorage==2.3.1 segtok==1.5.10 sentence-transformers==2.1.0 sentencepiece==0.1.95 service-identity==18.1.0 simplejson==3.16.0 six==1.15.0 sortedcontainers==2.3.0 sos==4.0 soupsieve==2.2.1 spacy==2.3.5 srsly==1.0.5 ssh-import-id==5.10 stanza==1.2 stem==1.8.0 systemd-python==234 tabulate==0.8.9 textacy==0.10.1 thinc==7.4.5 threadpoolctl==2.1.0 tokenizers==0.10.3 toolz==0.11.1 torch==1.8.1 torchvision==0.11.1 tqdm==4.60.0 transformers==4.12.3 Twisted==18.9.0 typing-extensions==3.7.4.3 ubuntu-advantage-tools==20.3 ufw==0.36 unattended-upgrades==0.1 urllib3==1.26.4 vine==5.0.0 wadllib==1.3.3 wasabi==0.8.2 wcwidth==0.2.5 Werkzeug==1.0.1 WTForms==2.3.3 yake==0.4.8 zipp==3.4.1 zope.interface==5.3.0 ```
Other Dependencies
Details
None
Minimally Reproducible Test Case
Details
Expected Behavior
I create a task with update_state using ArangoDB backend. I think it should update the current state in the same document of ArangoDB and I should be able to retrieve the most recent update from the database.
Actual Behavior
I cannot receive the updated state and find this error for every update_state perform when update_state to ArangoDB backend.
It seems that the the first state update already take the _key and ArangoDB does not allow to write data with the same key. If the code use 'overwrite', it should solve the issue.
This is one of the error message I got.