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.
---

Reply via email to