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]

Reply via email to