DomGarguilo opened a new pull request, #6476:
URL: https://github.com/apache/accumulo/pull/6476

   Fixes #5389
   
   * fixes a race condition where `NamespaceOperationsImpl.delete()` checked if 
a namespace was empty and then submitted the delete FATE op. If another client 
tried to create a table in that namespace in between the namespace emptiness 
check and when the `DeleteNamespace` was actually executed, the table could 
still be created and also the namespace deleted.
   * moves the check into the `DeleteNamespace.call()` itself which happens 
under a write lock and the race can't happen anymore.
   * added a new `NAMESPACE_NOTEMPTY` thrift enum so the manager now throws 
`AcceptableThriftTableOperationException` with that type which the client 
catches and converts to `NamespaceNotEmptyException`
   * added a test to mock the `DeleteNamespace` call on a non-empty namespace 
to verify the new exception is thrown


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