[2025-07-09 13:55:07,813] Pull replication REST API apply object to https://gerrit2.example.com COMPLETED for load-test:refs/changes/42/1194742/meta - [{commitObject=9751911cd865c1982b8ea39133a76da49f8d0f22 (COMMIT) treeObject=4b825dc642cb6eb9a060e54bf8d69288fbee4904 (TREE) }], HTTP Result: FAILED, status=503 'You are trying an operation which is not allowed in this readonly instance, please use evogit-push or contact git-s...@example.com
' - time:97.15252 ms
[2025-07-09 13:55:07,813] Pull replication REST API fetch to https://gerrit2.example.com for load-test:refs/changes/42/1194742/meta
On 9 Jul 2025, at 22:18, Liem Do <lie...@gmail.com> wrote:Is pull-replication supported with the readonly plugin and multi-site? I see the following errors when a commit is done and replication is attempted to a secondary node which has readonly plugin enabled. If pull-replcation and readonly plugins don't work together, what are the ways you can make a node in a multi-site cluster as a passive ready-only node and still have pull-replication working on it.
[2025-07-09 13:55:07,813] Pull replication REST API apply object to https://gerrit2.example.com COMPLETED for load-test:refs/changes/42/1194742/meta - [{commitObject=9751911cd865c1982b8ea39133a76da49f8d0f22 (COMMIT) treeObject=4b825dc642cb6eb9a060e54bf8d69288fbee4904 (TREE) }], HTTP Result: FAILED, status=503 'You are trying an operation which is not allowed in this readonly instance, please use evogit-push or contact git-s...@example.com' - time:97.15252 ms[2025-07-09 13:55:07,813] Pull replication REST API fetch to https://gerrit2.example.com for load-test:refs/changes/42/1194742/meta
Another question I have with pull-replication is that if you have a cluster of 3 Gerrit Nodes with multi-site enabled and pull-replication. Do I have the pull-replication remotes configured for the other 3 nodes on each of the nodes? So for example, would I have the following?GerritNode1:GERRIT_SITE/etc/replication/node2.configGERRIT_SITE/etc/replication/node3.configGerritNode2:GERRIT_SITE/etc/replication/node1.configGERRIT_SITE/etc/replication/node3.configGerritNode3:GERRIT_SITE/etc/replication/node1.configGERRIT_SITE/etc/replication/node2.config
On 9 Jul 2025, at 22:18, Liem Do <lie...@gmail.com> wrote:Is pull-replication supported with the readonly plugin and multi-site? I see the following errors when a commit is done and replication is attempted to a secondary node which has readonly plugin enabled. If pull-replcation and readonly plugins don't work together, what are the ways you can make a node in a multi-site cluster as a passive ready-only node and still have pull-replication working on it.Well, the reason why I developed the read-only script (then turned into a plugin) was to make a node readonly for backups or concurrent GCs.If the node would still accept replication, then it won’t be read-only after all and backups could be inconsistent or GCs could risk to remove BLOBs or revert refs.
What would be your use-case of having the read-only node? If you are just looking to have the node servicing the Git protocol read-only, why not enabling the replica mode in gerrit.config instead?
[2025-07-09 13:55:07,813] Pull replication REST API apply object to https://gerrit2.example.com COMPLETED for load-test:refs/changes/42/1194742/meta - [{commitObject=9751911cd865c1982b8ea39133a76da49f8d0f22 (COMMIT) treeObject=4b825dc642cb6eb9a060e54bf8d69288fbee4904 (TREE) }], HTTP Result: FAILED, status=503 'You are trying an operation which is not allowed in this readonly instance, please use evogit-push or contact git-s...@example.com' - time:97.15252 ms[2025-07-09 13:55:07,813] Pull replication REST API fetch to https://gerrit2.example.com for load-test:refs/changes/42/1194742/metaThat’s expected.
Another question I have with pull-replication is that if you have a cluster of 3 Gerrit Nodes with multi-site enabled and pull-replication. Do I have the pull-replication remotes configured for the other 3 nodes on each of the nodes? So for example, would I have the following?GerritNode1:GERRIT_SITE/etc/replication/node2.configGERRIT_SITE/etc/replication/node3.configGerritNode2:GERRIT_SITE/etc/replication/node1.configGERRIT_SITE/etc/replication/node3.configGerritNode3:GERRIT_SITE/etc/replication/node1.configGERRIT_SITE/etc/replication/node2.configYes, that’s correct.
HTHLuca.
On 10 Jul 2025, at 00:17, Liem Do <lie...@gmail.com> wrote:Luca,On Wednesday, July 9, 2025 at 2:31:09 PM UTC-7 Luca Milanesio wrote:On 9 Jul 2025, at 22:18, Liem Do <lie...@gmail.com> wrote:Is pull-replication supported with the readonly plugin and multi-site? I see the following errors when a commit is done and replication is attempted to a secondary node which has readonly plugin enabled. If pull-replcation and readonly plugins don't work together, what are the ways you can make a node in a multi-site cluster as a passive ready-only node and still have pull-replication working on it.Well, the reason why I developed the read-only script (then turned into a plugin) was to make a node readonly for backups or concurrent GCs.If the node would still accept replication, then it won’t be read-only after all and backups could be inconsistent or GCs could risk to remove BLOBs or revert refs.That make sense.What would be your use-case of having the read-only node? If you are just looking to have the node servicing the Git protocol read-only, why not enabling the replica mode in gerrit.config instead?This was the way we had originally deployed ha and multi-site with refdb disabled and push replication with direction from Gerritforge if you recall. I was just trying to setup pull-replication in our staging environment which has all the same config as we do in production. So in a multi-site cluster, if you put one node into read-only mode and after some time take it out of read-only mode while other nodes were still taking on writes, would the pull-replication have to be initiated manually to catch up with all the changes from the other nodes and would you do that from the node that was read-only or from one of the other master nodes?
[2025-07-09 13:55:07,813] Pull replication REST API apply object to https://gerrit2.example.com COMPLETED for load-test:refs/changes/42/1194742/meta - [{commitObject=9751911cd865c1982b8ea39133a76da49f8d0f22 (COMMIT) treeObject=4b825dc642cb6eb9a060e54bf8d69288fbee4904 (TREE) }], HTTP Result: FAILED, status=503 'You are trying an operation which is not allowed in this readonly instance, please use evogit-push or contact git-s...@example.com' - time:97.15252 ms[2025-07-09 13:55:07,813] Pull replication REST API fetch to https://gerrit2.example.com for load-test:refs/changes/42/1194742/metaThat’s expected.Another question I have with pull-replication is that if you have a cluster of 3 Gerrit Nodes with multi-site enabled and pull-replication. Do I have the pull-replication remotes configured for the other 3 nodes on each of the nodes? So for example, would I have the following?GerritNode1:GERRIT_SITE/etc/replication/node2.configGERRIT_SITE/etc/replication/node3.configGerritNode2:GERRIT_SITE/etc/replication/node1.configGERRIT_SITE/etc/replication/node3.configGerritNode3:GERRIT_SITE/etc/replication/node1.configGERRIT_SITE/etc/replication/node2.configYes, that’s correct.Thanks for confirming!HTHLuca.
--
--
To unsubscribe, email repo-discuss...@googlegroups.com
More info at http://groups.google.com/group/repo-discuss?hl=en
---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/repo-discuss/3a505fc0-e8af-4c45-9e8c-00fa68140bedn%40googlegroups.com.