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]
