accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-2848) TServerUtil tries to access nonexistent member in Thrift TServer
Date Fri, 19 Dec 2014 06:37:14 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-2848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14253046#comment-14253046
] 

Josh Elser commented on ACCUMULO-2848:
--------------------------------------

I can't imagine that the internal member would have been reintroduced (assuming that it was
initially written against Thrift 0.6.x), but I haven't explicitly checked 0.9.1 to see. Not
sure if it's at all related to what I saw in ACCUMULO-3431.

I only think it would block a clean shutdown if there were actually open RPC calls to that
server (which would preventing the pool from stopping on its own). I'd have to look deeper
into it. If someone (myself or otherwise) has the cycles to look into it for 1.6.2, it would
be nice to resolve, but, given that it already bumped through 1.6.1, we don't need to block
1.6.2 on it.

> TServerUtil tries to access nonexistent member in Thrift TServer
> ----------------------------------------------------------------
>
>                 Key: ACCUMULO-2848
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2848
>             Project: Accumulo
>          Issue Type: Bug
>          Components: tserver
>    Affects Versions: 1.5.1, 1.6.0
>            Reporter: Josh Elser
>            Priority: Minor
>             Fix For: 1.5.3, 1.7.0, 1.6.3
>
>
> In trying to get the tserver to shut down cleanly for ACCUMULO-2739, I noticed:
> {code}
>   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);
>     }
>   }
> {code}
> In Thrift 0.9.0, the {{executorService_}} doesn't appear to exist anymore on the implementation
of TServer we're using.
> {noformat}
> 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)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message