Josh Elser created ACCUMULO-3489:
------------------------------------
Summary: Improve error message when tserver fails to acquire zlock
Key: ACCUMULO-3489
URL: https://issues.apache.org/jira/browse/ACCUMULO-3489
Project: Accumulo
Issue Type: Improvement
Components: tserver
Reporter: Josh Elser
Assignee: Josh Elser
Priority: Minor
Fix For: 1.7.0
In #accumulo on freenode, championofcyrod1 had an issue where a tabletserver
failed to start because it got a NoAuthException trying to create its znode for
the zk lock.
{noformat}
org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth
for /accumulo/217cf566-e487-4f48-a333-659e1634baf0/tservers/172.16.0.52:9997
at org.apache.zookeeper.KeeperException.create(KeeperException.java:113)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:783)
at org.apache.accumulo.fate.zookeeper.ZooUtil.putData(ZooUtil.java:146)
at
org.apache.accumulo.fate.zookeeper.ZooUtil.putPersistentData(ZooUtil.java:126)
at
org.apache.accumulo.fate.zookeeper.ZooReaderWriter.putPersistentData(ZooReaderWriter.java:79)
at
org.apache.accumulo.server.tabletserver.TabletServer.announceExistence(TabletServer.java:2697)
at
org.apache.accumulo.server.tabletserver.TabletServer.run(TabletServer.java:2762)
at
org.apache.accumulo.server.tabletserver.TabletServer.main(TabletServer.java:3262)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.accumulo.start.Main$1.run(Main.java:107)
at java.lang.Thread.run(Thread.java:745)
2015-01-16 12:54:27,841 [tabletserver.TabletServer] ERROR: Uncaught exception
in TabletServer.main, exiting
java.lang.RuntimeException:
org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth
for /accumulo/217cf566-e487-4f48-a333-659e1634baf0/tservers/172.16.0.52:9997
at
org.apache.accumulo.server.tabletserver.TabletServer.announceExistence(TabletServer.java:2743)
at
org.apache.accumulo.server.tabletserver.TabletServer.run(TabletServer.java:2762)
at
org.apache.accumulo.server.tabletserver.TabletServer.main(TabletServer.java:3262)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.accumulo.start.Main$1.run(Main.java:107)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.zookeeper.KeeperException$NoAuthException:
KeeperErrorCode = NoAuth for
/accumulo/217cf566-e487-4f48-a333-659e1634baf0/tservers/172.16.0.52:9997
at org.apache.zookeeper.KeeperException.create(KeeperException.java:113)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:783)
at org.apache.accumulo.fate.zookeeper.ZooUtil.putData(ZooUtil.java:146)
at
org.apache.accumulo.fate.zookeeper.ZooUtil.putPersistentData(ZooUtil.java:126)
at
org.apache.accumulo.fate.zookeeper.ZooReaderWriter.putPersistentData(ZooReaderWriter.java:79)
at
org.apache.accumulo.server.tabletserver.TabletServer.announceExistence(TabletServer.java:2697)
{noformat}
If the tserver gets a NoAuthException, we can be fairly certain that there is a
configuration mismatch on this node (specifically {{instance.secret}}) and can
give a better error message as to solution.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)