You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I had searched in the issues and found no similar issues.
Enhancement Request
In storage modules of knative, rocketmq, pulsar, kafka, the model of Producer's hierarchy is not unified and confused: 3 AbstractProducers in module knative, rocketmq, pulsar have some similar contents, but some implement Producer and some not. Even AbstractProducer in kafka is not been designed into Producer's hierarchy.
InterruptedException should never be ignored. Or the import interrupted state of Thread may be ignored unexpected.
Some logic has been provided by existing util, so no need to code again.
Smaller synchronized scope, lower the thread competitiveness
In AtomicXxx, set() is thread safe and better than CAS when no need to get a return value.
Describe the solution you'd like
Unify the model of Producer's hierarchy: Rename 3 AbstractProducer in module knative, rocketmq to KnativeAbstractProducer, RocketmqAbstractProducer. Add a AbstractProducer in api module implements Producer. Make AbstractProducers in module knative, kafka, rocketmq, pulsar all extends AbstractProducer in api module or its sub abstract class. Remove AbstractProducer in module pulsar.
Catch InterruptedException and call interrupt() of current Thread.
Use existing util.
Minimize synchronized scope.
Use set replace CAS where no need get a return value.
Are you willing to submit PR?
Yes I am willing to submit a PR!
The text was updated successfully, but these errors were encountered:
It has been 90 days since the last activity on this issue. Apache EventMesh values the voices of the community. Please don't hesitate to share your latest insights on this matter at any time, as the community is more than willing to engage in discussions regarding the development and optimization directions of this feature.
If you feel that your issue has been resolved, please feel free to close it. Should you have any additional information to share, you are welcome to reopen this issue.
Search before asking
Enhancement Request
Producer
's hierarchy is not unified and confused: 3AbstractProducer
s in module knative, rocketmq, pulsar have some similar contents, but some implementProducer
and some not. EvenAbstractProducer
in kafka is not been designed intoProducer
's hierarchy.InterruptedException
should never be ignored. Or the import interrupted state of Thread may be ignored unexpected.synchronized
scope, lower the thread competitivenessset()
is thread safe and better than CAS when no need to get a return value.Describe the solution you'd like
Producer
's hierarchy: Rename 3AbstractProducer
in module knative, rocketmq toKnativeAbstractProducer, RocketmqAbstractProducer
. Add aAbstractProducer
in api module implementsProducer
. MakeAbstractProducer
s in module knative, kafka, rocketmq, pulsar all extendsAbstractProducer
in api module or its sub abstract class. RemoveAbstractProducer
in module pulsar.InterruptedException
and callinterrupt()
of current Thread.synchronized
scope.set
replace CAS where no need get a return value.Are you willing to submit PR?
The text was updated successfully, but these errors were encountered: