keith-turner commented on issue #3823:
URL: https://github.com/apache/accumulo/issues/3823#issuecomment-1781527230

   To address the problem outlined in the previous comment between merge and 
offlline table, could replace offline/online of table with per tablet states. 
Could have the following tablet states.  Tablet states would generalize and 
replace the existing tablet operation id column.  It would offer the same 
functionality that operation id currently offers, plus more with the concept of 
enabled and disabled.
   
   | Tablet state | Description |
   |-----------------|----------------|
   | NEW | While a table is in the process of being created its tablets would 
have this state. |
   ENABLED | A tablet in this state is available for read,write, compaction, 
split, merge, etc. |
   DISABLED | A tablet in this state is only available for clone, delete, and 
export table.  All other operations should fail |
   SPLITTING | A tablet in this state is currently splitting and is not 
available for other operations |
   MERGING | A tablet in this state is currently merging and is not available 
for other operations |
   DELETING | When a tablet is in this state, its table is in process of being 
deleted and its not available for any operations |
   
   
   Below is a table of valid tablet state transitions.   
   
   | From                | to NEW | to ENABLED | to DISABLED | to SPLITTING | 
to MERGING | to DELETING |
   |---------------|-|-|-|-|-|-|
   | NEW          |         |                 ✓ |                ✓  |           
         |                   |                   |
   | ENABLED  |         |                   |                 ✓ |               
  ✓  |                ✓ |               ✓  |
   | DISABLED |         |                ✓  |                   |               
     |                   |                ✓  |
   | SPLITTING |         |               ✓  |                   |               
     |                   |                   |
   | MERGING  |         |                ✓  |                   |               
     |                   |                   |
   | DELETING |         |                   |                   |               
     |                   |                   |
   
   The table operations `offline()` and `online()` could possibly replaced with 
`enable(RowRange range)` and `disable(RowRange range)`.  The impl of 
`offline()` and `online()` could call `enable(RowRange range)` and 
`disable(RowRange range)` with infinite ranges.
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to