[ https://issues.apache.org/jira/browse/HIVE-5603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13801612#comment-13801612 ]
Sushanth Sowmyan commented on HIVE-5603: ---------------------------------------- Just a quick addendum, initCause itself is not the problem, calling initClause multiple times on the same exception is the main problem. In HIVE-5051, we had exceptions initialized with another exception as an argument, which internally is similar to calling initClause. If an exception is initialized with a string message, and then initCause is called, it will not cause this problem. I looked through all the other usages of initCause, and the following are all clean: * hcatalog/server-extensions/src/main/java/org/apache/hcatalog/listener/NotificationListener.java * hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/NotificationListener.java * hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/lock/WriteLock.java * hwi/src/java/org/apache/hadoop/hive/hwi/HWIServer.java * metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java * metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java * ql/src/java/org/apache/hadoop/hive/ql/security/authorization/AuthorizationPreEventListener.java * ql/src/java/org/apache/hadoop/hive/ql/security/authorization/StorageBasedAuthorizationProvider.java So, this bug isn't a bug, unless you mean it to be a stylistic cleaning issue? > several classes call initCause which masks lower level exceptions > ----------------------------------------------------------------- > > Key: HIVE-5603 > URL: https://issues.apache.org/jira/browse/HIVE-5603 > Project: Hive > Issue Type: Bug > Components: Authorization > Affects Versions: 0.12.0 > Reporter: Thejas M Nair > Assignee: Sushanth Sowmyan > > AuthorizationPreEventListener has following code that will result in "Can't > overwrite exception" being thrown, and also mask the lower level exception. > {code} > private InvalidOperationException invalidOperationException(Exception e) { > InvalidOperationException ex = new InvalidOperationException(); > ex.initCause(e.getCause()); > return ex; > } > private MetaException metaException(HiveException e) { > MetaException ex = new MetaException(e.getMessage()); > ex.initCause(e); > return ex; > } > {code} -- This message was sent by Atlassian JIRA (v6.1#6144)