Dear Pulsar enthusiast, This is the Pulsar community weekly update for 2020-11-07 ~ 2020-11-13, with updates on Pulsar client, broker, transaction, and so on.
This Pulsar community weekly update is also available at https://streamnative.io/weekly/2020/2020-11/2020-11-13-pulsar-weekly. *All Pulsar community weekly updates are available at **https://streamnative.io/weekly/ <https://streamnative.io/weekly/>.* =============== Pulsar Highlight ================ Expose the transaction client interface. For details, see [PR-8505]( https://github.com/apache/pulsar/pull/8505). by (@[congbobo184](https://github.com/congbobo184)) =============== *Development================- PIP-72: Introduce the Pulsar Interface Taxonomy for audience and stability classification. https://github.com/apache/pulsar/pull/8530 <https://github.com/apache/pulsar/pull/8530> (@[sijie](https://github.com/sijie <https://github.com/sijie>))- PIP-38: Support batching receive in Java client. https://github.com/apache/pulsar/pull/4621 <https://github.com/apache/pulsar/pull/4621> (@[codelipenghui](https://github.com/codelipenghui <https://github.com/codelipenghui>))===============* *Notable Feature================- [Functions] Refactor Context and State API to allow plugging different state store implementations. https://github.com/apache/pulsar/pull/8537 <https://github.com/apache/pulsar/pull/8537> (@[sijie](https://github.com/sijie <https://github.com/sijie>))- [Broker] Expose consumer names after the mark delete position for the Key_Shared subscription. https://github.com/apache/pulsar/pull/8545 <https://github.com/apache/pulsar/pull/8545> (@[codelipenghui](https://github.com/codelipenghui <https://github.com/codelipenghui>))- [Websocket] Support WebSocket producer for V2 topics. https://github.com/apache/pulsar/pull/8535 <https://github.com/apache/pulsar/pull/8535> (@[k2la](https://github.com/k2la <https://github.com/k2la>))- [Transaction] Register transaction metadata before sending or acknowledging messages. https://github.com/apache/pulsar/pull/8493 <https://github.com/apache/pulsar/pull/8493> (@[gaoran10](https://github.com/gaoran10 <https://github.com/gaoran10>))- [Transaction] Expose the transaction interface. https://github.com/apache/pulsar/pull/8505 <https://github.com/apache/pulsar/pull/8505> (@[congbobo184](https://github.com/congbobo184 <https://github.com/congbobo184>))- [Functions] Improve the Function state workflow with timeouts. https://github.com/apache/pulsar/pull/8528 <https://github.com/apache/pulsar/pull/8528> (@[jerrypeng](https://github.com/jerrypeng <https://github.com/jerrypeng>))- [Client] The Java client supports `UnAvroBased` Schema. https://github.com/apache/pulsar/pull/8246 <https://github.com/apache/pulsar/pull/8246> (@[hnail](https://github.com/hnail <https://github.com/hnail>))- [Broker] Support disabling replicated subscriptions. https://github.com/apache/pulsar/pull/8144 <https://github.com/apache/pulsar/pull/8144> (@[k2la](https://github.com/k2la <https://github.com/k2la>))- [Transaction] Support pending-ack state for batch messages and implement pending-ack server patch. https://github.com/apache/pulsar/pull/8426 <https://github.com/apache/pulsar/pull/8426> (@[congbobo184](https://github.com/congbobo184 <https://github.com/congbobo184>))- [Client] Add ability to examine specific messages based on the position related to the earliest or the latest message. https://github.com/apache/pulsar/pull/8494 <https://github.com/apache/pulsar/pull/8494> (@[MarvinCai](https://github.com/MarvinCai <https://github.com/MarvinCai>))- [Broker] Improve the test code readability and maintainability by refactoring repeated values. https://github.com/apache/pulsar/pull/8052 <https://github.com/apache/pulsar/pull/8052> (@[kellyfj](https://github.com/kellyfj <https://github.com/kellyfj>))- [Functions] Asynchronously run the batch source discovery and acknowledge task messages. https://github.com/apache/pulsar/pull/8498 <https://github.com/apache/pulsar/pull/8498> (@[jerrypeng](https://github.com/jerrypeng <https://github.com/jerrypeng>))- [Client] Update the `getBrokersWithNamespaceIsolationPolicy` command. https://github.com/apache/pulsar/pull/8472 <https://github.com/apache/pulsar/pull/8472> (@[jiazhai](https://github.com/jiazhai <https://github.com/jiazhai>))- [Broker] Support taking de-duplication snapshots based on time. https://github.com/apache/pulsar/pull/8474 <https://github.com/apache/pulsar/pull/8474> (@[315157973](https://github.com/315157973 <https://github.com/315157973>))- [Function] Enable E2E encryption for Pulsar Function. https://github.com/apache/pulsar/pull/8432 <https://github.com/apache/pulsar/pull/8432> (@[nlu90](https://github.com/nlu90 <https://github.com/nlu90>))===============Notable Bug Fix================- [Functions] Fix the conflict caused by the same `jobName` option. https://github.com/apache/pulsar/pull/8508 <https://github.com/apache/pulsar/pull/8508> (@[jdbeck](https://github.com/jdbeck <https://github.com/jdbeck>))- [Broker] Fix the issue that when using the `inactivityMonitor` command to clean inactive partitioned topics, the node in ZooKeeper is not deleted. https://github.com/apache/pulsar/pull/8442 <https://github.com/apache/pulsar/pull/8442> (@[315157973](https://github.com/315157973 <https://github.com/315157973>))- [Client] Fix the typo in pulsar-client-all module's pom.xml. https://github.com/apache/pulsar/pull/8543(@[reswqa](https://github.com/reswqa)) <https://github.com/apache/pulsar/pull/8543(@[reswqa](https://github.com/reswqa))>- [Transaction] Fix the `TransactionBufferHandlerImpl` thread leak in tests. https://github.com/apache/pulsar/pull/8488(@[eolivelli] <https://github.com/apache/pulsar/pull/8488(@[eolivelli]> (https://github.com/eolivelli <https://github.com/eolivelli>))- [Client] Fix race condition when calling `acknowledgementWasProcessed()`. https://github.com/apache/pulsar/pull/8499(@[codelipenghui] <https://github.com/apache/pulsar/pull/8499(@[codelipenghui]> (https://github.com/codelipenghui <https://github.com/codelipenghui>))- [Client] Fix handling errors for client requests. https://github.com/apache/pulsar/pull/8518 <https://github.com/apache/pulsar/pull/8518> (@[merlimat](https://github.com/merlimat <https://github.com/merlimat>))- [C++] Fix the potential crash caused by the AckGroupTracker's timer. https://github.com/apache/pulsar/pull/8519 <https://github.com/apache/pulsar/pull/8519> (@[BewareMyPower](https://github.com/BewareMyPower <https://github.com/BewareMyPower>))================Event / News================ [TGIP] Weekly live stream about Pulsar and its ecosystem. - All video recordings are available at [here](https://streamnative.io/resource#tgip <https://streamnative.io/resource#tgip>).- [Upcoming Event] - Pulsar Summit Asia 2020 https://pulsar-summit.org/en/event/asia-2020 <https://pulsar-summit.org/en/event/asia-2020>================Blog / Article================- Event-driven railway network based on Pulsar -- Pavels Sisojevs - https://scala.monster/train-station/ <https://scala.monster/train-station/>- Powering Federated Learning at Tencent with Apache Pulsar - https://streamnative.io/success-stories/tencent-angel <https://streamnative.io/success-stories/tencent-angel>- Benchmarking Pulsar and Kafka - A More Accurate Perspective on Pulsar’s Performance - https://streamnative.io/blog/tech/2020-11-09-benchmark-pulsar-kafka-performance <https://streamnative.io/blog/tech/2020-11-09-benchmark-pulsar-kafka-performance>- Benchmarking Pulsar and Kafka - The Full Benchmark Report - https://streamnative.io/blog/tech/2020-11-09-benchmark-pulsar-kafka-performance-report <https://streamnative.io/blog/tech/2020-11-09-benchmark-pulsar-kafka-performance-report>- Apache Pulsar 2.6.2 - https://pulsar.apache.org/blog/2020/11/09/Apache-Pulsar-2-6-2/ <https://pulsar.apache.org/blog/2020/11/09/Apache-Pulsar-2-6-2/>If we miss anything, welcome to reply to this thread, thank you.Cheers,Jianyun Zhao, Huanli Meng*