Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.6.0
-
None
Description
A ClassCastException is raised in Storm UI when trying to change the log level for a topology (cf. attached screenshot and full error stack).
- POST request payload sent to the logconfig web service:
{"namedLoggerLevels":{"com.example":{"target_level":"DEBUG","reset_level":"INFO","timeout":30}}}
- Error message received:
"error": "500 Server Error", "errorMessage": "java.lang.ClassCastException: java.lang.Integer incompatible with java.lang.Long\n\tat org.apache.storm.daemon.ui.UIHelpers.putTopologyLogLevel(UIHelpers.java:2422)\n\tat org.apache.storm.daemon.ui.resources.StormApiResource.putTopologyLogconfig(StormApiResource.java:469)\n\tat [...]
The timeout parameter seems to be parsed as an Integer whereas it is cast into a Long in the code, then raising a ClassCastException:
This issue could be related to the recent change of the JSON parser having a different behavior when parsing numbers: