egor-ryashin commented on a change in pull request #6349: maintenance mode for 
Historical
URL: https://github.com/apache/incubator-druid/pull/6349#discussion_r224182110
 
 

 ##########
 File path: 
server/src/main/java/org/apache/druid/server/coordinator/ServerHolder.java
 ##########
 @@ -33,14 +33,18 @@
   private static final Logger log = new Logger(ServerHolder.class);
   private final ImmutableDruidServer server;
   private final LoadQueuePeon peon;
+  private final boolean inMaintenance;
 
-  public ServerHolder(
-      ImmutableDruidServer server,
-      LoadQueuePeon peon
-  )
+  public ServerHolder(ImmutableDruidServer server, LoadQueuePeon peon)
+  {
+    this(server, peon, false);
+  }
+
+  public ServerHolder(ImmutableDruidServer server, LoadQueuePeon peon, boolean 
inMaintenance)
 
 Review comment:
   >For example, lets say a historical is able to detect that it is unhealthy, 
and it wants to shed its load in as safe of a way as possible, so it declares 
its desire to have its load shed to other nodes. Would inMaintenance be the 
proper kind of thing for that?
   Or if another problem arrises where a node has fractional problems, like it 
can only operate at about 50% of where it should. Is it proper to have the node 
be inMaintenance, or would a "fractional operating level" be appropriate here?
   
   Well, I would made 2 separate types like `inMaintenance`, `Unhealthy` to 
make it clear for an operator, otherwise it could be confusing to see a manual 
list extending itself at random. Also, we need to define detection algorithm 
for Unhealty status.
   
   >What I'm curious of is if it makes sense for the initial implementation to 
have an int here which represents an arbitrary "weight capacity" for the node, 
and "in maintenance" simply sets that weight capacity to 0.
   
   Yes, `inMaintenance`, `Unhealthy` can carry a weight number that way. I 
assume, priority for each type could be also different, so an operator can have 
manually defined nodes to be drained faster, for example.
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to