Github user joshelser commented on a diff in the pull request:
https://github.com/apache/accumulo/pull/150#discussion_r78464250
--- 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 --
Can you recommend how I might go about this? I'm not sure how to propagate
that information back up from a servlet.
> We could also try to discern the active monitor (if there is one), and
return a 307 redirect.
Sure, this would be a great addition.
> 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).
Wouldn't be too bad, we would just have to make the master capable of
sending to multiple monitors. But, again, out of scope for this changeset.
---
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.
---