Github user ctubbsii commented on a diff in the pull request:
https://github.com/apache/accumulo/pull/150#discussion_r78462981
--- Diff:
server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/BasicServlet.java
---
@@ -51,8 +52,18 @@
abstract protected String getTitle(HttpServletRequest req);
+ public void checkIfActive() throws IOException {
+ // If the HighlyAvailableService is not initialized or it's not the
active service, throw an exception
+ // to prevent processing of the servlet.
+ if (null == Monitor.HA_SERVICE_INSTANCE ||
!Monitor.HA_SERVICE_INSTANCE.isActiveService()) {
+ throw new IOException("This is not the active Monitor", new
NotActiveServiceException());
--- End diff --
It'd probably be better to return an explicit 503 on the response, rather
than throw an IOException here.
We could also try to discern the active monitor (if there is one), and
return a 307 redirect.
Or, we could have partial functionality (personally, I'm not a fan of the
monitor using this locking mechanism... I'd rather support running multiple
monitors).
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---