[ https://issues.apache.org/jira/browse/HIVE-20237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16580578#comment-16580578 ]
BELUGA BEHR commented on HIVE-20237: ------------------------------------ {quote} This is one of the most annoying error-handling antipatterns. Either log the exception, or throw it, but never do both. {quote} https://community.oracle.com/docs/DOC-983543#logAndThrow > Do Not Print StackTraces to STDERR in HiveMetaStore > --------------------------------------------------- > > Key: HIVE-20237 > URL: https://issues.apache.org/jira/browse/HIVE-20237 > Project: Hive > Issue Type: Improvement > Components: Standalone Metastore > Affects Versions: 3.0.0, 4.0.0 > Reporter: BELUGA BEHR > Assignee: Alice Fan > Priority: Trivial > Labels: newbie, noob > > {code:java|title=HiveMetaStore.java} > } catch (Throwable x) { > x.printStackTrace(); > HMSHandler.LOG.error(StringUtils.stringifyException(x)); > throw x; > } > {code} > Bad design here of "log and throw". Don't do it. Just throw the exception > and let it be handled, and logged, in one place. At the very least, we don't > need the error message to go into the STDERR logs with {{printStackTrace}}, > please remove. And remove the {{stringifyException}} code. Just use the > normal logging faciltiies at the 'debug' level logging to hide the stack > trace during normal operations. > {code} > HMSHandler.LOG.debug("Error", e); > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)