-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Branches sometimes not replicated on fetch #782
Comments
Some additional notes:
|
Could you maybe compare the contents of the `signed_refs` to the refs which are
actually present?
|
I narrowed some logs down to the first namespace When I grep'd |
Just realising that this might be the |
Still seeing this issue with 2df248a FYI |
Unsurprising, that change is unrelated |
Here's the first error that I'm getting from attempting to replicate the same repo:
As you're suggesting @kim, I don't see anything wrong with replication up until the contents of
When it comes to the file system, it looks like follows after the error (I'm filtering by the relevant identities):
As can be seen, unsuprisingly, OTOH, when we filter by the identity that was present in
Full logs (with my changes to the logging code unfortunately) are available in a gist. Those are logs from the replicating peer, not the bootstrap peer, BTW. |
Am I reading this correctly that you're expecting
|
Sorry if that was a little bit unclear. Basically, I'm going by the error message: I'm expecting IOW, I'm expecting |
Yes yes. What I'm trying to parse is: there seem to be three nodes involved in
your setup:
1. the fetching node
2. the remote node
3. the node whose data 1. is interested in
So the question is: does 2. have the data of 3.? If not, we need to look into
why. If yes, then 1. fails to discover that the data is there.
|
There are only two nodes :). I'm trying to keep the bug reproduction as small as possible. I'm also using the same repository data as @cloudhead in his examples, so the identities and hashes should mostly match with his comments (except for the replicating node identity, which is different in my setup). The network topology couldn't be simpler:
Test scenario: In a local checkout of the client-services/org-node directory: Bootstrap node is run like so:
The replicating node is run like so: Now, on to answer your question: |
Aha, thanks. The commit e562431913af9fa8dad3aaa6cea3a57631af100d (refs/namespaces/hnrkbtw9t1of4ykjy6er4qqwxtc54k9943eto/refs/remotes/hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe/rad/signed_refs)
Author: cloudhead <cloudhead@hyn9diwfnytahjq8u3iw63h9jte1ydcatxax3saymwdxqu1zo645pe>
Date: Fri Aug 27 15:30:33 2021 +0200
Update rad/signed_refs for rad:git:hnrkbtw9t1of4ykjy6er4qqwxtc54k9943eto
diff --git a/refs b/refs
index 56e2f01..8a78704 100644
--- a/refs
+++ b/refs
@@ -1 +1 @@
-{"refs":{"heads":{"master":"0bad586e7f0749c70ee33b06eb6882a2523b0b99"},"rad":{"id":"c99d99f55cd277bba2187f136051b377b17b56f8"},"tags":{},"notes":{},"remotes":{}},"signature":"hybrp6ceians1jffsrhaoeu4aayzq4bc1ozh9enqomof3sur5kqh7ke4jamgoqk66rjdtcarww3sgamtq48jpaxxhkgmf84rodsrtx5ob"}
\ No newline at end of file
+{"refs":{"heads":{"cloudhead/master":"0bad586e7f0749c70ee33b06eb6882a2523b0b99","master":"0bad586e7f0749c70ee33b06eb6882a2523b0b99"},"rad":{"id":"c99d99f55cd277bba2187f136051b377b17b56f8"},"tags":{},"notes":{},"remotes":{}},"signature":"hyn37z39mbp3qbs645nxcma5iub4qpk6bozyarw7i31q6ty1ozc8xessaqqnw8qp1sjpxbr1dpqnw66no49j37tqu56fdqiepdoe6oeyd"} For some reason, it's not |
Nope, Filtering the file system tree on the replicating node side by gives:
|
Hm ok. Something seems a little off in the logs vs. the repository state you
posted, so it's hard to make sense of it. Could you share the key that was used
for the bootstrap node so I could run this scenario myself?
|
radicle-dev/radicle-link#782 Signed-off-by: Adam Szkoda <[email protected]>
radicle-dev/radicle-link#782 Signed-off-by: Adam Szkoda <[email protected]>
radicle-dev/radicle-link#782 Signed-off-by: Adam Szkoda <[email protected]>
radicle-dev/radicle-link#782 Signed-off-by: Adam Szkoda <[email protected]>
radicle-dev/radicle-link#782 Signed-off-by: Adam Szkoda <[email protected]>
radicle-dev/radicle-link#782 Signed-off-by: Adam Szkoda <[email protected]>
radicle-dev/radicle-link#782 Signed-off-by: Adam Szkoda <[email protected]>
radicle-dev/radicle-link#782 Signed-off-by: Adam Szkoda <[email protected]>
@kim I've made the reproduction smaller by removing two repos and I've created an end-to-end test case using Python at radicle-dev/radicle-client-services#71. Instruction on how to use are in the README file. I hope it makes it easier to debug this issue and also serves as a regression suite for the future. |
radicle-link @ e640fed
When connecting two identical peers (the radicle org node) on the localhost (same machine), one of which has 4 projects and the other being fresh (empty monorepo), after replication of the 4 projects, I see that only one of them has had the default branch replicated, while the others only have certain refs replicated. I've included a diff of the trees.
On the left is the "server" that has all the data, and on the right is the "client" that is fetching from the server.
(logs: https://gist.github.com/cloudhead/02c469951f10c2ccc4d55a97d4adf362)
The text was updated successfully, but these errors were encountered: