Hi, I would like to propose a Pluggable topic factory in pulsar. Users select the topic type (persistent/non-persistent) based on the application use case and requirement of topic behavior. However, in some circumstances, users need some additional behavior on top of the existing implementation and even would like to inject custom workflow in existing topic behavior. Such special circumstances are mostly needed when users would like to do smooth migrations of topics or pulsar clusters without impacting producer and consumer applications. In such scenarios, users can override publish or dispatch behavior of the topic and plug in the additional workflow. For example: perform dual write on multiple topics while migration or skip messages published from the specific source without explicit publish failures, ignore specific subscription source without generating a client-side error, or without impacting client applications. This feature will be useful for any kind of migration where the pulsar cluster is serving live topics and require custom topic level treatment for flawless server-side migration and without impacting client applications, especially legacy applications which are hard to change.
I have added a proposal to wiki page: https://github.com/apache/pulsar/wiki/PIP-100:-Pulsar-pluggable-topic-factory Thanks, Rajan