Issue 6356 - On LMDB, after an update the impact VLV index, the vlv r…#6357
Merged
Conversation
Contributor
|
Have you tried the fix ? |
Contributor
|
Maybe you get tricked by #6349 that work around the issue .. |
progier389
approved these changes
Oct 9, 2024
progier389
left a comment
Contributor
There was a problem hiding this comment.
Apparently, for some unknown reason, the change modify the behavior.
And since there is nothing wrong with deleting any record with "OK" key, lets accept this change
…ecno cache is not systematically cleared Bug description: The VLV manages/uses an index database. In LMDB in addition to the index there is one 'recno cache' database per VLV index. This recno cache, related to a given VLV index, is cleared when an update impacts the VLV index. The recno cache is not systematically cleared upon update of the VLV index. The way to clear the cache is to delete the record with key "OK". When the 'recno cache' does not contain this key, the next lookup to the cache, clears all entries and rebuild the cache from the vlv index. The deletion is done with mdb_del with both KEY and DATA refering to the same mdb_val. This means it deletes the records matching if both KEY/DATA. It should not match the DATA as the "OK" record is just a flag and all entries with that key should be removed. Fix description: The fix consist to call mdb_del only with key fixes: 389ds#6356 Reviewed by: Pierre Rogier (Thanks!!)
tbordaz
added a commit
that referenced
this pull request
Oct 10, 2024
…ecno cache is not systematically cleared (#6357) Bug description: The VLV manages/uses an index database. In LMDB in addition to the index there is one 'recno cache' database per VLV index. This recno cache, related to a given VLV index, is cleared when an update impacts the VLV index. The recno cache is not systematically cleared upon update of the VLV index. The way to clear the cache is to delete the record with key "OK". When the 'recno cache' does not contain this key, the next lookup to the cache, clears all entries and rebuild the cache from the vlv index. The deletion is done with mdb_del with both KEY and DATA refering to the same mdb_val. This means it deletes the records matching if both KEY/DATA. It should not match the DATA as the "OK" record is just a flag and all entries with that key should be removed. Fix description: The fix consist to call mdb_del only with key fixes: #6356 Reviewed by: Pierre Rogier (Thanks!!)
tbordaz
added a commit
that referenced
this pull request
Oct 10, 2024
…ecno cache is not systematically cleared (#6357) Bug description: The VLV manages/uses an index database. In LMDB in addition to the index there is one 'recno cache' database per VLV index. This recno cache, related to a given VLV index, is cleared when an update impacts the VLV index. The recno cache is not systematically cleared upon update of the VLV index. The way to clear the cache is to delete the record with key "OK". When the 'recno cache' does not contain this key, the next lookup to the cache, clears all entries and rebuild the cache from the vlv index. The deletion is done with mdb_del with both KEY and DATA refering to the same mdb_val. This means it deletes the records matching if both KEY/DATA. It should not match the DATA as the "OK" record is just a flag and all entries with that key should be removed. Fix description: The fix consist to call mdb_del only with key fixes: #6356 Reviewed by: Pierre Rogier (Thanks!!)
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.
…ecno cache is not systematically cleared
Bug description:
The VLV manages/uses an index database.
In LMDB in addition to the index there is one 'recno cache' database per VLV index.
This recno cache, related to a given VLV index, is cleared when an update impacts the VLV index.
The recno cache is not systematically cleared upon update of the VLV index.
Fix description:
The fix consist to call mdb_del only with key
fixes: #6356
Reviewed by: