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]

Reply via email to