Why is deadLetterPolicy attribute in the ConsumerConfigurationData class marked as transient? #23076
-
As a user of Apache Pulsar, I have been utilising Due to Storm topologies being serialised and transferred from the nimbus to workers for execution, the transient nature of this attribute results in the loss of our specified configuration. I was wondering if anyone knows why this attribute needs to be transient? Ideally implementing the |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
I see that this change was introduced in this PR which aimed to integrate SpotBugs in the pulsar-client module. Considering that the If some one can confirm this, I can submit a PR with the changes to make the |
Beta Was this translation helpful? Give feedback.
-
@codelipenghui Can you comment on this, as the aforementioned PR was raised by you? |
Beta Was this translation helpful? Give feedback.
-
Created an issue for the same: #23704. |
Beta Was this translation helpful? Give feedback.
@AnuragReddy2000 Thanks for investigating this issue. It would be useful to first create an issue in https://github.com/apache/pulsar/issues about the problem that you are facing with the pulsar-storm adaptor when the
deadLetterPolicy
gets lost.I don't see a reason why field
deadLetterPolicy
should be transient. In the referenced PR #9630, the correct resolution would have been to makeDeadLetterPolicy
class implementjava.io.Serializable
and addprivate static final long serialVersionUID = 1L;
field instead of making it a transient field. It looks like there are multiple other problems in the PR anddeadLetterPolicy
isn't the only issue. The same issue applies tokeySharedPolicy
andmes…