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
Consider adding metadata tablet transaction logging #3724
Comments
Capturing the discussion from the accumulo channel in the ASF slack: Ivarator HP Ivarator Keith Turner Ivarator Ivarator ctubbsii ctubbsii Keith Turner ctubbsii Chris Shannon Chris Shannon |
* Created a transaction log for the datafile manager * Added dumping of the log when metadata differences are detected
* Added configuration for the max log size * Added configuration for the action to take when out of sync * Created intial handler function
* Added propery tests * Updated documentation
* Created an enumeration for the table.operation.log.recovery.action's * Completed the implementation of the metadata/memory updates
* Use enum in descriptions
* Use enum in descriptions
* Added transaction log tests * Filled out some hashCode and equality methods
* Comments and parameterized log messages
* simpler hash code
* Reverted to just logging
* Added more javadoc
* checkstyle updates
handle non-positive configuration value
* Disable use of the log if the size is 0
* avoid array copies by using a ring buffer
* Updated to always log even if no transactions * Updated to clear the log when everything is consistent
* Updated to log expected as well as current
review comment updates
* Removed unused methods * Verified all modifications are synchronized
Cleaner output of Optional members
* Comments and parameterized log messages
* simpler hash code
* Reverted to just logging
* Added more javadoc
* checkstyle updates
handle non-positive configuration value
* Disable use of the log if the size is 0
* avoid array copies by using a ring buffer
* Updated to always log even if no transactions * Updated to clear the log when everything is consistent
* Updated to log expected as well as current
review comment updates
* Removed unused methods * Verified all modifications are synchronized
Cleaner output of Optional members
* Added a test to ensure safety between read and write threads
* findbugs updates
* add a property to disable/enable the feature * More testing to ensure proper thread safety
* Lazy creation of the transactions to avoid creation when disabled * enable/disable testing
* Updated to use synchronization instead of an update count
Closing for the same reason as the linked PR was closed: #3727 (comment) |
There have been several tickets that have been created to try and help avoid the situation where the metadata gets out of sync with the a tablet's in-memory data file manager. This can have significant consequences when this happens with a metadata tablet. Fixing the root issues are being worked on in those other tickets. This ticket is an attempt to create some fault-tolerance in the code.
One possiblity is for the Tablet to capture the transactions that are submitted against the metadata in a separate log. When the in-memory becomes out of sync with the metadata, we can
The text was updated successfully, but these errors were encountered: