Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[fix][broker]unify time unit at dropping the backlog on a topic #3

Open
wants to merge 1,049 commits into
base: master
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Sep 8, 2022

  1. Configuration menu
    Copy the full SHA
    6a11fde View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    df9b057 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    88dd816 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ebe7220 View commit details
    Browse the repository at this point in the history
  5. [ci] Reduce runners load for pulls that affect only doc or cpp changes (

    apache#17541)
    
    * [ci] Reduce runners load for pulls that affects only doc or cpp changes
    
    * add final jobs to mark required workflows as completed even if they are skipped
    
    * test parametrized job id
    
    * fix latest step
    nicoloboschi authored Sep 8, 2022
    Configuration menu
    Copy the full SHA
    7e86968 View commit details
    Browse the repository at this point in the history
  6. [ci] Move more tests to the flaky suite (apache#17552)

    - to reduce load on CI
    nicoloboschi authored Sep 8, 2022
    Configuration menu
    Copy the full SHA
    8c7dc4e View commit details
    Browse the repository at this point in the history
  7. [ci] Skip run flaky tests suite for cpp-only or doc-only changes (apa…

    …che#17551)
    
    * [ci] Skip run flaky tests suite for cpp-only changes
    
    * also ignore doc changes
    
    * use changed_files
    nicoloboschi authored Sep 8, 2022
    Configuration menu
    Copy the full SHA
    a3c3f80 View commit details
    Browse the repository at this point in the history
  8. [fix][broker] Fix issue where leader broker information isn't availab…

    …le after 10 minutes (apache#17401)
    
    * [fix][broker] Leader election cache should not invalidate entries
    
    - cache expiration leads to problems and it is better to serve a stale entry than to ever expire the
      entry
    - MetadataStore didn't support passing cache configuration for a MetadataCache, it
      was necessary to modify the interface to support that.
    
    * Add test case
    
    * Prevent stale values in leader election cache
    
    Co-authored-by: Enrico Olivelli <[email protected]>
    lhotari and eolivelli authored Sep 8, 2022
    Configuration menu
    Copy the full SHA
    774c50b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f1df382 View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2022

  1. [improve][misc] Pull request template (apache#17545)

    * [improve][misc] Pull request template
    
    1. Highlight to retain the documentation section so that committers can correct it if necessary simply with UI.
    2. Few people edit the "affect one of the following parts". Change it to checkboxes for easily applying.
    3. Comment out some placeholder.
    
    * Update .github/PULL_REQUEST_TEMPLATE.md
    tisonkun authored Sep 9, 2022
    Configuration menu
    Copy the full SHA
    4ec338d View commit details
    Browse the repository at this point in the history
  2. [fix][doc] remove This example uses Pulsar x.x.x (apache#17533)

    * remove `This example uses Pulsar x.x.x`
    
    * Update site2/docs/tiered-storage-aliyun.md
    
    Co-authored-by: momo-jun <[email protected]>
    
    * Update site2/docs/tiered-storage-aws.md
    
    Co-authored-by: momo-jun <[email protected]>
    
    * Update site2/docs/tiered-storage-filesystem.md
    
    Co-authored-by: momo-jun <[email protected]>
    
    * Update site2/docs/tiered-storage-azure.md
    
    Co-authored-by: momo-jun <[email protected]>
    
    * Update site2/docs/tiered-storage-gcs.md
    
    Co-authored-by: momo-jun <[email protected]>
    
    Co-authored-by: momo-jun <[email protected]>
    labuladong and momo-jun authored Sep 9, 2022
    Configuration menu
    Copy the full SHA
    9aaa8ef View commit details
    Browse the repository at this point in the history
  3. [imporve][doc] Update cluster failover document (apache#17489)

    * WIP:move cluster-level failover
    
    * update
    
    * Update site2/docs/client-libraries-java.md
    
    Co-authored-by: momo-jun <[email protected]>
    
    * Update site2/docs/concepts-cluster-level-failover.md
    
    Co-authored-by: momo-jun <[email protected]>
    
    * improve doc
    
    Co-authored-by: momo-jun <[email protected]>
    labuladong and momo-jun authored Sep 9, 2022
    Configuration menu
    Copy the full SHA
    200f433 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    56fb164 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bbcbf32 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    743b038 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    be023a7 View commit details
    Browse the repository at this point in the history
  8. Revert "[fix] Combination of autocreate + forced delete of partitione…

    …d topic with active consumer leaves topic metadata inconsistent. (apache#17308)" (apache#17566)
    
    This reverts commit 9529850.
    eolivelli authored Sep 9, 2022
    Configuration menu
    Copy the full SHA
    8d9e3c2 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2022

  1. Configuration menu
    Copy the full SHA
    12a6cc4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    736aefe View commit details
    Browse the repository at this point in the history
  3. [improve][misc] reduce WhiteBox usage (apache#17578)

    Master Issue: apache#16912
    
    Remove `WhiteBox` usage in `pulsar-client` and `pulsar-client-tools`. We then have only usages in `pulsar-broker`, `pulsar-io-elastic-search`, and `testmocks`.
    
    cc @nicoloboschi @lhotari @shoothzj @eolivelli 
    
    ### Documentation
    
    <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
    
    - [ ] `doc-required` 
    (Your PR needs to update docs and you will update later)
    
    - [x] `doc-not-needed` 
    (Please explain why)
    
    - [ ] `doc` 
    (Your PR contains doc changes)
    
    - [ ] `doc-complete`
    (Docs have been already added)
    tisonkun authored Sep 10, 2022
    Configuration menu
    Copy the full SHA
    06c14cb View commit details
    Browse the repository at this point in the history
  4. [fix][broker] Multiple consumer dispatcher stuck when `unackedMessage…

    …s` greater than `maxUnackedMessages` (apache#17483)
    mattisonchao authored Sep 10, 2022
    Configuration menu
    Copy the full SHA
    d7943a5 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2022

  1. Configuration menu
    Copy the full SHA
    7bb290c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1a638aa View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c1434fd View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2022

  1. [fix][CI] Don't run "Pulsar CI checks completed" too early and fix di…

    …sk space issue in saving docker image (apache#17584)
    
    * [fix][CI] Don't run "Pulsar CI checks completed" too early
    
    - "if: always()" caused the job to run also when something failed
    
    * Clean up disk space in "Build Pulsar docker image"
    
    * Show disk space before and after cleaning
    
    * Fix deleting files
    lhotari authored Sep 12, 2022
    Configuration menu
    Copy the full SHA
    6751039 View commit details
    Browse the repository at this point in the history
  2. [improve][test] Remove WhiteBox for ElasticSearchSinkTests (apache#17582

    )
    
    Master Issue: apache#16912 
    
    ### Documentation
    
    <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
    
    - [ ] `doc-required` 
    (Your PR needs to update docs and you will update later)
    
    - [x] `doc-not-needed` 
    (Please explain why)
    
    - [ ] `doc` 
    (Your PR contains doc changes)
    
    - [ ] `doc-complete`
    (Docs have been already added)
    tisonkun authored Sep 12, 2022
    Configuration menu
    Copy the full SHA
    adb63d8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7f1fe77 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    65164eb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9962d13 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8f4c0e0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    31a2e08 View commit details
    Browse the repository at this point in the history
  8. [improve][misc] CI status on README.md (apache#17590)

    1. We don't run Pulsar CI for the master branch, so although we can add a badge for it [![ci](https://github.com/apache/pulsar/actions/workflows/pulsar-ci.yaml/badge.svg)](https://github.com/apache/pulsar/actions/workflows/pulsar-ci.yaml), it's inaccurate.
    2. Docker build workflow name has been changed. Also, the workflow doesn't reflect a useful status. Replace it with docker pull statistics.
    tisonkun authored Sep 12, 2022
    Configuration menu
    Copy the full SHA
    af3956c View commit details
    Browse the repository at this point in the history
  9. [improve][broker] Make log flushing configurable in Pulsar broker (ap…

    …ache#17591)
    
    - by default Pulsar won't flush log statements to disk after each log line. This is problematic while investigating some issues since the broker might crash without the last log lines.
    lhotari authored Sep 12, 2022
    Configuration menu
    Copy the full SHA
    e79642c View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2022

  1. Configuration menu
    Copy the full SHA
    5aa1f11 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7b32013 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    16a39e6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    046068a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1395482 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    06bac43 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d23b760 View commit details
    Browse the repository at this point in the history
  8. [fix][client]Fix scheduledExecutorProvider not shutdown (apache#17527)

    * Fix scheduledExecutorProvider not shutdown
    
    * Fix check null
    AnonHxy authored Sep 13, 2022
    Configuration menu
    Copy the full SHA
    a23963d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    1f50366 View commit details
    Browse the repository at this point in the history
  10. [fix][cpp] Fix libcurl build failure when building deb package (apach…

    …e#17614)
    
    * [fix][cpp] Fix libcurl build failure when building deb package
    
    ### Motivation
    
    See apache#17538 (comment)
    
    The root cause is when libcurl is built from source, it uses
    [`ld`](https://linux.die.net/man/1/ld) to check if the `libcurl.so`
    links to the correct dependencies in runtime. In Linux, a dynamic
    library links to the paths of `/etc/ld.so.conf` by default. However,
    different from other images like `centos:7` and `alpine`, this file
    includes `/usr/lib/x86_64-linux-gnu` in `debian:9`.
    
    ```bash
    $ cat /etc/ld.so.conf
    include /etc/ld.so.conf.d/*.conf
    
    $ cat /etc/ld.so.conf.d/*.conf
    /usr/lib/x86_64-linux-gnu/libfakeroot
    # libc default configuration
    /usr/local/lib
    # Multiarch support
    /lib/x86_64-linux-gnu
    /usr/lib/x86_64-linux-gnu
    ```
    
    When libcurl is compiled, it links to the install path of libopenssl via
    the `--with-ssl` option:
    
    https://github.com/apache/pulsar/blob/1f50366768e76f1a5f7084f7972167f989ddd0af/pulsar-client-cpp/pkg/deb/Dockerfile#L85
    
    i.e. `/usr/local/ssl/lib/libopenssl.so`.
    
    However, after the `libcurl.so` is built, it links to
    `/usr/lib/x86_64-linux-gnu/libssl.so.1.1`, see the following output:
    
    ```bash
    $ ldd /usr/local/lib/libcurl.so
    /usr/local/lib/libcurl.so: /usr/lib/x86_64-linux-gnu/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/local/lib/libcurl.so)
    ```
    
    In `debian:9`, the default libopenssl version is 1.1.0:
    
    ```bash
    $ strings /usr/lib/x86_64-linux-gnu/libssl.so.1.1 | grep OpenSSL
    OpenSSL 1.1.0l  10 Sep 2019
    ```
    
    The ABI compatibility is not guaranteed between 1.1.0l and 1.1.1n, see
    https://abi-laboratory.pro/index.php?view=timeline&l=openssl.
    
    ### Modifications
    
    Set the `LD_LIBRARY_PATH` to `/usr/local/ssl/lib` in the Dockerfile to
    build deb package.
    
    Actually it's not required for other images like `centos:7`, but it's
    also good to add the `LD_LIBRARY_PATH` to them. So this PR set the
    environment variable to them as well.
    
    * Fix workflow so that cpp-tests isn't skipped
    
    * Revisit workflow fix to cover doc only workflows too
    
    * Fix multi-line condition
    
    Co-authored-by: Lari Hotari <[email protected]>
    BewareMyPower and lhotari authored Sep 13, 2022
    Configuration menu
    Copy the full SHA
    0754ea1 View commit details
    Browse the repository at this point in the history
  11. [fix][broker]fix catching ConflictException when update topic partiti…

    …on (apache#17374)
    
    Co-authored-by: fanjianye <[email protected]>
    TakaHiR07 and fanjianye authored Sep 13, 2022
    Configuration menu
    Copy the full SHA
    c5cd566 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    c50a1e4 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2022

  1. Configuration menu
    Copy the full SHA
    e4a1473 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b789b08 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    52a380f View commit details
    Browse the repository at this point in the history
  4. [improve][loadbalance] added loadBalancerReportUpdateMinIntervalMilli…

    …s and ignores memory usage in getMaxResourceUsage() (apache#17598)
    heesung-sn authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    de7c586 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b03058c View commit details
    Browse the repository at this point in the history
  6. [fix][tiered-storage] Don't cleanup data when offload met Metastore e…

    …xception (apache#17512)
    
    * [fix][tiered-storage] Don't cleanup data when offload met BadVersion
    ---
    
    *Motivation*
    
    There have two ways that will cause the offload data cleanup. One is met
    offload conflict exception, and another is completeLedgerInfoForOffloaded
    reaches max retry time and throws zookeeper exceptions.
    
    We retry the zookeeper operation on connection loss exception. We should
    be careful about this exception, because we may loss data if the metadata
    update successfully.
    
    When a MetaStore exception happens, we can not make sure the metadata update is
    failed or not. Because we have a retry on the connection loss, it is
    possible to get a BadVersion or other exception after retrying.
    
    So we don't clean up the data if this happens.
    
    *Modification*
    
    - don't delete data if has meta store exception
    
    * log error when skip deleting
    
    * improve logs
    zymap authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    c2588ba View commit details
    Browse the repository at this point in the history
  7. [improve][doc] improve pulsar I/O document (apache#17601)

    * improve doc
    
    * Update site2/docs/io-quickstart.md
    
    Co-authored-by: momo-jun <[email protected]>
    
    * Update site2/docs/io-quickstart.md
    
    Co-authored-by: Anonymitaet <[email protected]>
    
    Co-authored-by: momo-jun <[email protected]>
    Co-authored-by: Anonymitaet <[email protected]>
    3 people authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    91f484f View commit details
    Browse the repository at this point in the history
  8. [feature][cpp] Expose Chunking configuration C API (apache#17332)

    ### Motivation
    
    Expose Chunking configuration C API
    
    ### Modifications
    
    * Expose `chunking_enabled`, `max_pending_chunked_message `, `auto_ack_oldest_chunked_message_on_queue_full ` to C API.
    * Add unit tests for C API of producer configuration and consumer configuration.
    RobertIndie authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    05a884c View commit details
    Browse the repository at this point in the history
  9. [fix][license] Update the jsr version in the presto license file (apa…

    …che#17461)
    
    ---
    
    *Motivation*
    
    Update the jsr version in the presto license file
    zymap authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    e238dcc View commit details
    Browse the repository at this point in the history
  10. [feat][broker][PIP-195] New bucket based delayed message tracker - in…

    …terface&config&proto -part 1 (apache#17344)
    coderzc authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    6bc3016 View commit details
    Browse the repository at this point in the history
  11. [improve][txn] PIP-160 Metrics stats of Transaction buffered writer (a…

    …pache#16758)
    
    Master Issue: apache#15370
    
    ### Motivation
    
    see apache#15370
    
    ### Modifications
    
    I will complete proposal apache#15370 with these pull requests( *current pull request is a part of step 7-1* ): 
    
    1. Write the batch transaction log handler: `TxnLogBufferedWriter`
    2. Configuration changes and protocol changes.
    3. Transaction log store enables the batch feature.
    4. Pending ack log store enables the batch feature.
    5. Supports dynamic configuration.
    6. Append admin API for transaction batch log and docs( admin and configuration doc ).
       GET /admin/v3/transactions/coordinatorStats
       GET /admin/v3/transactions/pendingAckStats/:tenant/:namespace:/:topic:/:subName
    7. Append metrics support for transaction batch log.
      7-1. Metrics of Txn Buffered Writer.
      7-2. `TransactionLog` and `PendingAckStore` enables the Metrics of Txn Buffered Writer
    
    ----
    
    ### The desired effect
    
    `TransactionLog` should create `TxnLogBufferedWriter` with params: 
    
    ```JSON
    {
      "metricsPrefix": "pulsar_txn_tc",
      "labelNames": "coordinatorId",
      "labelValues": "1"
    }
    ```
    
    The  metrics output of `TransactionLog` will like this: 
    
    ```
    # A metrics for how many batches were triggered due to threshold "batchedWriteMaxRecords".
    # TYPE pulsar_txn_tc_batched_log_batched_log_triggering_count_by_records Counter
    pulsar_txn_tc_batched_log_batched_log_triggering_count_by_records{coordinatorId="1"} 15
    ...
    ...
    ...
    # pulsar_txn_tc_batched_log_records_count_per_entry A metrics for how many records in per batch written by the component[pulsar_txn_tc] per batch.
    # TYPE pulsar_txn_tc_batched_log_records_count_per_entry Histogram
    pulsar_txn_tc_batched_log_records_count_per_entry_bucket{coordinatorId="1", le="10"} 1
    pulsar_txn_tc_batched_log_records_count_per_entry_bucket{coordinatorId="1", le="50"} 3
    pulsar_txn_tc_batched_log_records_count_per_entry_bucket{coordinatorId="1", le="100"} 5
    pulsar_txn_tc_batched_log_records_count_per_entry_bucket{coordinatorId="1", le="500"} 10
    pulsar_txn_tc_batched_log_records_count_per_entry_bucket{coordinatorId="1", le="1000"} 10
    pulsar_txn_tc_batched_log_records_count_per_entry_bucket{coordinatorId="1", le="+Inf"} 10
    pulsar_txn_tc_batched_log_records_count_per_entry_count{coordinatorId="1", le="+Inf"} 10
    pulsar_txn_tc_batched_log_records_count_per_entry_sum{coordinatorId="1", le="+Inf"} 5432
    ```
    
    `PendingAckStore` is the same. But all the PendingackStores will not differentiate the Subscription labels (because there are too many)
    
    ----
    
    ### Manage the registered collectors ourselves.
    
    To build Metrics Stat, we need to execute these two steps:
    1. Create `Collector` and register to `CollectorRegistry`, perhaps the Collector is `Histogram` or `Counter` 
    2. Register labels to `Collector` and get `Collector.child`(holds by Metrics Stat). This step can also be omitted because we can execute `collector.labels(labelValues)` to get `Collector.child`. 
    
    In the Transaction log scenario, multiple Transaction Logs share the same `Collector`, and each has its own `Collector.Child`, so when we build metrics stat for each Transaction Log, we call `collector.labels(labelValues)` to get the `Collector.Child`. However, the CollectorRegistry does not provide an API like this:
    
    ```java
    public Collector getRegistedCollector(String name);
    ```
    
    and it will throw IllegalArgumentException when we registering collector with the same name more than once, see:
    
    
    https://github.com/prometheus/client_java/blob/1966186deaaa83aec496d88ff604a90795bad688/simpleclient/src/main/java/io/prometheus/client/CollectorRegistry.java#L49-L65
    
    So we have to manage the registered collectors ourselves.
    
    ----
    
    #### Holds the `Collector.child` by each Metrics stat instance
    
    To save the overhead of `collector.labels(labelValues)`, we make each Metrics Stat hold a reference of `Collector.child`, because this method is not light enough:
    
    https://github.com/prometheus/client_java/blob/1966186deaaa83aec496d88ff604a90795bad688/simpleclient/src/main/java/io/prometheus/client/SimpleCollector.java#L63-L80
    
    ----
    
    #### Code will be removed in the next PR (7-2)
    
    In the complete design, we should have two implementations like UML blow, one for enabling the batch feature, and another for disabled:
    
    ![uml](https://user-images.githubusercontent.com/25195800/182418488-6469a38f-a96c-44e9-8ee6-01273b58b0cd.jpeg)
    
    
    To reduce later maintenance costs, I'd like to ditch the 'DisabledMetricsStat' and we'll always use the implementation 'MetricsStatimpl' even if the Txn buffer writer disables the batch feature. This constructor without 'param-metricsStats' and these' null checks' will be removed in the next PR. This is compatible only with split PR, making each PR have less code
    
    ### Documentation
    
    
    - [ ] `doc-required` 
      
    - [x] `doc-not-needed` 
      
    - [ ] `doc` 
    
    - [ ] `doc-complete`
    poorbarcode authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    57317d6 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    869339d View commit details
    Browse the repository at this point in the history
  13. [fix][cli] Pulsar shell: ensure admin client is recycled or disposed (a…

    …pache#17619)
    
    * [fix][cli] Pulsar shell: ensure admin client is recycled or disposed
    nicoloboschi authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    1ff9fb6 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    845daf5 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    5a87c47 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    8e0ae80 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    99b52eb View commit details
    Browse the repository at this point in the history
  18. [refactor][java-client] Reduce code duplication in GET requests in ad…

    …min client (apache#17023)
    Andras Beni authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    d14b3e3 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    e771fc8 View commit details
    Browse the repository at this point in the history
  20. [fix][cpp] Fix flaky testReferenceCount (apache#17645)

    Fixes apache#14848
    
    ### Motivation
    
    There were several fixes on `ClientTest.testReferenceCount` but it's
    still very flaky.
    
    The root cause is even after a `Reader` went out of the scope and
    destructed, there was still a `Reader` object existed in the thread of
    the event loop. See
    https://github.com/apache/pulsar/blob/845daf5cac23a4dda4a209d91c85804a0bcaf28a/pulsar-client-cpp/lib/ReaderImpl.cc#L88
    
    To verify this point, I added some logs and saw:
    
    ```
    2022-09-14 03:52:28.427 INFO  [140046042864960] Reader:39 | Reader ctor 0x7fffd2a7c110
    # ...
    2022-09-14 03:52:28.444 INFO  [140046039774976] Reader:42 | Reader ctor 0x7f5f0273d720 ReaderImpl(0x7f5efc00a9d0, 3)
    # ...
    2022-09-14 03:52:28.445 INFO  [140046042864960] ClientTest:217 | Reference count of the reader: 4
    # ...
    2022-09-14 03:52:28.445 INFO  [140046042864960] ClientImpl:490 | Closing Pulsar client with 1 producers and 2 consumers
    2022-09-14 03:52:28.445 INFO  [140046039774976] Reader:55 | Reader dtor 0x7f5f0273d720 ReaderImpl(0x7f5efc00a9d0, 3)
    ```
    
    The first `Reader` object 0x7fffd2a7c110 was constructed in main thread
    140046042864960. However, it destructed before another `Reader` object
    0x0x7f5f0273d720 that was constructed in event loop thread
    140046039774976. When the callback passed to `createReaderAsync`
    completed the promise, the `createReader` immediately returns, at the
    same time the `Reader` object in the callback was still in the scope and
    not destructed.
    
    Since `Reader` holds a `shared_ptr<ReaderImpl>` and `ReaderImpl` holds
    a `shared_ptr<ConsumerImpl>`, if we check the reference count too
    quickly, the reference count of the underlying consumer is still
    positive because the `Reader` was not destructed at the moment.
    
    ### Modifications
    
    Since we cannot determine the precise destructed time point because that
    `Reader` object is in the event loop thread, we have to wait for a
    while. This PR adds a `waitUntil` utility function to wait for at most
    some time until the condition is met. Then wait until the reference
    count becomes 0 after the `Reader` object goes out of scope.
    
    Replace `ASSERT_EQ` with `EXPECT_EQ` to let the test continue if it
    failed.
    
    ### Verifying this change
    
    Following the steps here to reproduce:
    apache#14848 (comment)
    
    The test never failed even with `--gtest_repeat=100`.
    BewareMyPower authored Sep 14, 2022
    Configuration menu
    Copy the full SHA
    4ef8dc5 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2022

  1. Configuration menu
    Copy the full SHA
    25cb1fb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    07a9074 View commit details
    Browse the repository at this point in the history
  3. [improve][txn] Implementation of Delayed Transaction Messages (apache…

    …#17548)
    
    link apache#17548
    ### Motivation
    now delayed features and transaction messages cannot be used together.
    When sending a transaction message with a delayed time and commit this transaction, the message will be immediately received by consumers.
    
    Code, eg.
    ```
        @test
        public void testDelayedTransactionMessages() throws Exception {
            String topic = NAMESPACE1 + "/testDelayedTransactionMessages";
    
            @cleanup
            Consumer<String> sharedConsumer = pulsarClient.newConsumer(Schema.STRING)
                    .topic(topic)
                    .subscriptionName("shared-sub")
                    .subscriptionType(SubscriptionType.Shared)
                    .subscribe();
    
            @cleanup
            Producer<String> producer = pulsarClient.newProducer(Schema.STRING)
                    .topic(topic)
                    .enableBatching(false)
                    .create();
    
            Transaction transaction = pulsarClient.newTransaction()
                    .withTransactionTimeout(10, TimeUnit.SECONDS).build().get();
    
            // send delayed messages
            for (int i = 0; i < 10; i++) {
                producer.newMessage(transaction)
                        .value("msg-" + i)
                        .deliverAfter(5, TimeUnit.SECONDS)
                        .sendAsync();
            }
    
            producer.flush();
    
            transaction.commit().get();
    
            Message<String> msg = sharedConsumer.receive(1, TimeUnit.SECONDS);
            // the msg now is not null
            assertNull(msg);
        }
    ```
    This PR will implement clients to send delayed messages with transactions.
    
    ### Modifications
    make transaction message can be put in `trackDelayedDelivery` to implement client send delayed messages with the transaction.
    
    It is worth noting that the dispatcher sends transaction messages to consumers and should follow the `MaxReadPosition` change—(something about `MaxReadPosition` https://github.com/streamnative/community/blob/master/rfc/rfcs/0003-transaction-buffer-design.md). 
    
    Because of the existence of maxReadPosition, the distribution of transaction messages depends on whether the previous transaction message is completed. This will cause delay time extended, but not shortened
    
    ### Verifying this change
    add the test
    congbobo184 authored Sep 15, 2022
    Configuration menu
    Copy the full SHA
    1246d79 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dc54997 View commit details
    Browse the repository at this point in the history
  5. [improve][admin] Make deleteNamesapce api async (apache#17230)

    * fix tests
    
    * fix checkstyle
    
    * fix tests
    
    * fix tests
    
    * fix tests
    
    * fix checkstyle
    
    * fix tests
    
    Co-authored-by: gavingaozhangmin <[email protected]>
    gaozhangmin and gavingaozhangmin authored Sep 15, 2022
    Configuration menu
    Copy the full SHA
    90d70fd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    256bd68 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d6d29c8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c8b7962 View commit details
    Browse the repository at this point in the history
  9. [fix][cpp] Fix issue where unexpected ack timeout occurred (apache#17503

    )
    Masahiro Sakamoto authored Sep 15, 2022
    Configuration menu
    Copy the full SHA
    a98f025 View commit details
    Browse the repository at this point in the history
  10. [fix][build] duplicate entry when merging services (apache#17659)

    This closes apache#17047.
    
    Upstream patch is apache/maven-shade-plugin#150.
    
    Bump maven-shade-plugin version to 3.4.0 for the upstream fix.
    
    Signed-off-by: tison <[email protected]>
    
    Signed-off-by: tison <[email protected]>
    tisonkun authored Sep 15, 2022
    Configuration menu
    Copy the full SHA
    2865007 View commit details
    Browse the repository at this point in the history
  11. [improve][CI] Ensure that ssh-access is only activated for pull reque…

    …sts outside of apache/pulsar (apache#17606)
    
    - the if condition was missing for the ssh-access step in pulsar-java-test-image build job
    
    - add additional condition that applies to only pull_request events.
      - this is a better default
    lhotari authored Sep 15, 2022
    Configuration menu
    Copy the full SHA
    0cf1dd6 View commit details
    Browse the repository at this point in the history
  12. [fix][cpp] Support retry and apply operation timeout for lookup reque…

    …sts (apache#17410)
    
    ### Motivation
    
    Currently the operation timeout only works for requests other than
    lookup, like SEND and FLOW. However, the lookup requests, which are sent
    by `LookupService`, should also apply the operation timeout, see
    
    https://github.com/apache/pulsar/blob/7075a5ce0d4a70f52625ac8c3d0c48894442b72a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/PulsarClientImpl.java#L1019-L1025
    
    In addition, no attempts would be retried if lookup failed even due to a
    retryable reason. For example, if some of all configured brokers were
    down, the C++ client would fail immediately.
    
    Therefore, this PR intends to retry lookup for some certain cases:
    - The connection cannot be established, except connection timeout, which
      is controlled by the connection timeout.
    - A `ServiceNotReady` error is received, except it's caused by
      `PulsarServerException`, e.g. the listener name is wrong.
    
    Then, apply the operation timeout to avoid infinite retries.
    
    ### Modifications
    
    - Add a `ResultRetryable` error code, which should only be used
      internally. Complete the futures with this error in the cases said
      previously.
    - Add a `RetryableLookupService` implementation to support retries based
      on the backoff policy. Replace the directly usages of `LookupService`
      implementations with this class in `ClientImpl`.
    
    The following tests are added:
    - `ClientTest.testMultiBrokerUrl`: verify when multiple brokers are
      configured, even if one of them is not available, the creation of
      producer or consumer could still succeed.
    - `LookupService.testRetry`: verify all lookup methods could be retried.
    - `LookupService.testTimeout`: verify all lookup methods could be
      completed with `ResultTimeout` if no brokers are available.
    
    ### TODO
    
    In future, we should add lookup timeout instead of operation timeout for
    lookup requests and separate lookup connection pool, see PIP-91.
    
    * Handle ResultRetryable in handleDisconnection
    BewareMyPower authored Sep 15, 2022
    Configuration menu
    Copy the full SHA
    86ea31b View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    cbbcd41 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    2a7aea7 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    ff49c5c View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    4cf8b80 View commit details
    Browse the repository at this point in the history
  17. [doc] Fix the release process (apache#17470)

    ### Motivation
    
    There are some wrong steps in the release process and the "Release
    workflow" section is just a list and hard to verify directly.
    
    ### Modifications
    
    - Remove the "Move master branch to next version" and "Write release
      notes" sections because they should be done in the last few steps and
      they have already been documented.
    - Add the steps to build Docker images when running the vote.
    - Skip the release of Helm Chart for patch releases.
    - Update the step to publish Python clients for macOS because we won't
      need the VirtualBox after apache#15024.
    
    Regenerate the table of contents via `gh-md-toc` to replace the "Release
    workflow" section. Then we can verify it by clicking the link to the
    corresponding section.
    BewareMyPower authored Sep 15, 2022
    Configuration menu
    Copy the full SHA
    a6fe5bb View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    c7b7146 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    af98304 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    40d7198 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2022

  1. Configuration menu
    Copy the full SHA
    594c3e2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bfbe381 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4ba219d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    15ec9ba View commit details
    Browse the repository at this point in the history
  5. [feature][blog] Add 2.7.5 Release Blog (apache#17535)

    * Create 2022-09-09-Apache-Pulsar-2-7-5.md
    
    * Update site2/website/blog/2022-09-09-Apache-Pulsar-2-7-5.md
    
    Co-authored-by: Anonymitaet <[email protected]>
    
    Co-authored-by: Anonymitaet <[email protected]>
    momo-jun and Anonymitaet authored Sep 16, 2022
    Configuration menu
    Copy the full SHA
    9169344 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c6edd75 View commit details
    Browse the repository at this point in the history
  7. [improve][doc] add developers-landing page (apache#17284)

    * [improve][doc] add developers-landing page
    
    The Pulsar for Developers content block on the documentation landing page needs to link to this page.
    
    * Update getting-started-standalone.md
    
    * Update getting-started-standalone.md
    
    * move the file to /site2/docs/
    
    * Update about.md
    
    * Update site2/docs/developers-landing.md
    
    Co-authored-by: tison <[email protected]>
    
    * Update site2/docs/getting-started-standalone.md
    
    Co-authored-by: tison <[email protected]>
    
    Co-authored-by: momo-jun <[email protected]>
    Co-authored-by: tison <[email protected]>
    3 people authored Sep 16, 2022
    Configuration menu
    Copy the full SHA
    878372c View commit details
    Browse the repository at this point in the history
  8. [improve][java-client] Remove redundant pending messages information …

    …while print the producer stats (apache#17671)
    codertmy authored Sep 16, 2022
    Configuration menu
    Copy the full SHA
    364d14b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    fac14fb View commit details
    Browse the repository at this point in the history
  10. [improve][cli] Pulsar shell: allow to create a new config (--file) wi…

    …th a relative path (apache#17675)
    
    * [improve][cli] Pulsar shell: allow to create a new config (--file) with a relative path
    
    * win
    
    * checkstlye
    nicoloboschi authored Sep 16, 2022
    Configuration menu
    Copy the full SHA
    d7c09be View commit details
    Browse the repository at this point in the history
  11. [fix][broker] Fix unexpected subscription deletion caused by the curs…

    …or last active time not updated in time (apache#17573)
    dragonls authored Sep 16, 2022
    Configuration menu
    Copy the full SHA
    8a9d70a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    af19f0e View commit details
    Browse the repository at this point in the history
  13. [fix][common] Fix parsing partitionedKey with Base64 encode issue. (a…

    …pache#17687)
    
    * Fix parsing partitionedKey with Base64 encode issue.
    
    * release the buf
    
    * fix checkstyle issue.
    Technoboy- authored Sep 16, 2022
    Configuration menu
    Copy the full SHA
    f3cc107 View commit details
    Browse the repository at this point in the history
  14. [fix][cli] Fix mbeans to json (apache#17676)

    Signed-off-by: Zixuan Liu <[email protected]>
    nodece authored Sep 16, 2022
    Configuration menu
    Copy the full SHA
    ae0f86b View commit details
    Browse the repository at this point in the history
  15. [fix][functions] Ensure InternalConfigurationData data model is compa…

    …tible across different versions (apache#17690)
    
    * [fix][functions] Ensure InternalConfigurationData data model is compatible across different versions
    
    * style
    
    * fix the other way
    
    ### Motivation
    
    After apache#14384, the broker and the client expects that the `InternalConfigurationData` contains `metadataStoreUrl` and `configurationMetadataStoreUrl` fields.
    However the broker is no more compatible with old clients. 
    
    
    apache#14384 is landed to branch-2.11 and [2.10.2](apache#17291)
    
    Example scenario: 
    - broker on 2.10.1
    - function worker on 2.10.1
    
    1. upgrade fn worker to 2.11.0 or 2.10.2
    2. the fn worker starts and download the internal config from the broker
    3. broker serves a json with old fields (`zookeeperServers` and `configurationStoreServers`)
    4. fn worker reads the json and convert it to a `InternalConfigurationData` instance. It expects to see the fields filled `metadataStoreUrl` and `configurationMetadataStoreUrl` but they aren't
    5. NPE on fn worker 
    ```
    2022-09-15T17:42:16,072+0000 [main] INFO  org.apache.pulsar.functions.worker.PulsarWorkerService - Initializing Pulsar Functions namespace...
    2022-09-15T17:42:16,192+0000 [main] ERROR org.apache.pulsar.functions.worker.FunctionWorkerStarter - Encountered error in function worker.
    java.lang.NullPointerException: null
        at org.apache.pulsar.metadata.impl.MetadataStoreFactoryImpl.removeIdentifierFromMetadataURL(MetadataStoreFactoryImpl.java:73) 
        at org.apache.pulsar.functions.worker.WorkerUtils.initializeDlogNamespace(WorkerUtils.java:188) 
        at org.apache.pulsar.functions.worker.PulsarWorkerService.initializeStandaloneWorkerService(PulsarWorkerService.java:281) 
        at org.apache.pulsar.functions.worker.PulsarWorkerService.initAsStandalone(PulsarWorkerService.java:208)
        at org.apache.pulsar.functions.worker.Worker.start(Worker.java:54)
        at org.apache.pulsar.functions.worker.FunctionWorkerStarter.main(FunctionWorkerStarter.java:76)
    ```
    
    Additionaly there's the same issue if we upgrade the broker before the fn worker:
    1. the broker gets the upgrade. won't serve `zookeeperServers` field
    2. fn worker restarts for some reasons. 
    3. fn worker gets the internal config and look for  `zookeeperServers` field which is empty in the json
    4. NPE 
    
    ### Modifications
    
    * Restore old fields in `InternalConfigurationData` and add fallback the old values in the new fields getters
    * Added unit test 
    
    - [x] `doc-not-needed`
    nicoloboschi authored Sep 16, 2022
    Configuration menu
    Copy the full SHA
    1a34b87 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2022

  1. Configuration menu
    Copy the full SHA
    492c7df View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4ec1009 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2022

  1. Configuration menu
    Copy the full SHA
    c40c7ee View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2022

  1. Configuration menu
    Copy the full SHA
    2b85c43 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    43de9f5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8d34b0f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c6967cd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    69f3f74 View commit details
    Browse the repository at this point in the history
  6. [feat][CI] Add approval solution to reduce GitHub Actions resource co…

    …nsumption (apache#17693)
    
    Please check the proposal email on dev mailing list: https://lists.apache.org/thread/gwfmxmxlhtsjn17sxxc367jcs4pcwofz
    
    Co-authored-by: tison <[email protected]>
    lhotari and tisonkun authored Sep 19, 2022
    Configuration menu
    Copy the full SHA
    1f6e7a2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    996666a View commit details
    Browse the repository at this point in the history
  8. [fix][common] Fix issue where logs get truncated when Runtime.halt is…

    … used to terminate the process (apache#17589)
    
    * [fix][common] Fix issue where logs get truncated when Pulsar process gets terminated with Runtime.halt
    
    - call Log4j2's LogManager.shutdown before terminating the process with Runtime.halt
    
    * Don't log warning when status code is 0
    lhotari authored Sep 19, 2022
    Configuration menu
    Copy the full SHA
    8b771a6 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8bc02aa View commit details
    Browse the repository at this point in the history
  10. [improve][ci] docbot comment only for open PRs (apache#17709)

    Signed-off-by: tison <[email protected]>
    
    Signed-off-by: tison <[email protected]>
    tisonkun authored Sep 19, 2022
    Configuration menu
    Copy the full SHA
    36e3681 View commit details
    Browse the repository at this point in the history
  11. [fix][CI] Fix issues with approval solution for GitHub Actions (apach…

    …e#17723)
    
    - The approval solution doesn't work as expected by approving the PR
      or by adding the ready-to-test label and adding a comment
      "/pulsarbot rerun-failure-checks".
    
    - Fix the ready-to-test label check:
      - Refresh PR labels when re-running workflow
        - when re-running, the event JSON remains the same. The API
          must be used to fetch the up-to-date JSON for the PR.
    
    - Fix the PR approval check:
      - set GITHUB_TOKEN for script so that retrieving the approval status could work
    lhotari authored Sep 19, 2022
    Configuration menu
    Copy the full SHA
    9f9922a View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2022

  1. Configuration menu
    Copy the full SHA
    bf6e815 View commit details
    Browse the repository at this point in the history
  2. [fix][schema]ledger handle leak when update schema (apache#17283)

    ### Motivation
    
    in the schema update, will create a `ledgerHandle` and write data to BK, after that `ledgerHandle` is no longer useful and no other object holds references to it. `ledgerHandle` will be recycled with GC, but `ledgerHandle` also hold external connections, which will cause leakage.
    
    https://github.com/apache/pulsar/blob/40b9d7ea50cef54becb09f2543193e08375abe0b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/schema/BookkeeperSchemaStorage.java#L452-L456
    
    ### Modifications
    
    after the schema is updated, close the `ledgerHandle`, just like schema-read:
    
    https://github.com/apache/pulsar/blob/40b9d7ea50cef54becb09f2543193e08375abe0b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/schema/BookkeeperSchemaStorage.java#L519-L525
    poorbarcode authored Sep 20, 2022
    Configuration menu
    Copy the full SHA
    2620450 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4af8bf0 View commit details
    Browse the repository at this point in the history
  4. [improve][doc] Improve the information architecture of the security c…

    …hapter (apache#17615)
    
    * Sidebar re-org
    
    * Separate TLS encryption/authentication using Keystore to parent topics
    
    * use language-specific tabs to show code snippets
    
    * streamline headings
    
    * Update client-libraries-java.md
    
    * Add code snippet for python clients to support apache#17482
    
    * Add code snippet for go clients
    momo-jun authored Sep 20, 2022
    Configuration menu
    Copy the full SHA
    3d35448 View commit details
    Browse the repository at this point in the history
  5. [fix][metadata] Cleanup state when lock revalidation gets `LockBusyEx…

    …ception` (apache#17700)
    
    ### Motivation
    
    In the production environment,  we found two brokers holding the same valid locks. and one has an exceptional revalidate future with `lockBusyException`. after reading the code, there may forget the reset the cache and complete expire exception when getting lockBusyException.
    mattisonchao authored Sep 20, 2022
    Configuration menu
    Copy the full SHA
    955ae34 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    320300c View commit details
    Browse the repository at this point in the history
  7. [improve][doc] Improve the information architecture of encryption and…

    … cookbook (apache#17666)
    
    * remove duplicate file `cookbooks-encryption.md`
    
    * Revert "remove duplicate file `cookbooks-encryption.md`"
    
    This reverts commit a1e5a54.
    
    * streamline encryption cookbook and make it single-sourced
    
    * Add code snippets for Java/C++/Go clients.
    
    * use one svg image to replace two jpg files
    
    * client version and title updates
    
    * improve security overview
    
    * Add note and link for TLS encryption
    momo-jun authored Sep 20, 2022
    Configuration menu
    Copy the full SHA
    3cd129b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    311ca90 View commit details
    Browse the repository at this point in the history
  9. [improve][txn][PIP-196]Segmented transaction buffer snapshot configur…

    …ation (apache#16917)
    
    * [improve][txn][PIP-196] Segmented transaction buffer snapshot
    Master apache#16913
    ### Motivation
    1. Add configurations.
    2. Implement the system topic client for snapshot topic and index topic.
    3. Implement AbortedTxnProcessor.
    4. Add transaction buffer snapshot metrics.
    ### Modification
    Add configuration for segment snaopshot.
    liangyepianzhou authored Sep 20, 2022
    Configuration menu
    Copy the full SHA
    f6665fb View commit details
    Browse the repository at this point in the history
  10. [feature][pulsar-io-mongo] Add support for full message synchronizati…

    …on (apache#16003)
    
    ### Motivation
    
    Now, the MongoDB source connector only supports the incremental message synchronization.
    This PR adds support for full message synchronization.
    
    Since MongDB 4.0, we can set the starting point for the change stream by the `startAtOperationTime` field.
    So, we can set it to `0` to make start point the earliest.
    See https://www.mongodb.com/docs/v4.2/reference/method/db.collection.watch/ for more information.
    shink authored Sep 20, 2022
    Configuration menu
    Copy the full SHA
    cda2ea7 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    37f0a2d View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    f267ef3 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    539ccec View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    72dd01b View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    782764f View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2022

  1. Configuration menu
    Copy the full SHA
    94649bf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bb98333 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    68c7549 View commit details
    Browse the repository at this point in the history
  4. [feat][build] Print out more info for bin/pulsar version (apache#17752)

    ### Motivation
    
    The current `bin/pulsar version` script only prints out the version string. When running custom builds of Pulsar, this is sometimes not enough to know which version you have. Since the `PulsarVersion` class already has more information, I propose we print out all of its information in the same format that the broker logs the information.
    
    Here is a sample output for this specific PR:
    
    ```shell
    $ bin/pulsar version
    Current version of pulsar is: 2.11.0-SNAPSHOT
    Git Revision 4414e3d
    Git Branch print-more-version-info
    Built by Michael Marshall <[email protected]> on mmarshall-rmbp16 at 2020-01-22T09:10:15-0600
    ```
    
    ### Modifications
    
    * Add more output to the `bin/pulsar version` command.
    
    ### Verifying this change
    
    This change is a trivial rework / code cleanup without any test coverage.
    
    ### Documentation
    
    - [x] `doc-not-needed` 
    (Please explain why)
    
    ### Matching PR in forked repository
    
    PR in forked repository: michaeljmarshall#3
    michaeljmarshall authored Sep 21, 2022
    Configuration menu
    Copy the full SHA
    2d2a0b8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    677f24a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    dba9c08 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9a2aeb2 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ff32664 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2b9ffac View commit details
    Browse the repository at this point in the history
  10. [fix][tests] Fix resource leak in tests. Call cleanup before setup (a…

    …pache#17743)
    
    - when setup is called explicitly, cleanup should be issued before it
    - remove unnecessary "resetConfig" method calls
      - resetConfig gets called as part of internalCleanup
      - when resetConfig is in cleanup, it's possible to override config before calling setup
        - this allows using setup & cleanup methods instead of using
          error prone internalSetup and internalCleanup methods which might leave something behind
    lhotari authored Sep 21, 2022
    Configuration menu
    Copy the full SHA
    d1a9a82 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    260f5c6 View commit details
    Browse the repository at this point in the history
  12. [monitoring][broker][fix] Fix EntryFilter stats (apache#17605)

    * fix entryFilter stats
    
    * fix test
    
    * add test comment
    
    * review fix
    tjiuming authored Sep 21, 2022
    Configuration menu
    Copy the full SHA
    8441f67 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2022

  1. Configuration menu
    Copy the full SHA
    b1caa29 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    475b936 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d9c9d73 View commit details
    Browse the repository at this point in the history
  4. [fix][cpp] Use weak ptr avoid circular references. (apache#17481)

    ### Motivation
    
    Capturing shared ptr in the timer function will cause a circular reference.
    
    ### Modifications
    
    - Use weak ptr instead shared ptr.
    shibd authored Sep 22, 2022
    Configuration menu
    Copy the full SHA
    141981b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ef91be9 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    bd2037a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4db5e24 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3d47ee8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a8b265d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    63d4cf2 View commit details
    Browse the repository at this point in the history
  11. [improve][client-c++]Support include message header size when check m…

    …axMessageSize (apache#17289)
    
    ### Motivation
    
    See: apache#17188
    
    ### Modifications
    
    Support include message header size when check maxMessageSize for cpp client
    coderzc authored Sep 22, 2022
    Configuration menu
    Copy the full SHA
    f28f985 View commit details
    Browse the repository at this point in the history
  12. [improve][txn] Add getState in transaction for client API (apache#17423)

    ### Motivation
    now `org.apache.pulsar.client.api.transaction.Transaction` dont have a interface for user to get the transaction state.
    
    user can get the transaction state to do user's own op.
    ### Modifications
    1. add the interface in `org.apache.pulsar.client.api.transaction.Transaction`     `getState`
    2. TransactionImpl implement the interface 
    ```
         * Get transaction state.
         *
         * @return {@link State} the state of the transaction.
         */
        State getState();
    ```
    ### Verifying this change
    add the test
    congbobo184 authored Sep 22, 2022
    Configuration menu
    Copy the full SHA
    a9531db View commit details
    Browse the repository at this point in the history
  13. [cleanup][broker]remove unnecessary variable (apache#17768)

    * remove unused code
    
    * check style
    
    * remove unused bundleFactory
    
    Co-authored-by: leolinchen <[email protected]>
    lordcheng10 and leolinchen authored Sep 22, 2022
    Configuration menu
    Copy the full SHA
    cb7ac2f View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2022

  1. [feat][broker] Support lower boundary shedding for ThresholdShedder (a…

    …pache#17456)
    
     Support lower boundary shedding for ThresholdShedder (apache#17456)
    
    The existing ThresholdShedder has the following problems, for example:
    There are 11 Brokers, of which 10 are loaded at 80% and 1 is loaded at 0%.
    The average load is 80 * 10 / 11 = 72.73, and the threshold to unload is 72.73 + 10 = 82.73.
    Since 80 < 82.73, unload will not be trigger, and there is one idle Broker with load of 0%.
    
    On the basis of ThresholdShedder, we adds the lower boundary judgment of the load.
    When 【current usage < average usage - threshold】, the broker with the highest load will be triggered to unload
    315157973 authored Sep 23, 2022
    Configuration menu
    Copy the full SHA
    8e855bc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c4912f4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    08df28a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e73b298 View commit details
    Browse the repository at this point in the history
  5. docs: Add ceveat to Pulsar SQL overview and update Presto to Trino (a…

    …pache#17798)
    
    * docs: Trino -> PrestoSQL
    
    Signed-off-by: tison <[email protected]>
    
    * Trino -> PrestoSQL for sql-rest-api
    
    Signed-off-by: tison <[email protected]>
    
    * Trino -> PrestoSQL for sql-deployment-configurations
    
    Signed-off-by: tison <[email protected]>
    
    * Trino -> PrestoSQL for sql-getting-started
    
    Signed-off-by: tison <[email protected]>
    
    * add caveat
    
    Signed-off-by: tison <[email protected]>
    
    Signed-off-by: tison <[email protected]>
    tisonkun authored Sep 23, 2022
    Configuration menu
    Copy the full SHA
    d14a3bd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4366f28 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0c0984a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c60f895 View commit details
    Browse the repository at this point in the history
  9. Delete site2/website/static/img directory (apache#17818)

    We no longer sync this folder and it's reasonable to keep the truth on the pulsar-site repo.
    
    This refers to apache#17817.
    tisonkun authored Sep 23, 2022
    Configuration menu
    Copy the full SHA
    639a5db View commit details
    Browse the repository at this point in the history
  10. [improve][misc] Add IssueNavigationLink for IDEA git log (apache#17769)

    This enables GitHub hyperlinks in IDEA for commits containing PR information
    Alexander Preuß authored Sep 23, 2022
    Configuration menu
    Copy the full SHA
    b03ee23 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    1475505 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2022

  1. Configuration menu
    Copy the full SHA
    ec8b586 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c85b89b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    550c0e7 View commit details
    Browse the repository at this point in the history
  4. Make BookieId work with PulsarRegistrationDriver (apache#17762)

    * Make BookieId work with PulsarRegistrationDriver
    
    * Switch to MetadataCache
    
    * checkstyle
    eolivelli authored Sep 24, 2022
    Configuration menu
    Copy the full SHA
    8d7ac33 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2022

  1. [fix][doc] Add missing files linked in io-connectors (apache#17732)

    * add missing files for 2.1.1-incubating
    
    * add missing files for 2.2.0 and 2.2.1
    
    * add missing files for 2.3.0, 2.3.1 and 2.3.2
    
    * add missing files for 2.4.0, 2.4.1, and 2.4.2
    
    * add missing files for 2.5.1 and 2.5.2
    
    * preview fix
    momo-jun authored Sep 26, 2022
    Configuration menu
    Copy the full SHA
    693a46e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5e6b344 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    691e468 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5068800 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f0aeb5a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3e51af5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4c22159 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    49eaa54 View commit details
    Browse the repository at this point in the history
  9. Fix broken logo image in README.md (apache#17838)

    * Fix broken logo image in README.md
    
    * Use https://pulsar.apache.org/img/pulsar.svg
    lhotari authored Sep 26, 2022
    Configuration menu
    Copy the full SHA
    90c554d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    7f96547 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    e092064 View commit details
    Browse the repository at this point in the history
  12. [fix][doc] Fix maxNumberOfRejectedRequestPerConnection doc (apache#17821

    )
    
    * Fix maxNumberOfRejectedRequestPerConnection doc
    
    * fix doc in 2.8.x docs
    coderzc authored Sep 26, 2022
    Configuration menu
    Copy the full SHA
    26281d5 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2022

  1. [fix][metrics]wrong metrics text generated when label_cluster specifi…

    …ed (apache#17704)
    
    * [fix][metrics]wrong metrics text generated when label_cluster specified
    
    * improve logic branch
    
    * mark test group
    poorbarcode authored Sep 27, 2022
    Configuration menu
    Copy the full SHA
    518cdcd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6528a91 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5e42e4d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    59ce90c View commit details
    Browse the repository at this point in the history
  5. docs: add developers-landing page to sidebars (apache#17780)

    Signed-off-by: tison <[email protected]>
    
    Signed-off-by: tison <[email protected]>
    tisonkun authored Sep 27, 2022
    Configuration menu
    Copy the full SHA
    91f747f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b89c145 View commit details
    Browse the repository at this point in the history
  7. Skip creating a subscription replication snapshot if no messages have…

    … been published after the topic gets activated on a broker (apache#16618)
    
    * Skip creating a replication snapshot if no messages have been published
    
    * Adapt test to new behavior where replication snapshots happen only when there are new messages
    lhotari authored Sep 27, 2022
    Configuration menu
    Copy the full SHA
    43ad6f9 View commit details
    Browse the repository at this point in the history
  8. [fix][tests] Fix Mockito mocks memory leak (apache#17851)

    * Call cleanup method in finally block to ensure it's not skipped
    
    * Clear invocations for the mocks that are left around without cleanup
    
    * Cleanup PulsarService and PulsarAdmin mocks/spies in MockedPulsarServiceBaseTest
    
    * Don't record invocations at all for PulsarService and PulsarAdmin in MockedPulsarServiceBaseTest
    
    * Don't record invocations for spies by default
    
    * Simplify reseting mocks
    
    * Fix PersistentTopicTest
    
    * Fix TokenExpirationProducerConsumerTest
    
    * Fix SimpleLoadManagerImplTest
    
    * Fix FilterEntryTest
    lhotari authored Sep 27, 2022
    Configuration menu
    Copy the full SHA
    d4893d1 View commit details
    Browse the repository at this point in the history
  9. [improve][common] Make Bookkeeper metadata options configurable (apac…

    …he#17834)
    
    - use Bookkeeper defaults by setting BK_METADATA_OPTIONS=none
    lhotari authored Sep 27, 2022
    Configuration menu
    Copy the full SHA
    6dd38a4 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2022

  1. [feature][client-cpp] Support inclusive seek for cpp client (apache#1…

    …7209)
    
    Fixes apache#17186
    
    ### Motivation
    
    There are some cases in which it is useful to be able to include current
    position of the message when reset of cursor was made.
    
    ### Modifications
    
    * Support inclusive seek in c++ consumers.
    * Add a unit test to verify.
    Demogorgon314 authored Sep 28, 2022
    Configuration menu
    Copy the full SHA
    7e4c746 View commit details
    Browse the repository at this point in the history
  2. fix: SqliteJdbcSinkTest close in order (apache#17849)

    * fix: delete sqlite files after jdbc connection closed
    
    This closes apache#17713.
    
    Signed-off-by: tison <[email protected]>
    
    * uses isolated db file
    
    Signed-off-by: tison <[email protected]>
    
    * Revert "uses isolated db file"
    
    This reverts commit 295db3c.
    
    * close in order
    
    Signed-off-by: tison <[email protected]>
    
    * strong order guarantee
    
    Signed-off-by: tison <[email protected]>
    
    * factor out defer logic to avoid further bugs
    
    Signed-off-by: tison <[email protected]>
    
    * Revert "factor out defer logic to avoid further bugs"
    
    This reverts commit f7f4634.
    
    * Revert "strong order guarantee"
    
    This reverts commit 747086f.
    
    * use awaitTermination
    
    Signed-off-by: tison <[email protected]>
    
    Signed-off-by: tison <[email protected]>
    tisonkun authored Sep 28, 2022
    Configuration menu
    Copy the full SHA
    c1ce3dd View commit details
    Browse the repository at this point in the history
  3. [fix][flaky-test]Delete PersistentSubscriptionTest.testCanAcknowledge…

    …AndCommitForTransaction (apache#17845)
    
    * scenario is already covered by PendingAckPersistentTest
    poorbarcode authored Sep 28, 2022
    Configuration menu
    Copy the full SHA
    5f59f8b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8aef1bf View commit details
    Browse the repository at this point in the history
  5. [improve][broker] Add a message to a NullPointerException created in …

    …ManagedLedgerImpl (apache#17293)
    
    - a NPE with no description is confusing
    lhotari authored Sep 28, 2022
    Configuration menu
    Copy the full SHA
    dfd4882 View commit details
    Browse the repository at this point in the history
  6. [improve][test] Improve TransactionEndToEndTest to reduce the executi…

    …on time (apache#17790)
    
    Fixes
    - apache#17623
    - apache#17637
    
    ### Motivation
    
    Manually release resources, including `consumer`, `producer`, `pulsar client`, `transaction`, and `topic`. This saves `setup` and `cleanup` time before and after each method. 
    
    ### Modifications
    
    - Manually release resources instead of calling `cleanup` & `setup` each method
    - remove useless method `markDeletePositionCheck`
    - `Integer.valueOf(int)` instead of `new Integer(int)`, because `new Integer(int)` is deprecated
    
    ### Matching PR in forked repository
    
    PR in forked repository: 
    
    - poorbarcode#10
    poorbarcode authored Sep 28, 2022
    Configuration menu
    Copy the full SHA
    7648a11 View commit details
    Browse the repository at this point in the history
  7. [fix][flask-test] Fix and improve LookupRetryTest (apache#17848)

    Fixes apache#17785
    
    ### Motivation
    
    The `failureMap` need to be clear after run per unit test.
    
    ### Modifications
    
    Clear `failureMap` after run per unit test, and only run once `setup()`/`cleanup()` to reduce execution time.
    
    ### Matching PR in forked repository
    
    PR in forked repository: coderzc#6
    coderzc authored Sep 28, 2022
    Configuration menu
    Copy the full SHA
    31203c3 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    0678b82 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    716f5e2 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    62d900f View commit details
    Browse the repository at this point in the history
  11. [fix][broker] Make timestamp fields thread safe by using volatile (ap…

    …ache#17252)
    
    - fixes issue with stats where timestamps might be inconsistent because of visibility issues
      - fields should be volatile to ensure visibility of updated values in a consistent manner
    
    - in replication, the lastDataMessagePublishedTimestamp field in PersistentTopic might be inconsistent
      unless volatile is used
    lhotari authored Sep 28, 2022
    Configuration menu
    Copy the full SHA
    bde5ac7 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2022

  1. [improve][doc] Add doc of reader config to pulsar-io-debezium (apac…

    …he#16891)
    
    * add reader config doc
    
    * update to the versioned doc
    
    * Update site2/docs/io-debezium-source.md
    
    Co-authored-by: momo-jun <[email protected]>
    
    * Update site2/docs/io-debezium-source.md
    
    Co-authored-by: momo-jun <[email protected]>
    
    * revert changes to 2.10.1 and 2.9.3
    
    Co-authored-by: momo-jun <[email protected]>
    freeznet and momo-jun authored Sep 29, 2022
    Configuration menu
    Copy the full SHA
    e1e3baf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    048ccae View commit details
    Browse the repository at this point in the history
  3. [improve][cli] Using separate TLS config on the compactor (apache#17426)

    Signed-off-by: Zixuan Liu <[email protected]>
    
    Signed-off-by: Zixuan Liu <[email protected]>
    
    ### Motivation
    
    Improve the compactor tool, using separate TLS config
    
    ### Modifications
    
    - Add separate TLS config on the compactor, both Keystore and PEM formats are supported
    - Fix correct use of service URL by `brokerConfig.isBrokerClientTlsEnabled()` value
    
    ### Verifying this change
    
    Test has been added.
     
    ### Documentation
    
    Check the box below or label this PR directly.
    
    Need to update docs? 
    
    - [ ] `doc-required` 
    (Your PR needs to update docs and you will update later)
      
    - [x] `doc-not-needed` 
    (Please explain why)
      
    - [ ] `doc` 
    (Your PR contains doc changes)
    
    - [ ] `doc-complete`
    (Docs have been already added)
    nodece authored Sep 29, 2022
    Configuration menu
    Copy the full SHA
    537aa54 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    73739e1 View commit details
    Browse the repository at this point in the history
  5. [feat][broker] Add config to count filtered entries towards rate limi…

    …ts (apache#17686)
    
    * [feat][broker] Add config to count filtered entries towards rate limits
    
    * Make fixes for checkstyle
    
    * Remove * import
    
    * Fix incorrect conflict resolution in merge commit
    
    ### Motivation
    
    Currently, when using entry filters, filtered out messages do not count against the rate limit. Therefore, a subscription that is completely filtered will never be throttled due to rate limiting. When the messages are delivered to the consumer for a filtered subscription, those messages will count against the rate limit, and in that case, the message filtering can be throttled because the check to delay `readMoreEntries()` happens before message filtering. Therefore, the rate limit will essentially be increased as a function of the percent of messages let through the filter (some quick math is that the new rate is likely `dispatchRate * (1 / percentDelivered)`, where percent delivered is a percent as a decimal).
    
    It's possible that some use cases prefer this behavior, but in my case, I think it'd be valuable to include these filtered messages in the dispatch throttling because these messages still cost the broker network, memory, and cpu. This PR adds a configuration to count filtered out messages towards dispatch rate limits for the broker, the topic, and the subscription.
    
    ### Modifications
    
    * Add configuration named `dispatchThrottlingForFilteredEntriesEnabled`. Default it to false so we maintain the original behavior. When true, count filtered messages against rate limits.
    * Refactor the code to `acquirePermitsForDeliveredMessages` so that it is in the `AbstractBaseDispatcher`, which makes it available to the entry filtering logic.
    
    ### Verifying this change
    
    A new test is added as part of this PR.
    
    ### Does this pull request potentially affect one of the following parts:
    
    This PR introduces a new config while maintaining the current behavior.
    
    ### Documentation
    
    - [x] `doc-not-needed` 
    Config docs are auto-generated.
    michaeljmarshall authored Sep 29, 2022
    Configuration menu
    Copy the full SHA
    db26073 View commit details
    Browse the repository at this point in the history
  6. [fix][flaky-test]PerformanceTransactionTest.testConsumeTxnMessage (ap…

    …ache#17837)
    
    Fixes: apache#14109
    
    
    ### Motivation
    
    The expected execution flow for this test is: 
    
    1. send 505 messages
    2. commit 10 transactions, every transaction ack 50 messages
    3. receive the last 5 messages in the last transaction, wait for transaction timeout
    4. confirm that the last 5 messages can be consumed by new consumer
    
    <strong>(High light)</strong> The default value for transaction TTL is 10 seconds, and the default value for `Awaitility.await` is also 10 seconds,  so this test is not stable.
    
    Note: This is a guess cause, the problem is not reproduced locally. But after transaction TTL is set to 11s, the probability of the problem occurring is 100%.
    
    ### Modifications
    
    Fix flaky test
    - set transaction TTL to 5s
    
    Other changes
    - define a name for the task thread
    - acknowledge the last 5 messages
    
    ### Matching PR in forked repository
    
    PR in forked repository: 
    
    - poorbarcode#13
    poorbarcode authored Sep 29, 2022
    Configuration menu
    Copy the full SHA
    dc44ea2 View commit details
    Browse the repository at this point in the history
  7. [improve][txn]PIP-160 make txn components supports buffered writer me…

    …trics (apache#17701)
    
    Master Issue: apache#15370
    
    ### Modifications
    
    - Make transaction `MLTransactionMetadataStoreProvider` & `MLPendingAckStoreProvider` support buffered writer metrics.
      - Motivation: apache#15370
    
    ----
    
    - Delete constructor of `TxnLogBufferedWriter` without parameter `metrics`.
      - Motivation: it is unnecessary.
    
    ---- 
    
    - Add a default `DisabledTxnLogBufferedWriterMetricsStats` implementation.
    
    ----
    
    - Previous PR remaining code to optimize: remove the check code `if (metrics != null)`. The motivation see:
      - Motivation: apache#16758 (comment)
    
    ----
    
    - Make transaction log buffered writer only create by the `MLTransactionMetadataStoreProvider` & `MLPendingAckStoreProvider`. 
      - Motivation: apache#16758 (comment)
    
    ### Documentation
    
    - [ ] `doc-required` 
    
    - [x] `doc-not-needed` 
    
    - [ ] `doc` 
    
    - [ ] `doc-complete`
    
    
    ### Matching PR in forked repository
    
    PR in forked repository: 
    
    - poorbarcode#3
    poorbarcode authored Sep 29, 2022
    Configuration menu
    Copy the full SHA
    0f53c79 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3de690d View commit details
    Browse the repository at this point in the history
  9. [Fix][Tiered Storage] Eagerly Delete Offloaded Segments On Topic Dele…

    …tion (apache#15914)
    
    * Truncate topic before deletion to avoid orphaned offloaded ledgers
    
    * CR feedback
    dlg99 authored Sep 29, 2022
    Configuration menu
    Copy the full SHA
    9026d19 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    df5e0e1 View commit details
    Browse the repository at this point in the history
  11. [fix][proxy] Fix refresh client auth (apache#17831)

    * [fix][proxy] Fix refresh client auth
    
    Signed-off-by: Zixuan Liu <[email protected]>
    
    * Fix style
    
    Signed-off-by: Zixuan Liu <[email protected]>
    nodece authored Sep 29, 2022
    Configuration menu
    Copy the full SHA
    c952f3c View commit details
    Browse the repository at this point in the history
  12. [fix][flaky-test] BookKeeperClusterTestCase.setup() (apache#17865)

    Fixes: apache#15773  apache#16863 apache#16860
    
    ### Motivation
    ```
      Error:  Tests run: 11, Failures: 1, Errors: 0, Skipped: 3, Time elapsed: 87.06 s <<< FAILURE! - in org.apache.pulsar.packages.management.storage.bookkeeper.BookKeeperPackagesStorageTest
      Error:  setUp(org.apache.pulsar.packages.management.storage.bookkeeper.BookKeeperPackagesStorageTest)  Time elapsed: 13.089 s  <<< FAILURE!
      org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss
      	at org.apache.zookeeper.KeeperException.create(KeeperException.java:102)
      	at org.apache.bookkeeper.zookeeper.ZooKeeperWatcherBase.waitForConnection(ZooKeeperWatcherBase.java:159)
      	at org.apache.bookkeeper.zookeeper.ZooKeeperClient$Builder.build(ZooKeeperClient.java:260)
      	at org.apache.bookkeeper.test.ZooKeeperUtil.restartCluster(ZooKeeperUtil.java:133)
      	at org.apache.bookkeeper.test.ZooKeeperUtil.startCluster(ZooKeeperUtil.java:104)
      	at org.apache.pulsar.packages.management.storage.bookkeeper.bookkeeper.test.BookKeeperClusterTestCase.startZKCluster(BookKeeperClusterTestCase.java:238)
      	at org.apache.pulsar.packages.management.storage.bookkeeper.bookkeeper.test.BookKeeperClusterTestCase.setUp(BookKeeperClusterTestCase.java:178)
      	at org.apache.pulsar.packages.management.storage.bookkeeper.bookkeeper.test.BookKeeperClusterTestCase.setUp(BookKeeperClusterTestCase.java:166)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
      	at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:61)
      	at org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:366)
      	at org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:320)
      	at org.testng.internal.TestInvoker.runConfigMethods(TestInvoker.java:701)
      	at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:527)
      	at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
      	at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
      	at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
      	at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
      	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
      	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
      	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
      	at org.testng.TestRunner.privateRun(TestRunner.java:764)
      	at org.testng.TestRunner.run(TestRunner.java:585)
      	at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
      	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
      	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
      	at org.testng.SuiteRunner.run(SuiteRunner.java:286)
      	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
      	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
      	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
      	at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
      	at org.testng.TestNG.runSuites(TestNG.java:1069)
      	at org.testng.TestNG.run(TestNG.java:1037)
      	at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
      	at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:112)
      	at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeLazy(TestNGDirectoryTestSuite.java:123)
      	at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:90)
      	at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
      	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
      	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
      	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
    ```
    
    The root cause is that the zk client randomly selects IPV4 and IPV6 when parsing localhost, can connect when using IPV4, and fails when using IPV6. Therefore, if you continue to randomly connect to IPV6, the connection will timeout.
    
    https://github.com/apache/zookeeper/blob/bc1b231c9e32667b2978c86a6a64833470973dbd/zookeeper-server/src/main/java/org/apache/zookeeper/client/StaticHostProvider.java#L140-L146
    Thanks to @poorbarcode  for helping me locate the problem
    
    ### Modifications
    add     @AfterMethod(alwaysRun = true)
    use Adress replace hostName
    
    ### Documentation
    
    - [x] `doc-not-needed` 
    
    ### Matching PR in the forked repository
    
    PR in forked repository: 
    
    - congbobo184#1
    congbobo184 authored Sep 29, 2022
    Configuration menu
    Copy the full SHA
    6cba1f6 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    f0b6348 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2022

  1. Configuration menu
    Copy the full SHA
    5f07943 View commit details
    Browse the repository at this point in the history
  2. PIP-209: Removed C++/Python clients from main repo (apache#17881)

    * PIP-209: Removed C++/Python clients from main repo
    
    * Removed python directory from Docekrfile
    
    * Fixed python client version argument scoping
    
    * Fixed handling of pulsar.functions.serde
    merlimat authored Sep 30, 2022
    Configuration menu
    Copy the full SHA
    f3c547b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5e8902c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    15a347c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fb7307d View commit details
    Browse the repository at this point in the history
  6. [fix][flaky-test]NegativeAcksTest.testNegativeAcksWithBatchAckEnabled (

    …apache#17893)
    
    Fixes: apache#16864
    
    ### Motivation
    
    I think it is a wrong configuration(`ackTimeout 1s`) when writing the code, the original design is set `negativeAckRedeliveryDelay 1s`
    
    The process expects:
    
    - send 10 messages in one batch
      - submit a batch. 
    - receive 10 messages, do negative acknowledge
    - after `1s`, will trigger `redelivery`
    - receive 10 messages again
    
    The real process:
    - send 1 message
      - Reach the batch time limit, and submit a batch. return `msgId_1`
    - send 9 messages in another batch
      - submit a batch. return `msgId_2`
    - receive 10 messages, do negative acknowledge
      - push the `msgId_1` to `negativeAcksTracker`
      - push the `msgId_2` to `unAckedMessageTracker`
    - after `1s`, will trigger redelivery `msgId_2` by `unAckedMessageTracker`
    - receive 9 messages( `msgId_2` ) again
    - after `60s`, will trigger redelivery `msgId_1` by `negativeAcksTracker`. <strong>(High light)</strong> Test execution timeout!
    - receive 1 messages( `msgId_1` ) again
    
    
    
    ### Modifications
    
    - remove conf: `ackTimeout`
    - set `negativeAckRedeliveryDelay 1s`
    
    
    ### Documentation
    
    - [x] `doc-not-needed` 
    
    ### Matching PR in forked repository
    
    PR in forked repository: 
    
    - poorbarcode#18
    poorbarcode authored Sep 30, 2022
    Configuration menu
    Copy the full SHA
    85b1138 View commit details
    Browse the repository at this point in the history
  7. [improve][doc] Improve TLS encryption (apache#17808)

    * improve TLS encryption
    
    * fix review comments
    
    * preview fix
    
    * add file and syntax for page redirection
    
    * update the process to create PEM certs
    
    * add more description for mTLS
    momo-jun authored Sep 30, 2022
    Configuration menu
    Copy the full SHA
    7b26260 View commit details
    Browse the repository at this point in the history
  8. [fix] Remove pulsar-broker-common dependency from pulsar-client (apac…

    …he#17855)
    
    * [fix] Remove pulsar-broker-common dependency from pulsar-client
    
    * fix newline
    
    * add enforcer rule
    
    * Move packages-core to jdk8 bytecode
    
    * checkstyle
    
    * use variables
    
    * style
    
    * Fix annotation discovery
    
    * Fix kafka module compile
    nicoloboschi authored Sep 30, 2022
    Configuration menu
    Copy the full SHA
    74d6305 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2891d5c View commit details
    Browse the repository at this point in the history
  10. [fix][CI] Don't run pulsar-ci-flaky workflow for PRs which contain on…

    …ly document changes (apache#17906)
    
    - fix typo
    lhotari authored Sep 30, 2022
    Configuration menu
    Copy the full SHA
    c0b3039 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    6651bbb View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2022

  1. Configuration menu
    Copy the full SHA
    8c1152c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5582674 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2022

  1. Configuration menu
    Copy the full SHA
    e26060a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9ff9703 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2022

  1. Configuration menu
    Copy the full SHA
    1148204 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    af11c32 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2022

  1. [improve][pulsar-testclient] Add proxyServiceUrl and proxyProtocol as…

    … options for PerfTool CLI (apache#17862)
    
    * Add proxyServiceUrl and proxyProtocol as oprtions for PerfTool CLI
    
    * Add proxyServiceUrl and proxyProtocol as oprtions for PerfTool CLI
    
    * Add proxyServiceUrl and proxyProtocol as oprtions for PerfTool CLI
    
    * Add proxyServiceUrl and proxyProtocol as oprtions for PerfTool CLI
    
    * Add proxyServiceUrl and proxyProtocol as oprtions for PerfTool CLI
    
    * Add proxyServiceUrl and proxyProtocol as oprtions for PerfTool CLI
    
    * Add proxyServiceUrl and proxyProtocol as oprtions for PerfTool CLI
    
    * Add proxyServiceUrl and proxyProtocol as oprtions for PerfTool CLI
    
    Co-authored-by: Vineeth <[email protected]>
    vineeth1995 and Vineeth authored Oct 4, 2022
    Configuration menu
    Copy the full SHA
    d1b7c6a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9d6c34e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    28b5d24 View commit details
    Browse the repository at this point in the history
  4. improve issue templates wordings (apache#17793)

    * improve issue templates wordings
    
    Signed-off-by: tison <[email protected]>
    
    * Skip tests for issue template or changes-filter.yaml changes
    
    Signed-off-by: tison <[email protected]>
    Co-authored-by: Lari Hotari <[email protected]>
    tisonkun and lhotari authored Oct 4, 2022
    Configuration menu
    Copy the full SHA
    8b5acd6 View commit details
    Browse the repository at this point in the history
  5. [fix][testclient] Fix proxyProtocol parsing when value is empty, fix …

    …invalid property name (apache#17930)
    
    * [fix][testclient] Fix proxyProtocol parsing when value is empty, fix invalid property name
    lhotari authored Oct 4, 2022
    Configuration menu
    Copy the full SHA
    aefdded View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4742b6f View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2022

  1. fix typo (apache#17942)

    Hongten authored Oct 5, 2022
    Configuration menu
    Copy the full SHA
    7b53bd9 View commit details
    Browse the repository at this point in the history
  2. Make node and c++ client compatibility table a link to github (apache…

    …#17935)
    
    Fixes apache#17786
    
    ### Motivation
    * We want to make compatibility table single source because it is hard to keep all of them up-to-date.
    
    ### Modifications
    
    * Make node and c++ client compatibility table a link to github.
    hrsakai authored Oct 5, 2022
    Configuration menu
    Copy the full SHA
    ca052d4 View commit details
    Browse the repository at this point in the history
  3. [cleanup] reference to C++ and Python client (apache#17919)

    * [cleanup] reference to C++ and Python client
    
    Signed-off-by: tison <[email protected]>
    
    * address comments
    
    Signed-off-by: tison <[email protected]>
    
    Signed-off-by: tison <[email protected]>
    tisonkun authored Oct 5, 2022
    Configuration menu
    Copy the full SHA
    1234698 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2022

  1. [fix][tests] Fix flaky test V1_ProxyAuthenticationTest.anonymousSocke…

    …tTest (apache#17934)
    
    - fix thread safety issues with SimpleConsumerSocket and SimpleProducerSocket
    lhotari authored Oct 6, 2022
    Configuration menu
    Copy the full SHA
    24a38ea View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    83309ed View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    36e5ae5 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2022

  1. [doc][improve] update concepts-messaging.md (apache#17863)

    * [improve][doc] add developers-landing page
    
    The Pulsar for Developers content block on the documentation landing page needs to link to this page.
    
    * Update getting-started-standalone.md
    
    * Update getting-started-standalone.md
    
    * move the file to /site2/docs/
    
    * Update about.md
    
    * Update site2/docs/developers-landing.md
    
    Co-authored-by: tison <[email protected]>
    
    * Update site2/docs/getting-started-standalone.md
    
    Co-authored-by: tison <[email protected]>
    
    * [doc][improve] Update concepts-messaging.md
    
    Minor content edits, add / replace images to improve clarity and consistency.
    
    * Update site2/docs/concepts-messaging.md
    
    Co-authored-by: Anonymitaet <[email protected]>
    
    Co-authored-by: momo-jun <[email protected]>
    Co-authored-by: tison <[email protected]>
    Co-authored-by: Anonymitaet <[email protected]>
    4 people authored Oct 7, 2022
    Configuration menu
    Copy the full SHA
    8d13ff8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    65fad77 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2022

  1. Configuration menu
    Copy the full SHA
    15b33a3 View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Fix create ns (apache#17864)

    Signed-off-by: Zixuan Liu <[email protected]>
    nodece authored Oct 8, 2022
    Configuration menu
    Copy the full SHA
    e1b537f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    08f5766 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9cdc29a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0c9bb90 View commit details
    Browse the repository at this point in the history