)]}'
{
  "commit": "1d67737c4a568399423c7d7245dbecf016c70354",
  "tree": "5e2217708ccfd1f5e2d714dfddc8d29feaaa3dcb",
  "parents": [
    "c8adf714f3fe1cda2bd60d13e6d5e3a83a9b5bb9"
  ],
  "author": {
    "name": "Nick Vatamaniuc",
    "email": "vatamane@gmail.com",
    "time": "Tue Jun 09 22:46:42 2026 -0400"
  },
  "committer": {
    "name": "Nick Vatamaniuc",
    "email": "vatamane@gmail.com",
    "time": "Tue Jun 09 22:59:13 2026 -0400"
  },
  "message": "Fix persistent 409s in _replicator with serialize_worker_startup\n\nReplicator state updates are written to the local shard copy only, and the rest\nof the copies catch up via internal replicator. Internal replicator pushes can\nbe kind of slow to start (it\u0027s a a hold-off wait, could have backups, etc) and\nwith `serialize_worker_startup\u003dtrue` with job owner nodes and primary update\nnodes diverging (60% chance) user would be stuck getting 409s after trying to\ndelete or update docs, even after they get bona-fide latest rev from the quorum\ndoc get.\n\nTo fix that update the doc states (they are small) eagerly. After we update the\nlocal shard copy, do an async update of all the copies right away. Use the same\ncalls and options as the internal replicator. There i still a small chance of a\n409s but a quick retry should let the user make progress. This should also help\nwith serialize_worker_startup\u003dfalse case as well to make the replicator state\nupdate a bit quicker.\n\nFix #6029\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8f134aaab8deb53596052863ecb73f69ab273152",
      "old_mode": 33188,
      "old_path": "src/couch_replicator/src/couch_replicator_docs.erl",
      "new_id": "794a5c2a89e2f5748154322bf7c71e17c6c8601a",
      "new_mode": 33188,
      "new_path": "src/couch_replicator/src/couch_replicator_docs.erl"
    }
  ]
}
