You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "keith-turner (via GitHub)" <gi...@apache.org> on 2023/10/17 15:21:29 UTC
[I] Review all metadata updates to see what should use conditional updates [accumulo]
keith-turner opened a new issue, #3858:
URL: https://github.com/apache/accumulo/issues/3858
Some functionality in the elasticity branch has been modified to use conditional metadata updates. Need to review all metadata updates and open issues or pull request for code that does not use conditional updates but should.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Review all metadata updates to see what should use conditional updates [accumulo]
Posted by "keith-turner (via GitHub)" <gi...@apache.org>.
keith-turner closed issue #3858: Review all metadata updates to see what should use conditional updates
URL: https://github.com/apache/accumulo/issues/3858
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Review all metadata updates to see what should use conditional updates [accumulo]
Posted by "keith-turner (via GitHub)" <gi...@apache.org>.
keith-turner commented on issue #3858:
URL: https://github.com/apache/accumulo/issues/3858#issuecomment-2151053701
Reviewed usage of the following in the Accumulo code
* AccumuloClient.createBatchWriter
* Ample.mutateTablet()
* Ample.mutateTablets()
Found the following usages which do not need to use a conditional writer
* Create, clone, and import table code. This code is writing to tablets while the table state is NEW. The since operations check the table state before making changes this is fine. There can not be race conditions w/ the table state for this case because there is no table state before NEW.
* The upgrade code directly writes to the metadata table w/o using a conditional writer. This is probably ok because FATE is not running and the manager client service is not running.
* All writes to the non-tablet section of the metadata table use batch writer. This is ok as non of these rely on conditional mutations, only the tablet section does.
* A lot of test code writes unconditionally to the metadata table. This is ok because its test code.
* Delete table uses a batch writer in its final step. This is ok for two reasons. Before deleting tablets and opid is set on each tablet prevents any conditional writes. When the tablet is deleted this should be atomic and most conditional writes require a prev end row column to be present. Also the table state is set to DELETING, but this is racy because an operation could read the table state before it changes so its not enough alone.
* repairmetadata uses a batchwriter and there is an issue opened about it already : 3888
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org