Hi Yufan,

I think there's a slight miscommunication somewhere, because there's
already a Pulsar 4.0.0 release candidate out. See
https://lists.apache.org/thread/d6nd7xx11fd67z5h56sv0tlo5pvlm94o

Do let me know if that's a good one, or if this should be cancelled.

Best regards,

Martijn

On Thu, Apr 13, 2023 at 4:23 PM Yufan Sheng <syh...@gmail.com> wrote:

> Hello all,
>
> I would like to discuss the release of Pulsar Connectors v4.0.0.
>
> A lot of new features and bug fixes have been added to
> flink-connector-pulsar 4.0.0 release. It also introduces some break
> changes in this release.
>
> Improvements
>
> [FLINK-28083] PulsarSource works with object-reusing DeserializationSchema.
> This commit will reuse the Message instance created by the Pulsar
> client. No need to create duplicate objects which improves the source
> performance.
>
> [FLINK-29709] Bump the Pulsar to latest 2.10.2.
> Bundle the latest Pulsar client which is more stable on transaction.
>
> [FLINK-30413] Drop subscription support, remove unordered consumption.
> We won’t support the Shared and Key_Shared subscription in this
> release. It’s buggy and low performance. All the subscriptions created
> by connector will be Exclusive by default.
>
> [FLINK-28870] Improve the Pulsar source performance when meeting small
> data rates.
> The old connector will hang for 10 seconds when consuming the messages
> at a small rate. We have removed this limitation and made it faster to
> switch to another topic partition.
>
> [FLINK-28351] Add dynamic sink topic support for Pulsar connector.
> Writing to a non-existed topic is supported in Pulsar. We added this
> support since this release.
>
> [FLINK-30654][Connector/Pulsar] Force consumption from StartCursor
> every time the application starts.
> StartCursor is used only when the subscription does not exist in
> Pulsar. We now support using the position from the StartCursor every
> time the application starts.
>
> New Features
>
> [FLINK-26027] Expose Pulsar producer metrics and add FLIP-33 sink metrics.
> You can monitor all the Pulsar client metrics now in this release. We
> also support the FLIP-33 sink metrics by default which you can have a
> clear view on how many messages have been written.
>
> [FLINK-25686] Support schema evolution for Pulsar source.
> Schema evolution has been supported in the Pulsar sink. We add a new
> option for enabling the schema evolution support in source.
>
> [FLINK-28082] Add end-to-end encryption support for Pulsar connector.
> End-to-end encryption can encrypt the messages from sink to source in
> the connector with an extra signature check. No one can see the real
> content except the connector.
>
> [FLINK-30689] Support sending message bytes with extra schema check.
> Connector is sending the messages in bytes by default. We add this
> feature for supporting validating the message bytes with the latest
> schema on Pulsar.
>
> [FLINK-30622] Support consuming messages with schema auto-detection from
> Pulsar.
> Some topics may contain multiple types of messages. Use this feature
> to convert these messages into a more general interface.
>
> BUG Fixes
>
> [FLINK-30552] Drop next message id calculation, use resetCursor api to
> exclude the given message.
> The old connector has a crucial bug on consuming messages which are
> sent to Pulsar in batch. We have fixed the bug and supported all the
> message types since this release.
>
> Breaking Changes
>
> Some classes and interfaces which are annotated with @PublicEvolving
> have been changed in this release. And this may affect the end-users.
>
> Pulsar Sink
>
> PulsarMessage should be created by using the PulsarMessage.builder()
> method. The PulsarMessageBuilder can’t be created directly like
> before.
>
> The route method in the TopicRouter interface should return a
> TopicPartition instead of a topic name.
>
> All the static methods in PulsarSerializationSchema have been removed.
> You should set them (Schema, SerializationSchema) by directly using
> PulsarSinkBuilder.setSerializationSchema().
>
> Pulsar Source
>
> The subscription type setting has been removed from the connector. All
> the connector’s subscriptions will be created in Exclusive type. The
> checkpoint for Shared and Key_Shared subscriptions couldn’t be used
> since this release.
>
> The setSubscriptionType method has been removed from the
> PulsarSourceBuilder.
>
> The fromMessageTime method has been removed from the StartCursor.
> Pulsar doesn’t support seeking from message time.
>
> The RangeGenerator interface removed the deprecated open method and
> the keyShareMode method. Because we don’t support the Key_Shared
> subscription now. The RangeGenerator is only used in Exclusive
> subscription to filter the desired keys.
>
> TopicPartition only exposes two constructors with the @PublicEvolving
> annotation now.
>
> All the static methods in PulsarDeserializationSchema have been
> removed. You should set them (Schema, SerializationSchema) by directly
> using PulsarSourceBuilder.setDeserializationSchema().
>
> The first argument of the open method in PulsarDeserializationSchema
> has been changed from InitializationContext to a new
> PulsarInitializationContext interface.
>
> Weijie Guo will be the release manager.
>
> Thanks,
> Yufan
>

Reply via email to