Hi Baodi

> Additionally, if a consumer is already
> using schema ID 1: `Int32`,
> consuming the M3(id:1 `String`) message
> will get an error, right?

Correct

On Wed, Oct 9, 2024 at 11:42 AM Baodi Shi <ba...@apache.org> wrote:

> +1 Additionally, if a consumer is already using schema ID 1: `Int32`,
> consuming the M3(id:1 `String`) message will get an error, right?
>
> Thanks,
> Baodi Shi
>
> Yubiao Feng <yubiao.f...@streamnative.io.invalid> 于2024年10月9日周三 11:29写道:
> >
> > Hi all
> >
> > Background: When the schemas of a topic are lost, all of the messages in
> > the topic can not be consumed successfully, and producers can not publish
> > messages anymore. This mechanism alerts users to try to recover their
> > schemas or recreate their topics.
> >
> > https://github.com/apache/pulsar/pull/23395 added a patch: producers
> will
> > rebuild schemas if the original schemas were lost, which will mix the old
> > schema and new schema as the same schema ID. For example:
> > - send M1 with schema `Int32`, get schema id: `1`
> > - send M2 with schema `String`, get schema id: `2`
> > - schemas are lost
> > - send M3 with schema `String`, get schema id `1`
> >
> > The messages `M1` and `M3` use different schemas, but have the same
> schema
> > id, but users assume all things are fine, which is dangerous. So I want
> to
> > revert this PR.
> >
> > Thanks
> > Yubiao Feng
>

Reply via email to