Re: [DISCUSS] How to handle broker public API changes

2022-12-07 Thread Nicolò Boschi
> > The root cause is that we don't have an API abstraction for the > pulsar-broker module +1 I think that's reasonable to think about the pulsar-broker module as internal and to not take care of retrocompatibility. If we have the desire to expose the broker service classes in a compatible way,

Re: [DISCUSS] How to handle broker public API changes

2022-12-07 Thread Haiting Jiang
Hi all, We already have working procedures to change the public API, like PIP , mail-discussion and the PR templates. >From what I understand, the problem is more like how to provide a clear and proper definition of "Broker Public API". I believe it's the reason why PIP-136 updated the method sign

Re: [DISCUSS] How to handle broker public API changes

2022-12-06 Thread mattisonchao
> I'm afraid it's very hard to avoid these API changes. Take theprotocol > handler as example, it could make use of nearly all modulesvia the > `PulsarService` object. The cost to keep the compatibilitymight be high so > that much legacy code could be left. For example,each time a new argument i

Re: [DISCUSS] How to handle broker public API changes

2022-12-06 Thread Yunze Xu
I'm afraid it's very hard to avoid these API changes. Take the protocol handler as example, it could make use of nearly all modules via the `PulsarService` object. The cost to keep the compatibility might be high so that much legacy code could be left. For example, each time a new argument is added

Re: [DISCUSS] How to handle broker public API changes

2022-12-06 Thread mattisonchao
>  It would help me understand if you would explain how apis were changed in > this PR Sorry, I explained above. it's a small break, maybe it just breaks some unit test mock, but it can be used as an example. > We should be sure to track and then highlight API changes in release > documents. > A

Re: [DISCUSS] How to handle broker public API changes

2022-12-06 Thread mattisonchao
> Could you please share more details about how the change breaks the broker > public API? For example, this PR[1] change the public API from non-argument to one argument. It will cause other libraries also change for it. I'm not sure that ensuring the compatibility of method signatures is wor

Re: [DISCUSS] How to handle broker public API changes

2022-12-06 Thread Dave Fisher
Hi- Sent from my iPhone > On Dec 6, 2022, at 8:40 PM, mattisonc...@gmail.com wrote: > > Hi, All > > Recently, I realised we don't have any rules for breaking pulsar broker > public API. [1] While I agree with you that we need to be transparent about changing APIs you mention a specific PR.

Re: [DISCUSS] How to handle broker public API changes

2022-12-06 Thread PengHui Li
Hi mattison Could you please share more details about how the change breaks the broker public API? It will help us to understand the compatibility issue. Thanks, Penghui > On Dec 7, 2022, at 12:39, mattisonc...@gmail.com wrote: > > Hi, All > > Recently, I realised we don't have any rules for