Regression test: type dictionary exported once per store commit - #807
Open
hrstoyanov wants to merge 1 commit into
Open
Regression test: type dictionary exported once per store commit#807hrstoyanov wants to merge 1 commit into
hrstoyanov wants to merge 1 commit into
Conversation
A single storeRoot serializing a graph of many distinct types discovers and registers all of them, and the type dictionary must be exported exactly once per store commit rather than once per registered type (the crash-safe export is comparatively expensive). Verifies exactly one export per storeRoot and that the coalesced dictionary is complete by restarting the storage and reloading the graph.
Author
|
@fh-ms @hg-ms @zdenek-jonas |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Regression test for the coalesced type dictionary export (serializer fix in eclipse-serializer/serializer#314).
A single
storeRootserializing a large root graph discovers and registers many distinct types. The type dictionary must be exported exactly once per store commit, not once per registered type — the crash-safe export (temp-file write + fsync + delete + move) is comparatively expensive, so per-type exports made a first store of a ~280-type graph take ~2.9s.Test
TypeDictionaryExportCoalescingTest:storeRoot.Dependency
Requires the serializer fix in eclipse-serializer/serializer#314 (without it, the test asserts 1 export and fails with ~280).