keith-turner commented on PR #2799:
URL: https://github.com/apache/accumulo/pull/2799#issuecomment-1239742052

   >Regarding @keith-turner suggestion - depending on where / how that is 
implemented the data version of the properties can be used to tell if the 
property node has changed. It may not be necessary to actually compare values. 
   
   I suggested comparing values thinking the data version was not available 
through the public API.  But could still compare values through the public api. 
 Also the suggestion for the shell was just a WAG about how it should be done. 
Not exactly sure how the shell command should look.  My main point was that its 
really good to use a new API before releasing it.
   
   > I think I misread your comment initially as I was thinking you meant to do 
the PR after this PR is merged (but before releasing 2.1) but I think you meant 
to go ahead and do the shell changes first.
   
   I wasn't thinking it needed to be done before merging this PR, just before 
release like you were initially thinking.  One way have handled a situation 
like this in the past is to create a new issue that is a blocker before merging 
this.
   
   > @keith-turner - The retry was removed as it was discussed and determined 
to not be necessary or wanted and should just fail instead. I forget when but I 
believe it was an offline conversation with @ctubbsii and others.
   
   I think building in retry behavior is nice for the following reasons.
   
    * The concurrent modification exception (CME) is spurious and therefore 
hard for a user to test.  User would most likely only see it in a production 
system, not a test system.
    * I suspect every user who uses the API would just want it to set the props 
even if there was CME (its a spurious condition that has nothing to do with the 
data). So that means each user who uses the API will have to rewrite some sort 
of retry code (retry code that is hard for them to test).
    * If we build in the functionality then we can test it and write a more 
complex retry strategy like exponential back off that will not retry forever 
even when there is lot of concurrency.  We can do the hard part instead of 
pushing that off on every user of the API.
   
   However I don't think implementing retry should hold up this PR. I think it 
would be fine to do that as a follow on if there is no opposition to it.
   
   


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