janhoy commented on a change in pull request #1392: SOLR-14371 Zk StatusHandler
should know about dynamic zk config
URL: https://github.com/apache/lucene-solr/pull/1392#discussion_r401835111
##########
File path:
solr/core/src/java/org/apache/solr/handler/admin/ZookeeperStatusHandler.java
##########
@@ -108,27 +128,30 @@ public void handleRequestBody(SolrQueryRequest req,
SolrQueryResponse rsp) throw
if ("true".equals(String.valueOf(stat.get("ok")))) {
numOk++;
}
- String state = String.valueOf(stat.get("zk_server_state"));
+ String state = zk.role != null ? zk.role :
String.valueOf(stat.get("zk_server_state"));
if ("follower".equals(state)) {
followers++;
} else if ("leader".equals(state)) {
leaders++;
reportedFollowers =
Integer.parseInt(String.valueOf(stat.get("zk_followers")));
} else if ("standalone".equals(state)) {
standalone++;
+ } else if ("participant".equals(state)) {
+ // NOCOMMIT: What does participant mean vs leader or follower?
Review comment:
I confused server state with role. Seems like even in dynamic reconfig mode,
the servers report state leader/follower, and can also have a role participant
or observer.
The only thing I'm not 100% sure about is whether `zk_server_state` can have
the value `observer` when not in dynamic reconfig mode, cause observer feature
pre-dates dynamic reconfig I think. I put it in there as an OR check and count
it as follower for now, but it might never get that value.
I do not generate any WARN/ERROR messages in UI based on number of observers
vs participants, as it is allowed to scale down to 1 participant if you like.
Not sure what happens if you have 2 participants, is that still "A Bad Thing™"?
Today we warn if there is an even number of leader/follower, but our code does
not yet know about observers. Perhaps we should count participants and WARN if
they are even in number, or will ZK handle it gracefully so we don't need to
warn?
----------------------------------------------------------------
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.
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]