keith-turner opened a new pull request, #4225: URL: https://github.com/apache/accumulo/pull/4225
Posting this draft PR solely for the purpose of discussion and feedback and does not actually implement anything. The elasticity branch is heavily using the concept of servers organized into resource groups. MiniAccumulo's public api does not support resource groups and there are comments about this in the elasticity branch [here](https://github.com/apache/accumulo/blob/5f5cbd37a8efeaab4bc129c064680bbf4aa43be8/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloConfig.java#L59). The changes in the PR were an attempt to solve the following problems. 1. Mini Accumulo API does not support resource groups. 2. Accumulo uses Mini Accumulo to test itself and this internal code for testing does not consistently support resource groups or making starting and stopping servers in resource groups easy. The changes in the PR stub out external and internal API changes that attempt to address the problems above. However there is no implementation of these stubbed out APIs. The following is guide to the changes so far. * The change in the external API were made in o.a.a.minicluster.* * An example of code that uses the new public API is in MiniAccumuloResourceGroupsTest * The changes to internal API used for testing were made in ClusterControl * Some examples of using the new internal API can be seen in a few ITs One thing I do not like about these change is that there is currently a runtime exception if server processes are placed outside of the default resource group. This seems a bit tricky, not sure how to improve it. One thing I do like about these changes is the internal API may make it easier to start and stop processes in resource groups in a consistent way in ITs. So the way that process would be start for a tserver RG is the same as a compactor RG. I also like the mode of specifying a new expected state and processes being started and/or stopped based on how the current state and the new state align. One problem area for this PR may be that tserver resource groups do not exists in main, but only in elasticity. This is a similar problem to #4220. -- 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]
