Skip to content
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

Closed
sageserpent-open opened this issue Jul 4, 2019 · 8 comments
Closed

Spurious ghosts observed in benchmark. #63

sageserpent-open opened this issue Jul 4, 2019 · 8 comments

Comments

@sageserpent-open
Copy link
Owner

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'.

@sageserpent-open
Copy link
Owner Author

sageserpent-open commented Jul 4, 2019

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.

@sageserpent-open
Copy link
Owner Author

Given that this involves related items, could this be connected with #57 ?

@sageserpent-open
Copy link
Owner Author

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).

@sageserpent-open
Copy link
Owner Author

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.

@sageserpent-open
Copy link
Owner Author

Oops - the 'workaround' in commit 5df1fc6 actually provokes the same bug in other tests. At least we have test failures now.

@sageserpent-open
Copy link
Owner Author

Bug reproduced cleanly in commit 6642ba5.

@sageserpent-open
Copy link
Owner Author

As suspected, this is exhibited by both 'WorldEfficientInMemoryImplementation' and 'WorldH2StorageImplementation'.

The reference implementation does not exhibit this bug.

@sageserpent-open
Copy link
Owner Author

One last thing - it appears that the sporadic failure referenced by #57 is still occurring, so that is indeed a separate issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant