cshannon commented on PR #5284:
URL: https://github.com/apache/accumulo/pull/5284#issuecomment-2614488519

   > > I believe most of the code assumes the TabletMergeability column always 
exists, but I'm not sure if we should be handling it missing. I don't recall if 
we talked about adding it on upgrade or not if not set.
   > 
   > I like assuming it always exists and resolving things at upgrade. Could 
mark everything as never at upgrade since we do not know. In the past when 
things were not resolved at upgrade and conditional logic was left in the code 
for old versions of Accumulo it caused really hard to test tech debt to 
accumulate.
   
   Ok that makes sense, I went back and looked at my last PR and one thing I 
did do was 
[set](https://github.com/apache/accumulo/blob/a156308c82ddef3f3716d569f85a4aac482875d6/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMetadata.java#L705)
 the default in the TabletMetadata builder to NEVER which is the same pattern 
that TabletAvailability 
[uses](https://github.com/apache/accumulo/blob/a156308c82ddef3f3716d569f85a4aac482875d6/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletMetadata.java#L698)
 (sets to ONDEMAND). We can still handle it on upgrade but at least if it was 
missing it would set a default and not fail.
   
   > 
   > > Do you have any ideas on how to better test the API for retrieving 
TabletMergeabilityInfo on errors? The logic will retry splits if there are 
errors but I couldn't think of a great way to test it, at least with 
integration tests. Maybe we need something with mocking.
   > 
   > Its probabilistic, but could create 10 threads that each add 100 splits to 
a table. Each thread adds some splits that are unique to it and some that are 
common to all threads. This should cause colllisions and retries in the code. 
After all the threads are done should be able to see an expected set of splits 
and mergabilites.
   > 
   That is a good idea I'll see what I can come up with for a test.
   


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