Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-2848

TServerUtil tries to access nonexistent member in Thrift TServer

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Incomplete
    • 1.5.1, 1.6.0
    • None
    • tserver
    • None

    Description

      In trying to get the tserver to shut down cleanly for ACCUMULO-2739, I noticed:

        public static void stopTServer(TServer s) {
          if (s == null)
            return;
          s.stop();
          try {
            Field f = s.getClass().getDeclaredField("executorService_");
            f.setAccessible(true);
            ExecutorService es = (ExecutorService) f.get(s);
            es.shutdownNow();
          } catch (Exception e) {
            TServerUtils.log.error("Unable to call shutdownNow", e);
          }
        }
      

      In Thrift 0.9.0, the executorService_ doesn't appear to exist anymore on the implementation of TServer we're using.

      2014-05-30 13:17:13,844 [util.TServerUtils] ERROR: Unable to call shutdownNow
      java.lang.NoSuchFieldException: executorService_
      	at java.lang.Class.getDeclaredField(Class.java:1948)
      	at org.apache.accumulo.server.util.TServerUtils.stopTServer(TServerUtils.java:367)
      	at org.apache.accumulo.tserver.TabletServer.run(TabletServer.java:3277)
      	at org.apache.accumulo.tserver.TabletServer.main(TabletServer.java:3668)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            elserj Josh Elser
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: