Apache Pulsar v2.4.0 Release Notes

Release Date: 2019-07-05 // almost 5 years ago
  • Apache

    2.4.0 โ€” 2019-06-30

    PIPs

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fix possible message loss using peer-cluster feature #3426
    • ๐Ÿ›  Fix pulsar standalone does not read zk port from conf/standalone.conf #3790
    • ๐Ÿ›  Fix some issues of ZkIsolatedBookieEnsemblePlacementPolicy #3917 #3918
    • ๐Ÿ›  Fix NPE when unload non-existent topic #3946
    • ๐Ÿ›  Fix race condition while deleting global topic #4173
    • ๐Ÿ›  Fix deadlock on skip messages #4411
    • ๐Ÿ›  Fix NPE when closing batch during a reconnection #4427
    • ๐Ÿ›  Fix race condition of read-timeout task in managed ledger #4437
    • 0๏ธโƒฃ Disable sticky read by default #4526
    • ๐Ÿ›  Fix race condition between timeout-task and add-call complete #4455

    โœจ Enhancements

    • โšก๏ธ Optimize message replay for large backlog consumer #3732
    • โž• Added support for websocket produce/consume command #3835
    • โž• Added support for TTL config in broker.conf #3898
    • โฌ‡๏ธ Reduce memory used in ClientCnx for pending lookups #4104
    • โฌ‡๏ธ Reduce number of hashmap sections for ledger handles cache #4102
    • โž• Added backlog and offloaded size in Prometheus stats #4150
    • โž• Added support for configure the managed ledger cache eviction frequency #4066
    • โž• Added support to avoid payload copy when inserting into managed ledger cache #4197
    • โž• Added support to cache unack-messageId into OpenRangeSet #3819
    • โž• Added support configure static PulsarByteBufAllocator to handle OOM errors #4196
    • Auto refresh new tls certs for jetty webserver #3645
    • Create non-persistent topic by pulsar-admin/rest api #3625
    • Consumer priority-level in Failover subscription #2954

    ๐Ÿ”’ Security

    • โž• Added support for other algorithms in token auth #4528

    Namespace Policies

    • โž• Added support for tenant based bookie isolation #3933
    • โž• Added support for secondary bookie isolation group at namespace #4458
    • โž• Added support for secondary bookie-isolation-group #4261
    • โž• Added support for replicator rate limit between clusters #4273
    • 0๏ธโƒฃ Disable backlog quota check by default #4320

    Tiered Storage

    • โž• Added support for Pulsar SQL to read data from tiered storage #4045

    Pulsar Schema

    • โž• Added schema versioning to support multi version messages produce and consume #3876 #3670 #4211 #4325 #4548
    • โž• Added TRANSITIVE schema check strategies to support compatibility check over all existing schemas #4214
    • โž• Added schema data validator #4360
    • โž• Added support for delete schema when deleting a topic #3941
    • โž• Added generic record builder #3690

    Pulsar IO

    • โž• Added IO connector for flume source and sink #3597
    • โž• Added IO connector for redis sink #3700
    • โž• Added IO connector for solr sink #3885
    • Hide kafka-connecter details for easy use debezium connector #3825
    • โž• Added IO connector for debezium PostgreSQL source #3924
    • โœจ Enhancements for RabbitMQ source configuration #3937
    • โž• Added IO connector for RabbitMQ sink #3967
    • โž• Added IO connector for InfluxDB sink #4017

    Pulsar functions

    • โž• Added support for authentication #3735 #3874 #4198
    • ๐Ÿ›  Fix NPE when stats manager not initialized #3891
    • โž• Added async state manipulation methods #3798
    • ๐Ÿ›  Fix fail to update functions in effectively-once mode #3993
    • โž• Added labels to function statefulsets and services #4038
    • โž• Added support for set key for message when using function publish #4005
    • ๐Ÿ‘‰ Use negative acknowledge to instead ackTimeout #4103
    • ๐Ÿ›  Fix backward compatibility with 2.2 auth not working #4241

    Java client

    • โž• Added negative acks #3703
    • โž• Added support for backoff strategy configuration #3848
    • โž• Added support for configure TypedMessageBuilder through a Map conf object #4015
    • โž• Added interceptor for negative ack send #3962
    • โž• Added support for seek operate on reader #4031
    • Store key part of KeyValue schema into pulsar message keys #4117
    • โž• Added interceptor for ack timeout #4300
    • โž• Added support for snappy compression #4259
    • โž• Added support for key based batcher #4435

    Python client

    • โž• Added negative acks #3816
    • โž• Added support for snappy compression #4319

    Go client

    • โž• Added negative acks #3817
    • โž• Added support for go schema #3904
    • โž• Added support for snappy compression #4319
    • โž• Added support for Key_Shared subscription #4465

    C++ client

    • โž• Added negative acks #3750
    • ๐Ÿ›  Fix ack timeout when subscribing to regex topic #3897
    • โž• Added support for Key_Shared subscription #4366

    Adaptors

    • ๐Ÿ”ง In Kafka client wrapper, added some configurations #3753 #3797 #3843 #3887 #3991
    • In Apache Flink connector, allow to specify a custom Pulsar producer #3894 and client authentication #3949
    • ๐Ÿ‘ In Apache Flink connector, added support for accept ClientConfigurationData, ProducerConfigurationData, ConsumerConfigurationData #4232
    • In Apache Storm connector, fix NPE while emitting next tuple #3991 and some add some enhancements #4280 #4239#4238 #4236 #4495 #4494

    ๐Ÿ‘€ For a complete list of issues fixed, see

    https://github.com/apache/pulsar/milestone/20?closed=1

    ๐Ÿš€ https://github.com/apache/pulsar/releases/tag/v2.4.0