| [branch-2.10] Remove cpp tests The C++ and Python clients are not maintained in the main repo now. | 3 年前 |
| [improve][broker][branch-2.10] Backport Linux metrics changes from master branch (#20659) | 3 年前 |
| set project version | 2 年前 |
| [fix][test] ProxyWithAuthorizationTest remove SAN from test certs (#19594) (cherry picked from commit f292bad8ac92eaa0c9f6735b12742c0aa27be5e8) (cherry picked from commit 6576231a0b4b9cbb92b7a6fc0e36e6f071f05f18) | 3 年前 |
| set project version | 2 年前 |
| InflightReadsLimiter - limit the memory used by reads end-to-end (from storage/cache to the write to the consumer channel) (#18245) * InflightReadsLimiter - limit the memory used by reads end-to-end (from storage/cache to the write to the consumer channel) Motivation: Broker can go out of memory due to many reads enqueued on the PersistentDispatcherMultipleConsumers dispatchMessagesThread (that is used in case of dispatcherDispatchMessagesInSubscriptionThread set to true, that is the default value) The limit of the amount of memory retained due to reads MUST take into account also the entries coming from the Cache. When dispatcherDispatchMessagesInSubscriptionThread is false (the behaviour of Pulsar 2.10) there is some kind of natural (but still unpredictable!!) back pressure mechanism because the thread that receives the entries from BK of the cache dispatches immediately and synchronously the entries to the consumer and releases them Modifications: - Add a new component (InflightReadsLimiter) that keeps track of the overall amount of memory retained due to inflight reads. - Add a new configuration entry managedLedgerMaxReadsInFlightSizeInMB - The feature is disabled by default - Add new metrics to track the values * Change error message * checkstyle * Fix license * remove duplicate method after cherry-pick * Rename onDeallocate (cherry picked from commit 6fec66b12b04a37e4c2b05d78d4e33b380c270df) | 2 年前 |
| [fix][broker]optimize the shutdown sequence of broker service when it close (#16756) (cherry picked from commit 14912a6a8db750e972de577542b937aeac467987) | 3 年前 |
| Vagrantfile update for build dependency (#5968) Fixes #5967 ### Motivation Cannot build the project successfully. ### Modifications Add install commands to install the unzip zip tools when vm sets up | 6 年前 |
| set project version | 2 年前 |
| Remove unnecessary documentation of pulsar-dashboard (#13848) * Remove unnecessary documentation of pulsar-dashboard * Remove website-next doc, too | 4 年前 |
| set project version | 2 年前 |
| Deprecate apachepulsar/pulsar-grafana docker image (#13389) * Deprecate apachepulsar/pulsar-grafana docker image * Add license to new file | 4 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| [fix][broker][branch-2.10] limit the memory used by reads end-to-end | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| InflightReadsLimiter - limit the memory used by reads end-to-end (from storage/cache to the write to the consumer channel) (#18245) * InflightReadsLimiter - limit the memory used by reads end-to-end (from storage/cache to the write to the consumer channel) Motivation: Broker can go out of memory due to many reads enqueued on the PersistentDispatcherMultipleConsumers dispatchMessagesThread (that is used in case of dispatcherDispatchMessagesInSubscriptionThread set to true, that is the default value) The limit of the amount of memory retained due to reads MUST take into account also the entries coming from the Cache. When dispatcherDispatchMessagesInSubscriptionThread is false (the behaviour of Pulsar 2.10) there is some kind of natural (but still unpredictable!!) back pressure mechanism because the thread that receives the entries from BK of the cache dispatches immediately and synchronously the entries to the consumer and releases them Modifications: - Add a new component (InflightReadsLimiter) that keeps track of the overall amount of memory retained due to inflight reads. - Add a new configuration entry managedLedgerMaxReadsInFlightSizeInMB - The feature is disabled by default - Add new metrics to track the values * Change error message * checkstyle * Fix license * remove duplicate method after cherry-pick * Rename onDeallocate (cherry picked from commit 6fec66b12b04a37e4c2b05d78d4e33b380c270df) | 2 年前 |
| set project version | 2 年前 |
| [fix][broker][branch-2.10] limit the memory used by reads end-to-end | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| [cherry-pick] [branch-2.10] Better Python garbage collection management for C++-owned objects (#16535) (#18921) Co-authored-by: Zac Bentley <zbentley@users.noreply.github.com> | 3 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| [fix] [client] fix same producer/consumer use more than one connection per broker (#21144) Motivation: Pulsar has two mechanisms to guarantee that a producer connects to the broker multiple times the result is still correct. - In a connection, the second connection waits for the first connection to complete. - In a topic, the second connection will override the previous one. However, if a producer can use different connections to connect to the broker, these two mechanisms will not work. When the config `connectionsPerBroker` of `PulsarClient` is larger than `1`, a producer could use more than one connection, leading to the error above. You can reproduce this issue by the test `testSelectConnectionForSameProducer.` Modifications: Make the same producer/consumer usage the same connection (cherry picked from commit f2b9a3fffd4aad414ba5f35ebff17502cb64eb12) | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| [fix][fn] Go functions must retrieve consumers by non-particioned topic ID (#20413) Co-authored-by: Andy Walker <andy@andy.dev> (cherry picked from commit fb1b46e5e993d77c583f715d2bea2eadbb052a81) | 3 年前 |
| [fix] [client] fix same producer/consumer use more than one connection per broker (#21144) Motivation: Pulsar has two mechanisms to guarantee that a producer connects to the broker multiple times the result is still correct. - In a connection, the second connection waits for the first connection to complete. - In a topic, the second connection will override the previous one. However, if a producer can use different connections to connect to the broker, these two mechanisms will not work. When the config `connectionsPerBroker` of `PulsarClient` is larger than `1`, a producer could use more than one connection, leading to the error above. You can reproduce this issue by the test `testSelectConnectionForSameProducer.` Modifications: Make the same producer/consumer usage the same connection (cherry picked from commit f2b9a3fffd4aad414ba5f35ebff17502cb64eb12) | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| [cherry-pick][branch-2.10]Fix broker cache eviction of entries read by active cursor (#18980) Co-authored-by: LinChen <1572139390@qq.com> Co-authored-by: AloysZhang <lofterzhang@gmail.com> Co-authored-by: Matteo Merli <mmerli@apache.org> Co-authored-by: Michael Marshall <mmarshall@apache.org> Co-authored-by: Lari Hotari <lhotari@users.noreply.github.com> | 3 年前 |
| [improve][build] Upgrade dependencies to reduce CVE. (#20162) | 3 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| set project version | 2 年前 |
| feat: add lua wireshark for pulsar (#13564) Fixes #13517 ### Motivation add a Lua plugin ### Modifications *Describe the modifications you've done.* ### Verifying this change maybe need a code review  | 4 年前 |
| Update .asf.yaml to protect release branches (#14226) * Update .asf.yaml to protect release branches * Remove protections and required runs based on review * Fix context names and document changes | 4 年前 |
| [cherry-pick] [branch-2.10] Better Python garbage collection management for C++-owned objects (#16535) (#18921) Co-authored-by: Zac Bentley <zbentley@users.noreply.github.com> | 3 年前 |
| Add contributing info (#6771) Motivation It is a common practice to have the CONTRIBUTING.md file with info on how to start contributing to the project. Modifications CONTRIBUTING.md was added to the project with the link to the official Apache Pulsar page. | 6 年前 |
| Add ASF headers to Markdown documentation files (#823) | 8 年前 |
| Fixes for NOTICE and LICENSE files for src and bin distribution (#563) | 8 年前 |
| Update notice year. (#13653) ### Motivation Update NOTICE from 2021-2022 | 4 年前 |
| [Docs] Replace adoptopenjdk.net with adoptium.net (#14273) - AdoptOpenJDK has been replaced with Eclipse Adoptium / Temurin https://blog.adoptopenjdk.net/2021/03/transition-to-eclipse-an-update/ | 4 年前 |
| [SECURITY] Add Security Policy and Supported Versions page to website (#10829) * Add SECURITY.md with explicit dates for version support * Add Security and Versioning Policy page to website * Clarify that a version can be supported longer than 12 months * Clean up; Add announcement section * Improve title for better clarity * Add note about upgrade compatibility * Copy doc to site2/website-next/docs The original context for this PR is on the dev mailing list here: https://lists.apache.org/thread.html/ra2db06e8da85bff67d8d588dc1e93d965f2e1d70c95bda2f08d14138%40%3Cdev.pulsar.apache.org%3E ### Motivation The Pulsar project does not explicitly declare version support time lines. By declaring support time lines, we can give our users more confidence that they will receive relevant security fixes before vulnerabilities are announced. Additionally, these time lines will guide the PMC when determining which branches need to receive security fixes. I decided to start with a 12 month support window instead of 18. If we use 18 months, 2.5.x should still technically be supported. Additionally, PIP-47 indicates that we should be doing 4 minor releases a year. If we tried to support releases for 18 months, that could mean a _lot_ of extra releases if there are security vulnerabilities discovered in all active branches. I am open to debate/feedback on this point. ### Modifications Add a `SECURITY.md` file and pages on the website. ### Release Process If this PR is accepted, I'll follow up with a change to the pulsar wiki to update the release process. Each minor and major release will require an update to the table in the `SECURITY.md` file. ### Other Changes It might be worth adding the content in this PR to a page on the pulsar website. I'm not sure where to add that yet, so I'd like to get feedback on this content before duplicating it to the website. ### Reference I used the Apache Spark version policy (https://spark.apache.org/versioning-policy.html) as a guide for creating this doc. | 4 年前 |
| [Doc] adjusting md style (#13615) | 4 年前 |
| Configure Google Error Prone static code analysis tool (#8879) ### Motivation Google's [Error Prone static code analysis tool](https://errorprone.info/) can detect typical programming mistakes (for more info see https://errorprone.info/). This PR adds configuration to Pulsar maven build so that Error Prone static code analysis can be run for the Pulsar code base. This additional configuration is not active by default and requires activating `errorprone` and `errorprone-jdk8` or `errorprone-jdk11` maven profiles in addition to `main` or `core-modules` profile for running the analysis. ### Modifications - add a separate maven profile for running errorprone analysis it is not active by default - Add top-level `lombok.config file` for configuring Lombok. This file doesn't contain any other settings that marks it as the top most config file with `config.stopBubbling = true` (see https://projectlombok.org/features/configuration for reference) - Before running the Error Prone analysis, it's necessary to manually configure Lombok to add `@javax.annotation.Generated("lombok")` annotation on all fields, methods, and types that are generated. This makes Error Prone skip the analysis for Lombok generated code. - this setting cannot be enabled by default since JDK9+ doesn't include the `javax.annotation.Generated` annotation by default and adding the required dependency will change the classpath dependency resolution results. - There is an open issue to support lombok.Generated annotion in ErrorProne, https://github.com/google/error-prone/issues/1863 - example usage: Configure Lombok to add Generated annotations `echo "lombok.addJavaxGeneratedAnnotation = true" >> lombok.config` then, on JDK8 `mvn -Perrorprone,errorprone-jdk8,core-modules compile` on JDK11+ `mvn -Perrorprone,errorprone-jdk11,core-modules compile` - usability is better when used together with IntelliJ since one can click on the error message to navigate to the code location - also add configuration for Error Prone SLF4J plugin https://github.com/KengoTODA/errorprone-slf4j which helps detect misusage of SLF4J API | 5 年前 |
| Fix license check issue | 2 年前 |