[ https://issues.apache.org/jira/browse/CASSANDRA-15754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17090652#comment-17090652 ]
Arseniy Tashoyan commented on CASSANDRA-15754: ---------------------------------------------- PR with fix: https://github.com/apache/cassandra/pull/560 > YamlConfigurationLoader swallows a real exception and exposes a misleading > exception message > -------------------------------------------------------------------------------------------- > > Key: CASSANDRA-15754 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15754 > Project: Cassandra > Issue Type: Bug > Components: Local/Config > Reporter: Arseniy Tashoyan > Priority: Normal > Time Spent: 10m > Remaining Estimate: 0h > > Method YamlConfigurationLoader.loadConfig(URL) parses a YAML config file: > {code:java} > try { > ... > Config result = loadConfig(yaml, configBytes); > ... > } > catch (YAMLException e) { > throw new ConfigurationException("Invalid yaml: " + url + > SystemUtils.LINE_SEPARATOR + " Error: " + e.getMessage(), false); > } > {code} > In the catch block, the real cause is dropped and a misleading message > "Invalid yaml" is given. Instead in my case I have a cause: > {code:none} > java.lang.NoSuchMethodError: > com.google.common.collect.Sets.newConcurrentHashSet()Ljava/util/Set; > {code} > This is caused by an incompatible Guava version in classpath. It was > impossible to figure out the real root cause without debugging. > One possible fix is to include the caught exception (YAMLException e) in the > cause of the thrown exception: > {code:java} > throw new ConfigurationException(msg, e) > {code} > The 'msg' should be changed because it is not necessarily "Invalid yaml". > Another possible fix is to not catch exception here - just let the root cause > exception propagate to the caller. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org