rzo1 opened a new pull request, #2149: URL: https://github.com/apache/stormcrawler/pull/2149
I noticed this while testing Storm 3.1.0 RC1: submitting a topology that uses the URLFrontier `StatusUpdaterBolt` fails with `java.io.NotSerializableException: java.lang.Object`. It is not a Storm regression, `TopologyBuilder` is the same in 3.0.0 and 3.1.0. The cause is #2117, which replaced the `ReentrantLock` with plain `Object` monitors (`batchLock`, `sendLock`, `flow`) in final fields. `Object` is not serializable, so the bolt can no longer be serialized when the topology is submitted. 3.5.0 is not affected. This makes the three monitors transient and creates them in `prepare()`. Also adds a small test that serializes and deserializes the bolt; it fails on current main and passes with the change. The existing `StatusUpdaterBoltTest` and `StatusUpdaterBoltFallbackTest` still pass. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
