ctubbsii commented on issue #3390:
URL: https://github.com/apache/accumulo/issues/3390#issuecomment-1560182408

   Well, that's good news! I'm glad we don't disallow merging the metadata 
table if needed. I was really wondering why that restriction might have been in 
place and couldn't think of a good one, other than to maybe prevent it being 
offline for awhile while the chop compactions were happening, but apparently 
not.
   
   The size option triggers the use of a separate client-side utility, 
`Merge.mergomatic()` that does a lot of things to compute sizes from reading 
the metadata table, before incrementally issuing separate merge commands. This 
utility has a main method and at one point was probably used without the shell. 
It looks like has always had the restriction that it only works for 
non-metadata tables. It also predates the split of the metadata into the root 
and metadata tables. So, it's likely that this restriction was to prevent 
attempts to merge the root tablet into the rest of the metadata table. It was 
probably easier to impose that restriction than to account for that root tablet 
edge case with a bunch of complicated code. As a separate table, it's much 
easier to do things to the metadata table without affecting the root tablet now.
   
   The utility would need to be updated to scan the root table instead of the 
metadata table when automatically computing the sizes, but otherwise, I don't 
see any reason the restriction couldn't be removed. I'm not entirely sure I'd 
recommend any kind of "auto" or "semi-auto" things happening to the metadata 
table, though. A utility called "mergomatic" doesn't exactly sound like the 
pinnacle of safety for the metadata table. :smiley_cat:


-- 
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