Apache Pulsar 2.9.0
2021-11-25
IMPORTANT NOTICE
IT IS NOT RECOMMENDED TO USE PULSAR 2.9.0 ON PRODUCTION ENVIRONMENT since it does not include the fixes for Log4j2 vulnerability (CVE-2021-44228) and the bundle unloading timeout issue.
News and noteworthy
- PIP-45 Pluggable metadata interface introduced many changes about ZooKeeper metadata management: consistency, resilience, stability, tech debt reduction (less code duplication)
- Pulsar IO: Oracle Debezium connector, new Schema aware Elasticsearch sink connector
- Many improvements to the Pulsar clients, with PIP-83, PIP-91, PIP-96 (see below)
- Geo-replication improvements: PIP-88 replicate schemas across clusters
- Apache Kafka connect sinks can be run as Pulsar sinks #9927
Breaking changes
- Now Pulsar requires ZooKeeper 3.6.x because it uses the Persistent Recursive Watches feature (see PIP-45)
- The Discovery Service has been removed. 12119
- The Pulsar Standalone docker image has been removed. 11657
- The Pulsar Dashboard docker image has been removed. 11284
PIPs
- [PIP 96] Add message payload processor for Pulsar client #12088
- [PIP 99] Pulsar Proxy Extensions #11838
- [PIP 89] Timed log events #11944
- [PIP 82] Tenant and namespace level rate limiting #11918
- [PIP 91] Separate lookup timeout from operation timeout #11627
- [PIP 88] Replicate schemas across clusters #11441
- [PIP 83] Pulsar Reader: Message consumption with pooled buffer #11725
- [PIP 64] Rest API Produce message PIP 64
- [PIP 45] Pluggable metadata interface PIP 45
Pulsar IO and Pulsar Functions
- Added Debezium source for Microsoft SQL Server. 12256
- Upgrading Debezium to 1.7. 12295
- Allow Pulsar Functions localrun to exit on error. 12278
- Function: Support for draining workers. 12178
- Go Functions: support set subscription position. 11990
- Support protobuf-native schema for functions. 11868
- Support protobuf schema for pulsar function. 11709
- Support KEY_BASED batch builder for Java based functions and sources. 11706
- Upgrade Go client version to 0.6.0. 11477
- Stop calling the deprecated method Thread.stop() when stopping the function thread in ThreadRuntime. 11401
Proxy
- Set default httpProxyTimeout to 5 minutes. 12299
- Fixed NPE in ProxyConnection with no auth data. 12111
- Set default http proxy request timeout. 11971
- Fixed Proxy leaking outbound connections. 11848
Metrics
- Add support for splitting topic and partition label in Prometheus. 12225
Library updates
- Upgrade netty to 4.1.68.Final. 12218
- Added JLine 2.x for ZK CLI tool. 12102
- Upgrade aircompressor to 0.20. 11790
- Upgrade Jetty to 9.4.43.v20210629. 11660
- Upgrade commons-compress to 1.21. 11345
- Bump Netty version to 4.1.66.Final. 11344
- Exclude grpc-okhttp dependency and set okhttp3 & okio version. 11025
- Use ubuntu:20.04 base image for Pulsar docker images. 11026
Tiered Storage
- Fix the potential race condition in the BlobStore readhandler. 12123