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

Reply via email to