-
Notifications
You must be signed in to change notification settings - Fork 0
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
Spurious ghosts observed in benchmark. #63
Comments
Although this was observed running the benchmark with 'WorldH2StorageImplementation', it also occurs with 'WorldEfficientInMemoryImplementation', repeatably at same revision step 4100 as the other implementation, thing id 372. This implies that the bug is connected with the process of incremental recalculation / interaction with the abstract blob storage model, and is not connected with tranche storage, immutable object store proxies or any specific blob storage implementation. |
Given that this involves related items, could this be connected with #57 ? |
The plan is to add a bug reproduction test first, and to see what can bee added to the existing Scalacheck tests that involve related items to expose the bug (or to add a new Scalacheck test). |
NOTE: commit 5df1fc6 puts in a temporary workaround into 'Thing' that will need to be backed out for this bug to be exposed in the benchmark. |
Oops - the 'workaround' in commit 5df1fc6 actually provokes the same bug in other tests. At least we have test failures now. |
Bug reproduced cleanly in commit 6642ba5. |
As suspected, this is exhibited by both 'WorldEfficientInMemoryImplementation' and 'WorldH2StorageImplementation'. The reference implementation does not exhibit this bug. |
One last thing - it appears that the sporadic failure referenced by #57 is still occurring, so that is indeed a separate issue. |
Running the benchmark as of commit: 1c35136 reveals a repeatable failure where attempting to calculate the transitive closure of a thing object queried from a scope faults, due to an indirectly referenced thing object being a ghost.
This is despite the benchmark not actually booking in any annihilations.
Cursory investigation reveals that the incremental recalculation applies a patch that brings in the thing object via the fallback for annihilated items, this is within 'IdentifiedItemAccessUsingBlobStorage.relatedItemFor'.
The text was updated successfully, but these errors were encountered: