# \[409 Conflict\] Problem with Gramps Web Sync Addon

**URL:** <https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274>\
**Category:** Gramps Web\
**Tags:** sync\_tool\
**Created:** [March 18, 2025, 5:25pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274 "2025-03-18T17:25:55Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Paderborna](https://avatars.discourse-cdn.com/v4/letter/p/51bf81/32.png) [@Paderborna](https://gramps.discourse.group/u/Paderborna)\
**Post date:** [March 18, 2025, 5:25pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/1 "2025-03-18T17:25:55Z")

</div>

Hello,

I have some sync problems since a few weeks and I don’t get the cause. Maybe someone knows what I have to do. I think that the error is on the remote side (GrampsWeb on a private server). How can I debug the origin of the error?

Local:  
GRAMPS: 5.2.3  
Python: 3.12.3  
BSDDB: 6.2.9 (5, 3, 28)  
sqlite: 3.45.1 (2.6.0)  
LANG: de\_DE.UTF-8

GrampsWeb:  
Gramps 5.2.4  
Gramps Web API 2.8.2  
Gramps Web Frontend 25.3.1  
Gramps QL 0.3.0  
Sifts 1.0.0  
locale: de  
multi-tree: false  
task queue: true  
OCR: true  
chat: false

Local:  
gramps --debug grampswebsync  
Fehlersuche einrichten grampswebsync  
2025-03-18 18:09:01.409: DEBUG: grampswebsync.py: line 103: Initializing Gramps Web Sync addon.  
2025-03-18 18:09:02.827: DEBUG: grampswebsync.py: line 79: Retrieving password for user bjoern  
2025-03-18 18:09:02.828: WARNING: grampswebsync.py: line 83: Keyring is not installed, cannot retrieve password.  
2025-03-18 18:09:04.880: DEBUG: grampswebsync.py: line 222: Moving to next page from page 0.  
2025-03-18 18:09:04.883: DEBUG: grampswebsync.py: line 222: Moving to next page from page 1.  
2025-03-18 18:09:09.047: DEBUG: grampswebsync.py: line 222: Moving to next page from page 1.  
2025-03-18 18:09:09.885: DEBUG: grampswebsync.py: line 222: Moving to next page from page 1.  
2025-03-18 18:09:09.886: DEBUG: webapihandler.py: line 162: Fetching an access token from the server  
2025-03-18 18:09:10.008: DEBUG: webapihandler.py: line 162: Fetching an access token from the server  
2025-03-18 18:09:10.374: DEBUG: grampswebsync.py: line 222: Moving to next page from page 2.  
2025-03-18 18:09:10.380: INFO: grampswebsync.py: line 444: Downloading Gramps XML file.  
2025-03-18 18:09:11.076: DEBUG: grampswebsync.py: line 448: Importing Gramps XML file.  
100%2025-03-18 18:09:12.152: DEBUG: grampswebsync.py: line 454: Successfully imported Gramps XML file.  
2025-03-18 18:09:12.159: INFO: grampswebsync.py: line 458: Comparing local and remote data…  
2025-03-18 18:09:12.877: DEBUG: grampswebsync.py: line 222: Moving to next page from page 2.  
2025-03-18 18:09:12.878: DEBUG: grampswebsync.py: line 222: Moving to next page from page 2.  
2025-03-18 18:09:26.454: DEBUG: grampswebsync.py: line 222: Moving to next page from page 3.  
2025-03-18 18:09:26.454: DEBUG: grampswebsync.py: line 222: Moving to next page from page 4.  
2025-03-18 18:09:26.455: INFO: grampswebsync.py: line 562: Committing all changes to the databases.  
2025-03-18 18:09:26.455: DEBUG: grampswebsync.py: line 567: Committing changes to local database.  
2025-03-18 18:09:27.196: DEBUG: webapihandler.py: line 152: Fetching metadata from the server  
2025-03-18 18:09:35.569: DEBUG: grampswebsync.py: line 222: Moving to next page from page 4.  
2025-03-18 18:09:35.617: DEBUG: grampswebsync.py: line 589: Committing changes to remote database.  
2025-03-18 18:09:49.057: ERROR: webapihandler.py: line 273: Server task failed: {‘info’: ‘??? Unknown Error: None’, ‘result’: ‘??? Unknown Error: None’, ‘result\_object’: ‘??? Unknown Error: None’, ‘state’: ‘FAILURE’}

Remote:  
grampsweb\_celery | [2025-03-18 17:01:48,000: INFO/MainProcess] Task gramps\_webapi.api.tasks.process\_transactions[1dcc83dd-e83e-404f-aa62-76c3aed824a5] received  
grampsweb\_celery | [2025-03-18 17:02:11,246: ERROR/ForkPoolWorker-1] Task gramps\_webapi.api.tasks.process\_transactions[1dcc83dd-e83e-404f-aa62-76c3aed824a5] raised unexpected: \<HTTPException ‘409: Conflict’\>  
grampsweb\_celery | Traceback (most recent call last):  
grampsweb\_celery | File “/usr/local/lib/python3.11/dist-packages/celery/app/trace.py”, line 453, in trace\_task  
grampsweb\_celery | R = retval = fun(\*args, \*\*kwargs)  
grampsweb\_celery | ^^^^^^^^^^^^^^^^^^^^  
grampsweb\_celery | File “/usr/local/lib/python3.11/dist-packages/gramps\_webapi/util/celery.py”, line 20, in **call**  
grampsweb\_celery | return self.run(\*args, \*\*kwargs)  
grampsweb\_celery | ^^^^^^^^^^^^^^^^^^^^^^^^^  
grampsweb\_celery | File “/usr/local/lib/python3.11/dist-packages/gramps\_webapi/api/tasks.py”, line 454, in process\_transactions  
grampsweb\_celery | abort\_with\_message(409, “Object has changed”)  
grampsweb\_celery | File “/usr/local/lib/python3.11/dist-packages/gramps\_webapi/api/util.py”, line 716, in abort\_with\_message  
grampsweb\_celery | raise exc  
grampsweb\_celery | werkzeug.exceptions.HTTPException: 409 Conflict: Object has changed  
grampsweb\_celery | [2025-03-18 17:09:37,125: INFO/MainProcess] Task gramps\_webapi.api.tasks.process\_transactions[1719df97-095e-4d47-a40b-ec97a249d4e8] received  
grampsweb\_celery | [2025-03-18 17:09:48,390: ERROR/ForkPoolWorker-1] Task gramps\_webapi.api.tasks.process\_transactions[1719df97-095e-4d47-a40b-ec97a249d4e8] raised unexpected: \<HTTPException ‘409: Conflict’\>  
grampsweb\_celery | Traceback (most recent call last):  
grampsweb\_celery | File “/usr/local/lib/python3.11/dist-packages/celery/app/trace.py”, line 453, in trace\_task  
grampsweb\_celery | R = retval = fun(\*args, \*\*kwargs)  
grampsweb\_celery | ^^^^^^^^^^^^^^^^^^^^  
grampsweb\_celery | File “/usr/local/lib/python3.11/dist-packages/gramps\_webapi/util/celery.py”, line 20, in **call**  
grampsweb\_celery | return self.run(\*args, \*\*kwargs)  
grampsweb\_celery | ^^^^^^^^^^^^^^^^^^^^^^^^^  
grampsweb\_celery | File “/usr/local/lib/python3.11/dist-packages/gramps\_webapi/api/tasks.py”, line 454, in process\_transactions  
grampsweb\_celery | abort\_with\_message(409, “Object has changed”)  
grampsweb\_celery | File “/usr/local/lib/python3.11/dist-packages/gramps\_webapi/api/util.py”, line 716, in abort\_with\_message  
grampsweb\_celery | raise exc  
grampsweb\_celery | werkzeug.exceptions.HTTPException: 409 Conflict: Object has changed

---

<div class="post-metadata">

**Author:** ![csam](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/csam/32/5361_2.png) [@csam](https://gramps.discourse.group/u/csam)\
**Post date:** [March 18, 2025, 7:14pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/2 "2025-03-18T19:14:29Z")

</div>

Not sure whether a problem I had with Web Sync is related to your case, but I experienced strange remote updates.  
I couldn’t find the reason, but after running rebuild indexes as well as secondary indexes the Web Sync suddenly worked. Further I also ran ‘docker compose pull’ to update all containers (run with --dry-run first to see what will be updated).  
After all this my problems with Web Sync disappeared - unfortunately I cannot pin point exactly what solved the problem.

---

<div class="post-metadata">

**Author:** ![DavidMStraub](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davidmstraub/32/7_2.png) [@DavidMStraub](https://gramps.discourse.group/u/DavidMStraub)\
**Post date:** [March 18, 2025, 7:41pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/3 "2025-03-18T19:41:50Z")

</div>

409 Conflict means that either the object actually changed (somebody edited while you were syncing) or it is a false positive that can be caused by database inconsistencies, which a check & repair might able to fix. This would be the first thing to try.

---

<div class="post-metadata">

**Author:** ![Paderborna](https://avatars.discourse-cdn.com/v4/letter/p/51bf81/32.png) [@Paderborna](https://gramps.discourse.group/u/Paderborna)\
**Post date:** [March 18, 2025, 8:52pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/4 "2025-03-18T20:52:12Z")

</div>

Check and repair was of course the first thing I tried, on both sides. Unfortunately, this was unsuccessful.

Something can also be moved into the media folder from other places. Could this be the cause?

---

<div class="post-metadata">

**Author:** ![DavidMStraub](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davidmstraub/32/7_2.png) [@DavidMStraub](https://gramps.discourse.group/u/DavidMStraub)\
**Post date:** [March 18, 2025, 9:21pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/5 "2025-03-18T21:21:34Z")

</div>

No, this cannot be the cause.

If your local side is up to date, you can choose “reset remote to local” - in this case the 409 conflicts are ignored.

---

<div class="post-metadata">

**Author:** ![Paderborna](https://avatars.discourse-cdn.com/v4/letter/p/51bf81/32.png) [@Paderborna](https://gramps.discourse.group/u/Paderborna)\
**Post date:** [March 18, 2025, 10:01pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/6 "2025-03-18T22:01:01Z")

</div>

I think I have an idea how I can fix the data. Therefore, I need to roll back on grampsweb. Is it possible to go back to a revision?

---

<div class="post-metadata">

**Author:** ![DavidMStraub](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davidmstraub/32/7_2.png) [@DavidMStraub](https://gramps.discourse.group/u/DavidMStraub)\
**Post date:** [March 18, 2025, 10:13pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/7 "2025-03-18T22:13:00Z")

</div>

Not right now unfortunately.

---

<div class="post-metadata">

**Author:** ![Paderborna](https://avatars.discourse-cdn.com/v4/letter/p/51bf81/32.png) [@Paderborna](https://gramps.discourse.group/u/Paderborna)\
**Post date:** [March 22, 2025, 6:19pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/8 "2025-03-22T18:19:12Z")

</div>

Does not right mean, that there will be an option in close future?

---

<div class="post-metadata">

**Author:** ![DavidMStraub](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davidmstraub/32/7_2.png) [@DavidMStraub](https://gramps.discourse.group/u/DavidMStraub)\
**Post date:** [March 22, 2025, 6:37pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/9 "2025-03-22T18:37:34Z")

</div>

You should not rely on specific dates for features. There is a [roadmap](https://github.com/orgs/gramps-project/projects/1/views/1) which includes issue #511.

---

<div class="post-metadata">

**Author:** ![Paderborna](https://avatars.discourse-cdn.com/v4/letter/p/51bf81/32.png) [@Paderborna](https://gramps.discourse.group/u/Paderborna)\
**Post date:** [March 22, 2025, 7:02pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/10 "2025-03-22T19:02:52Z")

</div>

I haven’t found #511 yet because I only searched in the gramps-web repo. Thanks for pointing me to the issue.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/gramps/original/1X/2ac1e712b7adf612e31ca08a55419f4cf37c0158.png) [@system](https://gramps.discourse.group/u/system)\
**Post date:** [April 21, 2025, 7:03pm UTC](https://gramps.discourse.group/t/409-conflict-problem-with-gramps-web-sync-addon/7274/11 "2025-04-21T19:03:06Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
