I am facing a weird problem related to tuple field de-serialisation. I'll lay down problem and my understanding, to validate/invalidate my understanding and find a solution to my problem
So here it goes - I am emitting a custom object as a tuple field from one function and its used in the next function which happen to be in another bolt. - I have made the function serializable. Most of the members are serializable, but there are a few members which are not serializable, so have made them transient and am recreating/reinitializing them in readObject(...). My understanding was before being handed over, all the tuple fields would have de-serialized (i.e. readObject(...) invoked). But that doesn't seems to be the case, it seems that de-serialization is called on a different thread and my second function (the one that uses the de-serialized object) is invoked in another thread (this observations is from running the topology on a local cluster, but the issue is even when i deploy my topology onto a prod cluster). So essentially the tuples are handed over before the fields are de-serialized and my second function fails. Is there something else i have to do to properly de-serialize the tuple fields? Any help would be awesome. -Samit
