-
Notifications
You must be signed in to change notification settings - Fork 23
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
TestPeople is really, really broken #274
Comments
I think this one is beyond my abilities for the moment. |
A wild amount of errors! You're an inspiration @KyleMaas 🤣 |
Heh...thanks. Just wish my capabilities were such that I could tackle some of the more complicated breakage like this. |
I think #313 may have fixed this one. That had a bunch of fixes for the graph subsystem. Will have to check. |
It did not. Not sure why yet. |
I've got a |
Another note: I'm sure a delay between the Ops and the Asserts in Just wanted to take some notes on debugging progress since it may be a little bit before I can come back to this one. |
Tried turning |
Tried adding a full second of delay between the Ops and the Asserts. It did not fix the problem. It's looking like it's not just a race condition with the indexes but is instead very broken in some other non-time-dependent way. |
Even with 10 seconds of delay, it still fails. |
It seems there is a higher percentage of failures when the delay is longer. |
One example failed test run:
So, what this is showing is that despite the index being up-to-date (the "sync start" and "sync done" messages are coming from Line 137 in 8193f14
Somehow things are being stored to the indexes and then not retrieved. Or maybe they're somehow all being stored under the same key. More investigation to follow. Later. That's enough for now. |
Another failed test run:
Once again showing far more things being stored to the indexes than the two messages that were retrieved when the builder was run. |
Another:
|
Another:
|
😱 |
Added logging for every time a key is set in builder_index
So it would appear that for some reason some messages are being processed but not added to the indexes. |
Logging every return path from the index functions:
|
So, the times that
@decentral1se Any idea what could be causing this? |
I should note that that's coming from here: go-ssb/graph/builder_indexing.go Line 184 in 55f4894
|
Added logging to the test helper:
So the follow/unfollow information is getting published, but not reliably showing up in the indexes. Looking at other successful tests, like this:
I almost wonder if the problem is that with the failed ones the messages are published before any indexing takes place whereas the successful tests seem to be where each message is indexes immediately after it's published. So it may be an issue with the not-live vs. live message pumps. |
Now wait just a doggone minute...it's not actually doing a non-live query first:
I think we may have our explanation. |
Well, made it to 300 runs without any errors or failures. Going to do some more tweaking but finally making progress. |
Just doing the excerpts for the failing tests, because this test suite has a lot of individual tests. Also...there are a lot more failures. This one is very, very broken. You don't even have to really try to make this fail. But what's worse is that it appears that some of these failures are not actually marking tests as
FAIL
ed, so it wouldn't show up in a CI run's report as anything more than logged messages.See #237
The text was updated successfully, but these errors were encountered: