Skip to content
This repository has been archived by the owner on Apr 1, 2024. It is now read-only.

Bump pulsar version to 3.1.0-SNAPSHOT #6035

Closed
wants to merge 236 commits into from

Commits on Jul 31, 2023

  1. [improve][txn]Add log when can't send TcClientConnectRequest to broke…

    …r. (apache#20880)
    
    Main Issue: apache#20851
    ### Motivation
    When the Proto version does not allow us to send TcClientConnectRequest to the broker, we should add a log to debug it.
    
    ### Modifications
    
    Add a waining log.
    liangyepianzhou authored and Technoboy- committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    e0ce930 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c5c680e View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2023

  1. [fix][broker] fix MessageDeduplication throw NPE when enable broker d…

    …edup and set namespace disable deduplication. (apache#20905)
    lifepuzzlefun authored and Technoboy- committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    736265c View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2023

  1. Release 3.1.0

    Technoboy- committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    3609399 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2023

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

Commits on Aug 14, 2023

  1. Configuration menu
    Copy the full SHA
    868ed0b View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Fix message loss during topic compaction (apache#20980)

    (cherry picked from commit 3ab420c)
    coderzc committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    2dc14d4 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2023

  1. Configuration menu
    Copy the full SHA
    4b944a7 View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Fix message loss during topic compaction (apache#20980)

    (cherry picked from commit 3ab420c)
    coderzc committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    0c50394 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2023

  1. [fix][io] Update test certs for Elasticsearch (apache#21001)

    Fixes: apache#20997
    
    ### Motivation
    
    Update the expired certs to get tests passing.
    
    ### Modifications
    
    * Update all certs. See `README.md` in files for detailed steps.
    
    ### Verifying this change
    
    This change is covered by tests.
    
    ### Documentation
    
    - [x] `doc-not-needed`
    
    (cherry picked from commit d6734b7)
    michaeljmarshall committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    faa7172 View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Fix get outdated compactedTopicContext after compaction…

    …Horizon has been updated (apache#20984)
    
    (cherry picked from commit 0cb1c78)
    coderzc committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    77dc425 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2023

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

Commits on Aug 21, 2023

  1. [fix] [admin] Fix get topic stats fail if a subscription catch up con…

    …currently (apache#20971)
    
    ### Motivation
    
    **Background**: when calling `pulsar-admin topics stats --get-earliest-time-in-backlog <topic name>`, Pulsar will read the first entry which is not acknowledged, and respond with the entry write time. The flow is like this:
    - get the mark deleted position of the subscription
    - if no backlog, response `-1`
    - else read the next position of the mark deleted position, and respond with the entry write time.
    
    **Issue**: if the command `pulsar-admin topics stats --get-earliest-time-in-backlog <topic name>` and `consumer.acknowledge` are executed at the same time, the step 2 in above flow will get a position which is larger than the last confirmed position, lead a read entry error.
    
    | time | `pulsar-admin topics stats --get-earliest-time-in-backlog <topic name>` | `consumer.acknowledge` |
    | --- | --- | --- |
    | 1 | mark deleted position is `3:1` and LAC is `3:2` now |
    | 2 | the check `whether has backlog` is passed |
    | 3 | | acknowledged `3:2`, mark deleted position is `3:2` now |
    | 4 | calculate next position: `3:3` |
    | 5 | Read `3:3` and get an error: `read entry failed` |
    
    Note: the test in PR is not intended to reproduce the issue.
    
    ### Modifications
    
    Respond `-1` if the next position of the mark deleted position is larger than the LAC
    poorbarcode authored and Technoboy- committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    368bee4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4cccfab View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    01c4655 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cd8f7ca View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    399e711 View commit details
    Browse the repository at this point in the history
  6. [fix][broker] fix ModularLoadManagerImpl always delete active bundle-…

    …data. sec ver. (apache#20620)
    
    Co-authored-by: wangjinlong <wangjinlong@zhihu.com>
    2 people authored and Technoboy- committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    487fc76 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2023

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

Commits on Aug 29, 2023

  1. [fix][broker] Fix can't stop phase-two of compaction even though mess…

    …ageId read reaches lastReadId (apache#20988)
    
    (cherry picked from commit 9e2195c)
    coderzc committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    2df8853 View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Make sure all inflight writes have finished before comp…

    …letion of compaction (apache#21067)
    
    (cherry picked from commit bb9c9b4)
    coderzc committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    f6d2071 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2023

  1. [fix][client] Fix consumer can't consume resent chunked messages (apa…

    …che#21070)
    
    ### Motivation
    
    Current, when the producer resend the chunked message like this:
    - M1: UUID: 0, ChunkID: 0
    - M2: UUID: 0, ChunkID: 0 // Resend the first chunk
    - M3: UUID: 0, ChunkID: 1
    
    When the consumer received the M2, it will find that it's already tracking the UUID:0 chunked messages, and will then discard the message M1 and M2. This will lead to unable to consume the whole chunked message even though it's already persisted in the Pulsar topic.
    
    Here is the code logic:
    https://github.com/apache/pulsar/blob/44a055b8a55078bcf93f4904991598541aa6c1ee/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java#L1436-L1482
    
    The bug can be easily reproduced using the testcase `testResendChunkMessages` introduced by this PR.
    
    ### Modifications
    
    - When receiving the new duplicated first chunk of a chunked message, the consumer discard the current chunked message context and create a new context to track the following messages. For the case mentioned in Motivation, the M1 will be released and the consumer will assemble M2 and M3 as the chunked message.
    
    (cherry picked from commit eb2e3a2)
    RobertIndie committed Aug 31, 2023
    Configuration menu
    Copy the full SHA
    906fbba View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4503540 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2023

  1. [improve] [ml] Persist mark deleted ops to ZK if create cursor ledger…

    … was failed (apache#20935)
    
    The progress Persist mark deleted position is like this:
    - persist to BK
    - If failed to persist to BK, try to persist to ZK
    
    But in the current implementation: if the cursor ledger was created failed, Pulsar will not try to persist to ZK. It makes if the cursor ledger created fails, a lot of ack records can not be persisted, and we will get a lot of repeat consumption after the BK recover.
    
    Modifications: Try to persist the mark deleted position to ZK if the cursor ledger was created failed
    poorbarcode authored and Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    f1d6a15 View commit details
    Browse the repository at this point in the history
  2. [fix][broker]Fix chunked messages will be filtered by duplicating (ap…

    …ache#20948)
    
    ## Motivation
    Make the chunk message function work properly when deduplication is enabled.
    ## Modification
    ### Only check and store the sequence ID of the last chunk in a chunk message.
     For example:
     ```markdown
         Chunk-1 sequence ID: 0, chunk ID: 0, total chunk: 2
         Chunk-2 sequence ID: 0, chunk ID: 1
         Chunk-3 sequence ID: 1, chunk ID: 0 total chunk: 3
         Chunk-4 sequence ID: 1, chunk ID: 1
         Chunk-5 sequence ID: 1, chunk ID: 1
         Chunk-6 sequence ID: 1, chunk ID: 2
    ```   
    Only store check and store the sequence ID of Chunk-2 and Chunk-6.
    **Add a property in the publishContext to determine whether this chunk is the last chunk when persistent completely.**
    ```java
    publishContext.setProperty(IS_LAST_CHUNK, Boolean.FALSE);
    ```
    ### Filter and ack duplicated chunks in a chunk message instead of discarding ctx.
     For example:
     ```markdown
         Chunk-1 sequence ID: 0, chunk ID: 0, msgID: 1:1
         Chunk-2 sequence ID: 0, chunk ID: 1, msgID: 1:2
         Chunk-3 sequence ID: 0, chunk ID: 2, msgID: 1:3
         Chunk-4 sequence ID: 0, chunk ID: 1, msgID: 1:4
         Chunk-5 sequence ID: 0, chunk ID: 2, msgID: 1:5
         Chunk-6 sequence ID: 0, chunk ID: 3, msgID: 1:6
    ```   
    We should filter and ack chunk-4 and chunk-5.
    liangyepianzhou authored and Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    e4a71ef View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    95a7a09 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    06e4147 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d02ae45 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c2d4a8e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e36db0c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b2c7052 View commit details
    Browse the repository at this point in the history
  9. [fix] [broker] remove bundle-data in local metadata store. (apache#21078

    )
    
    Motivation: When deleting a namespace, we will delete znode under the path `/loadbalance/bundle-data` in `local metadata store` instead of `global metadata store`.
    
    Modifications: Delete bundle data znode in local metadata store.
    thetumbled authored and Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    59ca24a View commit details
    Browse the repository at this point in the history
  10. [fix][broker] Fix write duplicate entries into the compacted ledger a…

    …fter RawReader reconnects (apache#21081)
    coderzc authored and Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    b9051c6 View commit details
    Browse the repository at this point in the history
  11. [fix][broker] Cleanup correctly heartbeat bundle ownership when handl…

    …ing broker deletion event (apache#21083)
    Demogorgon314 authored and Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    12fd09d View commit details
    Browse the repository at this point in the history
  12. [fix][broker] Avoid splitting one batch message into two entries in S…

    …trategicTwoPhaseCompactor (apache#21091)
    Demogorgon314 authored and Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    89b5675 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    67f34a8 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    8e51da1 View commit details
    Browse the repository at this point in the history
  15. [fix][client] Avoid ack hole for chunk message (apache#21101)

    ## Motivation
    Handle ack hole case:
    For example:
    ```markdown
                         Chunk-1 sequence ID: 0, chunk ID: 0, msgID: 1:1
                         Chunk-2 sequence ID: 0, chunk ID: 1, msgID: 1:2
                         Chunk-3 sequence ID: 0, chunk ID: 0, msgID: 1:3
                         Chunk-4 sequence ID: 0, chunk ID: 1, msgID: 1:4
                         Chunk-5 sequence ID: 0, chunk ID: 2, msgID: 1:5
    ```
     Consumer ack chunk message via ChunkMessageIdImpl that consists of all the chunks in this chunk
     message(Chunk-3, Chunk-4, Chunk-5). The Chunk-1 and Chunk-2 are not included in the
     ChunkMessageIdImpl, so we should process it here.
    ## Modification
    Ack chunk-1 and chunk-2.
    liangyepianzhou authored and Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    f779a19 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    db6c7e1 View commit details
    Browse the repository at this point in the history
  17. [fix][auto-recovery] Improve to the ReplicaitonWorker performance by …

    …deleting invalid underreplication nodes (apache#21059)
    horizonzy authored and Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    e714940 View commit details
    Browse the repository at this point in the history
  18. [improve][bk] Improve getIsolationGroup by avoid creating arrayList (a…

    …pache#20952)
    
    ### Motivation
    
    Minor improve `getIsolationGroup` by avoid creating arrayList. And it'  beneficial to GC
    
    ### Modifications
    
    `new HashSet<>(Arrays.asList(...))` -> `Sets.newHashSet(...)`
    AnonHxy authored and Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    f5e6feb View commit details
    Browse the repository at this point in the history
  19. [fix] [broker] Fix isolated group not work problem. (apache#21096)

    ### Modifications
    When upgraded the pulsar version from 2.9.2 to 2.10.3, and the isolated group feature not work anymore.
    Finally, we found the problem. In IsolatedBookieEnsemblePlacementPolicy, when it gets the bookie rack from the metadata store cache, uses future.isDone() to avoid sync operation. If the future is incomplete, return empty blacklists. 
    The cache may expire due to the caffeine cache `getExpireAfterWriteMillis` config, if the cache expires, the future may be incomplete. (apache#21095 will correct the behavior)
    
    In 2.9.2, it uses the sync to get data from the metadata store, we should also keep the behavior.
    horizonzy authored and Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    153840c View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    ebb1c4a View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    402e131 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    3897c4b View commit details
    Browse the repository at this point in the history
  23. [fix][broker] Fix deleting topic not delete the related topic policy …

    …and schema. (apache#21093)
    
    Fixes apache#21075 
    
    ### Motivation
    
    When the topic is loaded, it will delete the topic-level policy if it is enabled. But if the topic is not loaded, it will directly delete through managed ledger factory. But then we will leave the topic policy there. When the topic is created next time, it will use the old topic policy
    
    ### Modifications
    
    When deleting the topic, delete the schema and topic policies even if the topic is not loaded.
    Technoboy- committed Sep 5, 2023
    Configuration menu
    Copy the full SHA
    9f33650 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    d896814 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2023

  1. Configuration menu
    Copy the full SHA
    702ee73 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    52a7fb6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    87062a5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ec0aa2a View commit details
    Browse the repository at this point in the history
  5. [fix][proxy] Fix Proxy 502 gateway error when it is configured with K…

    …eystore TLS and admin API is called (apache#21077)
    Apurva007 authored and Technoboy- committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    1b9ff60 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2023

  1. [fix] [client] fix same producer/consumer use more than one connectio…

    …n per broker (apache#21144)
    
    Motivation: Pulsar has two mechanisms to guarantee that a producer connects to the broker multiple times the result is still correct.
    
    - In a connection, the second connection waits for the first connection to complete.
    - In a topic, the second connection will override the previous one.
    
    However, if a producer can use different connections to connect to the broker, these two mechanisms will not work.
    
    When the config `connectionsPerBroker` of `PulsarClient` is larger than `1`, a producer could use more than one connection, leading to the error above. You can reproduce this issue by the test `testSelectConnectionForSameProducer.`
    
    Modifications: Make the same producer/consumer usage the same connection
    poorbarcode authored and Technoboy- committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    6a605c8 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2023

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

Commits on Sep 15, 2023

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

Commits on Sep 18, 2023

  1. Configuration menu
    Copy the full SHA
    d656cb5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ad1a6ee View commit details
    Browse the repository at this point in the history
  3. [fix][auto-recovery] Fix metadata store deadlock due to BookkeeperInt…

    …ernalCallbacks.Processor (apache#21159)
    horizonzy authored and Technoboy- committed Sep 18, 2023
    Configuration menu
    Copy the full SHA
    68a6609 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4139291 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ad69dec View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2023

  1. Configuration menu
    Copy the full SHA
    9828326 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1212c77 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2023

  1. Revert "[fix][broker] Fix PulsarService.getLookupServiceAddress retur…

    …ns wrong port if TLS is enabled (apache#21015)"
    
    This reverts commit ad69dec.
    Technoboy- committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    0da5e46 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2023

  1. Configuration menu
    Copy the full SHA
    0eb1267 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b442cae View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c8b8639 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    72c6308 View commit details
    Browse the repository at this point in the history
  5. [improve] [client] Merge lookup requests for the same topic (apache#2…

    …1232)
    
    Motivation: Multiple consumers and producers can be maintained by the same Pulsar Client. In some cases, multiple consumers or producers might attempt to connect to the same topic. To optimize the process, it is recommended to perform the topic lookup only once for each topic.
    
    Modifications:
    - Merge lookup requests for the same topic.
    - Merge get partitioned metadata request for the same partitioned topic.
    poorbarcode authored and Technoboy- committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    a514a1f View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2023

  1. Configuration menu
    Copy the full SHA
    31880ec View commit details
    Browse the repository at this point in the history
  2. Release 3.1.1

    Technoboy- committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    80fb390 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2023

  1. [fix][sec] Add OWASP Dependency Check suppressions (apache#21281)

    (cherry picked from commit 1bf7371)
    lhotari committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    efc4bf3 View commit details
    Browse the repository at this point in the history
  2. [fix][build] Upgrade Lombok to 1.18.30 to support compiling with JDK21 (

    apache#21278)
    
    (cherry picked from commit 682eb36)
    
    # Conflicts:
    #	pom.xml
    lhotari committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    9cd2f9e View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2023

  1. [fix][ml] Fix thread safe issue with RangeCache.put and RangeCache.cl…

    …ear (apache#21302)
    
    (cherry picked from commit 70d086f)
    lhotari committed Oct 7, 2023
    Configuration menu
    Copy the full SHA
    5900635 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2023

  1. [fix][test] Fix flaky test NarUnpackerTest (apache#21328)

    (cherry picked from commit e76a86e)
    
    # Conflicts:
    #	pulsar-common/src/test/java/org/apache/pulsar/common/nar/NarUnpackerTest.java
    lhotari committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    33553cc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8e3f68f View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2023

  1. [fix][broker]Check that the super user role is in the MultiRolesToken…

    …AuthorizationProvider plugin (apache#20939)
    
    Fixed apache#20938
    tuteng authored and merlimat committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    031809e View commit details
    Browse the repository at this point in the history
  2. [fix][sec] Fix MultiRoles token provider when using anonymous clients (

    …apache#21338)
    
    Co-authored-by: Lari Hotari <lhotari@apache.org>
    merlimat and lhotari committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    25c84dd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c98a019 View commit details
    Browse the repository at this point in the history
  4. [improve] [auto-recovery] [branch-3.1] Migrate the replication testin…

    …g from BookKeeper to Pulsar. (apache#21340)
    
    There is no testing for AutoRecovery replication in Pulsar's current test suite, and we need to cover it. So migrate the replication testing from BookKeeper to Pulsar.
    horizonzy authored Oct 11, 2023
    Configuration menu
    Copy the full SHA
    b38c563 View commit details
    Browse the repository at this point in the history
  5. [fix] [metadata] Fix zookeeper related flacky test (apache#21310)

    Fix zookeeper related flacky test
    
    (cherry picked from commit 9ab7417)
    horizonzy authored and poorbarcode committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    50eb846 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2023

  1. Configuration menu
    Copy the full SHA
    a88fe1f View commit details
    Browse the repository at this point in the history
  2. [fix][ci] Fix docker image building by releasing more disk space befo…

    …re building (apache#21365)
    
    (cherry picked from commit 421c98a)
    lhotari committed Oct 14, 2023
    Configuration menu
    Copy the full SHA
    27f13a1 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

  1. [fix] [broker] Make specified producer could override the previous one (

    apache#21155)
    
    The client assumed the connection was inactive, but the Broker assumed the connection was fine. The Client tried to  use a new connection to reconnect a producer, then got an error `Producer with name 'st-0-5' is already connected to topic`.
    
    - In a connection, the second connection waits for the first connection to complete\. But there is a bug that causes this mechanism to fail\.
    - If a producer uses a default name, the second registration will override the first one. But it can not override the first one if it uses a specified producer name\. I think this mechanism is to prevent a client from creating two producers with the same name. However, method `Producer.isSuccessorTo` has checked the `producer-id`, and the `producer-id` of multiple producers created by the same client are different. So this mechanism can be deleted.
    
    - For `issue 1`: If a producer with the same name tries to use a new connection, async checks the old connection is available. The producers related to the connection that is not available are automatically cleaned up.
    
    - For `issue 2`:
      -  Fix the bug that causes a complete producer future will be removed from `ServerCnx`.
      - Remove the mechanism that prevents a producer with a specified name from overriding the previous producer.
    
    (cherry picked from commit bda16b6)
    poorbarcode committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    662130f View commit details
    Browse the repository at this point in the history
  2. [fix][test] Fix a resource leak in ClusterMigrationTest (apache#21366)

    (cherry picked from commit 39235ed)
    
    # Conflicts:
    #	pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ClusterMigrationTest.java
    lhotari committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    baca9a9 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2023

  1. [feat][sql] Support UUID for json and avro (apache#21267)

    ### Motivation
    As https://pulsar.apache.org/docs/3.1.x/sql-overview/, Pulsar SQL is based on [Trino (formerly Presto SQL)](https://trino.io/), which supports UUID type. But now, the UUID field in Avro or JSON schema will be interpreted as VARCHAR.
    
    ### Modifications
    
    Support decoding UUID form AVRO or JSON schema.
    
    (cherry picked from commit 8c70943)
    liangyepianzhou committed Oct 17, 2023
    Configuration menu
    Copy the full SHA
    ebc79f2 View commit details
    Browse the repository at this point in the history
  2. [fix][test] Fix some resource leaks in compaction tests (apache#21374)

    (cherry picked from commit e6cd11f)
    lhotari committed Oct 17, 2023
    Configuration menu
    Copy the full SHA
    d5edbbf View commit details
    Browse the repository at this point in the history
  3. [fix][test] Fix resource leaks with Pulsar Functions tests (apache#21378

    )
    
    (cherry picked from commit ffc083b)
    lhotari committed Oct 17, 2023
    Configuration menu
    Copy the full SHA
    f5baebf View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2023

  1. [fix][broker][branch-3.1] Fix lookup heartbeat and sla namespace bund…

    …le when using extensible load manager (apache#21213) (apache#21314)
    Demogorgon314 authored Oct 18, 2023
    Configuration menu
    Copy the full SHA
    0454410 View commit details
    Browse the repository at this point in the history
  2. [improve][ci] Add new CI unit test group "Broker Group 4" with cluste…

    …r migration tests (apache#21391)
    
    (cherry picked from commit e2c6c08)
    lhotari committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    9c467bb View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2023

  1. [fix][broker] rackaware policy is ineffective when delete zk rack inf…

    …o after bkclient initialize (apache#20944)
    TakaHiR07 authored and Technoboy- committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    dfc2084 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2ed9a76 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    aba4764 View commit details
    Browse the repository at this point in the history
  4. [fix][broker] Fix heartbeat namespace create event topic and cannot d…

    …elete heartbeat topic (apache#21360)
    
    Co-authored-by: fanjianye <fanjianye@bigo.sg>
    Co-authored-by: Jiwei Guo <technoboy@apache.org>
    3 people committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    7d097f7 View commit details
    Browse the repository at this point in the history
  5. [fix] [bk-client] Fix bk client MinNumRacksPerWriteQuorum and Enforce…

    …MinNumRacksPerWriteQuorum not work problem. (apache#21327)
    horizonzy authored and Technoboy- committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    5fda6ad View commit details
    Browse the repository at this point in the history
  6. [improve][broker] use ConcurrentHashMap in ServiceUnitStateChannel an…

    …d avoid recursive update error (apache#21282)
    
    (cherry picked from commit aecdb03)
    heesung-sn authored and Demogorgon314 committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    a9e58b1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2b2b83d View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2023

  1. [fix][sec] Upgrade snappy-java to 1.1.10.5 (apache#21280)

    (cherry picked from commit 643428b)
    lhotari committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    8e5f00e View commit details
    Browse the repository at this point in the history
  2. [fix][proxy] Move status endpoint out of auth coverage (apache#21428)

    (cherry picked from commit fe2d61d)
    mattisonchao authored and lhotari committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    1496925 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2023

  1. [fix][sec] Upgrade Jetty to 9.4.53 to address CVE-2023-44487 (apache#…

    …21395)
    
    (cherry picked from commit 22fd8c2)
    lhotari committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    a790d7f View commit details
    Browse the repository at this point in the history
  2. [fix][sec] Upgrade Netty to 4.1.100 to address CVE-2023-44487 (apache…

    …#21397)
    
    (cherry picked from commit aae6c71)
    
    # Conflicts:
    #	buildtools/pom.xml
    #	distribution/server/src/assemble/LICENSE.bin.txt
    #	distribution/shell/src/assemble/LICENSE.bin.txt
    #	pom.xml
    #	pulsar-sql/presto-distribution/LICENSE
    lhotari committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    6d8e17f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    119b832 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ce322f0 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2023

  1. Configuration menu
    Copy the full SHA
    9919a37 View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Ignore individual acknowledgment for CompactorSubscript…

    …ion when an entry has been filtered. (apache#21434)
    coderzc authored and Technoboy- committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    7a2e3f6 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2023

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

Commits on Nov 8, 2023

  1. [fix][txn] Ack all message ids when ack chunk messages with transacti…

    …on. (apache#21268)
    
    ### Motivation
    
    Now, only the last chunk will be acknowledged when acknowledging chunk messages with transactions.
    If the messageId is a `ChunkMessageIdImpl`, the ledger ID and entry ID will belong to the `lastChunkMsgId`.
    https://github.com/apache/pulsar/blob/2b5c199053a5b2d7f849e6604d619bae9197a8c9/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java#L2791-L2814
    
    https://github.com/apache/pulsar/blob/2b5c199053a5b2d7f849e6604d619bae9197a8c9/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ChunkMessageIdImpl.java#L30-L33
    ### Modifications
    
    Flow the common message acknowledge logic, ack all the chunks when acknowledging messages with transactions.
    
    (cherry picked from commit f581417)
    liangyepianzhou committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    b71fedc View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2023

  1. [fix][client] Avert extensive time consumption during table view cons…

    …truction (apache#21270)
    
    Reopen apache#21170
    ### Motivation
    If a topic persistently experiences a substantial quantity of data inputs,  the act of reading all the messages present in this topic to build a TableView can take an excessive amount of time.
    ### Modification
    In the process of constructing the TableView, initially, the last message ID of the current topic is procured. Consequently, once this last message ID has been reached, the creation ensues to its completion.
    liangyepianzhou authored and Technoboy- committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    c46ed2d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c5b4af3 View commit details
    Browse the repository at this point in the history
  3. [fix][txn] OpRequestSend reuse problem cause tbClient commitTxnOnTopi…

    …c timeout unexpectedly (apache#21505)
    
    Co-authored-by: fanjianye <fanjianye@bigo.sg>
    2 people authored and Technoboy- committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    7bc4956 View commit details
    Browse the repository at this point in the history
  4. [fix][broker] Avoid pass null role in MultiRolesTokenAuthorizationPro…

    …vider (apache#21486)
    
    Co-authored-by: Jiwe Guo <technoboy@apache.org>
    mattisonchao and Technoboy- committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    47232c7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    80f921a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e3cd354 View commit details
    Browse the repository at this point in the history
  7. [fix][broker] Fix namespace bundle stuck in unloading status (apache#…

    …21445)
    
    PR apache#21231 made user topic creation rely on system topic `__change_event` if the user is enabling `topicLevelPoliciesEnabled`.
    
    It will introduce a race condition with namespace bundle unloading. All creating topics want to create `__change_event` reader but constantly fail by namespace-bundle inactive and retry mechanism. Unfortunately, the namespace-bundle unloading operation is waiting for all the topics to be completed and then release inactive status. Therefore, they will be stuck in a deadlock until one gets a timeout.
    
    - Get the topic policy before loading.
    mattisonchao authored and Technoboy- committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    d39482f View commit details
    Browse the repository at this point in the history
  8. [fix][broker] Fix create topic with different auto creation strategie…

    …s causes race condition (apache#21545)
    mattisonchao authored and Technoboy- committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    af65e30 View commit details
    Browse the repository at this point in the history
  9. [fix][broker] Fix the deadlock when using BookieRackAffinityMapping w…

    …ith rackaware policy (apache#21481)
    erobot authored and Technoboy- committed Nov 10, 2023
    Configuration menu
    Copy the full SHA
    bf361fc View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2023

  1. Configuration menu
    Copy the full SHA
    8b1a90b View commit details
    Browse the repository at this point in the history
  2. [fix][client] Fix print error log 'Auto getting partitions failed' wh…

    …en expend partition. (apache#21485)
    hanmz authored and Technoboy- committed Nov 11, 2023
    Configuration menu
    Copy the full SHA
    515cf1d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d386d14 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    467e9c0 View commit details
    Browse the repository at this point in the history
  5. [fix] [ml] Fix orphan scheduled task for ledger create timeout check (a…

    …pache#21542)
    
    ### Motivation
    
    When an ML tries to create a new ledger, it will create a delay task to check if the ledger create request is timeout<sup>[1]</sup>.
    
    However, we should cancel this delay task after the request to create new ledgers is finished. Otherwise, these tasks will cost unnecessary CPU resources.
    
    ### Modifications
    
    Cancel the scheduled task after the create ledger request is finished
    poorbarcode authored and Technoboy- committed Nov 11, 2023
    Configuration menu
    Copy the full SHA
    cf78b71 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2023

  1. Revert "[fix][client] Avert extensive time consumption during table v…

    …iew construction (apache#21270)"
    
    This reverts commit c46ed2d.
    liangyepianzhou committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    ceafb3b View commit details
    Browse the repository at this point in the history
  2. Revert "[fix][broker] Fix issue with consumer read uncommitted messag…

    …es from compacted topic (apache#21465)"
    
    This reverts commit 80f921a.
    coderzc committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    c616deb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a303bd1 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2023

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

Commits on Nov 22, 2023

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

Commits on Nov 23, 2023

  1. [fix] [broker] Delete topic timeout due to NPE (apache#21595)

    ### Issue:
    There is an NPE that causes the Future of Delay message indexes bucket deletion to be no longer complete, which leads to the topic deletion timeout. You can reproduce this issue by the test `testDeletePartitionedTopicIfCursorPropsEmpty` and `testDeleteTopicIfCursorPropsEmpty`
    
    ### Modifications
    Fix the NPE.
    
    (cherry picked from commit b2f2b53)
    poorbarcode committed Nov 23, 2023
    Configuration menu
    Copy the full SHA
    4f7d084 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2023

  1. Configuration menu
    Copy the full SHA
    d735346 View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Do not write replicated snapshot marker when the topic …

    …which is not enable replication (apache#21495)
    
    ### Motivation
    [PIP 33](https://github.com/apache/pulsar/wiki/PIP-33%3A-Replicated-subscriptions) introduces a new concept ` Replicated subscriptions`. When a topic has a consumer (subscription) that enables replicated subscriptions, it will write markers into the original topic. Even if there is no replicated cluster configured for this topic, the mark will still be written. And that will make the backlog of the topic keep increasing.
    
    ---
    The mark will be written in the following two ways:
    1. A scheduled task writes a marker at a fixed time interval if there are new messages published.
    https://github.com/apache/pulsar/blob/ea1fc0f20138bc35f54f55d32dabf3c3a3309c8e/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/ReplicatedSubscriptionsController.java#L78-L86
    https://github.com/apache/pulsar/blob/ea1fc0f20138bc35f54f55d32dabf3c3a3309c8e/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/ReplicatedSubscriptionsSnapshotBuilder.java#L77-L86
    2. Acknowledging message will trigger a check if the first snapshot is written and the mark delete position moves,  if true, It will write a marker.
    https://github.com/apache/pulsar/blob/ea1fc0f20138bc35f54f55d32dabf3c3a3309c8e/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/ReplicatedSubscriptionsController.java#L114-L150
    
    ### Modifications
    According to the topic policy to create or remove `ReplicatedSubscriptionsController` of this topic.
    liangyepianzhou authored and Technoboy- committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    a6df6b9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3657ee1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a8b311f View commit details
    Browse the repository at this point in the history
  5. [fix][sec] Upgrade rabbitmq client to address CVE-2023-46120 (apache#…

    …21619)
    
    Co-authored-by: Jiwe Guo <technoboy@apache.org>
    liangyepianzhou and Technoboy- committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    e6bebab View commit details
    Browse the repository at this point in the history
  6. [fix] [build] rename schema_example.conf to schema_example.json (apac…

    …he#21447)
    
    ### Motivation
    
    Since the files will be checked for `LICENSE` whose name is a suffix with `.conf`. But we can not add a LICENSE definition for the file `schema_example.conf` because it is a `JSON` file.
    
    Note: the file `schema_example.conf` is only used for the integration test `CLITest.java`.
    
    ### Modifications
    
    Rename `schema_example.conf` to `schema_example.json`.
    poorbarcode authored and AnonHxy committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    372b443 View commit details
    Browse the repository at this point in the history
  7. [improve] [broker] Let the producer request success at the first time…

    … if the previous one is inactive (apache#21220)
    
    If a producer establishes a new connection when it is reconnecting, while the previous connection is now inactive, the initial request made on the new connection will fail.  This failure will trigger the topic of cleaning up the inactive producers.  However, upon making a second request, the producer will be able to successfully establish a connection and proceed with the operation.
    
    Make the initial request made on the new connection success.
    
    (cherry picked from commit 711b621)
    poorbarcode committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    9bc415d View commit details
    Browse the repository at this point in the history
  8. [fix] [log] fix the vague response if topic not found (apache#20932)

    ### Motivation
    
    When I did this test below and got the error "Topic not found".
    
    ```java
    pulsarAdmin.topics().createNonPartitionedTopic("persistent://public/default/tp_1");
    Consumer consumer = null;
    Consumer consumer = pulsarClient.newConsumer()
              .topic("persistent://public/default/tp_1")
              .subscriptionName("s1")
              .enableRetry(true)
              .subscribe();
    ```
    
    I do create the topic `persistent://public/default/tp_1` first but got a response "Topic not found", it is confusing.
    
    The root cause is the retry letter topic `persistent://public/default/tp_1-sub1-RETRY` was not created.
    
    ### Modifications
    
    clear the vague response if the topic is not founded.
    
    (cherry picked from commit 1a024bc)
    poorbarcode committed Nov 28, 2023
    Configuration menu
    Copy the full SHA
    1ab10da View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2023

  1. Release 3.1.2

    AnonHxy committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    9f11039 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2023

  1. Configuration menu
    Copy the full SHA
    0970471 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    80ac009 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8fc56f0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    78a3964 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2eb5423 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4aabd42 View commit details
    Browse the repository at this point in the history
  7. [fix][broker] Fix incorrect unack count when using shared subscriptio…

    …n on non-persistent topic (apache#21592)
    
    Fixes apache#21568
    
    Motivation
    Fix incorrect unack count when using shared subscription on non-persistent topic
    
    Modifications
    In the case of a non-persistent topic, the consumer does not send an ack to the broker (see org.apache.pulsar.client.impl.NonPersistentAcknowledgmentGroupingTracker# addAcknowledgment)
    
    To work around this, we can update unackedMessages when the broker sends a message to the consumer successfully.
    1Jack2 authored and Technoboy- committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    d458b80 View commit details
    Browse the repository at this point in the history
  8. [improve][build] Upgrade Apache ZooKeeper to 3.9.1 (apache#20933)

    Co-authored-by: Lari Hotari <lhotari@apache.org>
    Co-authored-by: xiangying <1984997880@qq.com>
    Co-authored-by: Jiwe Guo <technoboy@apache.org>
    4 people committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    a614aad View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. Configuration menu
    Copy the full SHA
    16e6c46 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    89b56a1 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. Configuration menu
    Copy the full SHA
    2393ca7 View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Record GeoPersistentReplicator.msgOut before producer#s…

    …endAsync (apache#21673)
    
    Signed-off-by: Zixuan Liu <nodeces@gmail.com>
    nodece authored and Technoboy- committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    c4196fb View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2023

  1. [fix][sec] Bump avro version to 1.11.3 for CVE-2023-39410 (apache#21341)

    Signed-off-by: tison <wander4096@gmail.com>
    tisonkun authored and merlimat committed Dec 9, 2023
    Configuration menu
    Copy the full SHA
    23bf51a View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2023

  1. [fix] [broker] network package lost if enable haProxyProtocolEnabled (a…

    …pache#21684)
    
    Fixes apache#21557
    
    ### Motivation
    
    There is a network package loss issue after enabling `haProxyProtocolEnabled`, which leads the error `Checksum failed on the broker` and `Adjusted frame length exceeds`, you can reproduce the issue by the test `testSlowNetwork`.
    
    ### Modifications
    
    Fix the bug.
    
    (cherry picked from commit 6e18874)
    poorbarcode committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    9a655b6 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. [fix][sec] Upgrade org.bouncycastle:bc-fips to 1.0.2.4 (apache#21730)

    Masahiro Sakamoto authored and merlimat committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    309cf4b View commit details
    Browse the repository at this point in the history

Commits on Dec 25, 2023

  1. [improve][broker] Avoid record inactiveproducers when deduplication i…

    …s disable. (apache#21193)
    
    Co-authored-by: Jiwe Guo <technoboy@apache.org>
    lifepuzzlefun and Technoboy- committed Dec 25, 2023
    Configuration menu
    Copy the full SHA
    3b51b6c View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Fixed ServiceUnitStateChannel monitor to tombstone only…

    … inactive bundle states (apache#21721)
    
    (cherry picked from commit 8d16580)
    heesung-sn authored and Demogorgon314 committed Dec 25, 2023
    Configuration menu
    Copy the full SHA
    30fe564 View commit details
    Browse the repository at this point in the history
  3. [fix][broker] Skip topic auto-creation for ExtensibleLoadManager inte…

    …rnal topics (apache#21729)
    
    (cherry picked from commit 88df040)
    heesung-sn authored and Demogorgon314 committed Dec 25, 2023
    Configuration menu
    Copy the full SHA
    b403f3c View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2023

  1. [fix][broker] Fix the issue of topics possibly being deleted. (apache…

    …#21704)
    
    Co-authored-by: Jiwe Guo <technoboy@apache.org>
    (cherry picked from commit 84ea1ca)
    crossoverJie authored and poorbarcode committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    49490b3 View commit details
    Browse the repository at this point in the history
  2. [fix][client] Fix producer thread block forever on memory limit contr…

    …oller (apache#21790)
    
    (cherry picked from commit 99d06b9)
    wenbingshen authored and lhotari committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    04ed338 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2023

  1. Configuration menu
    Copy the full SHA
    d276550 View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Fixed the ExtensibleLoadManagerImpl internal system get…

    …Topic failure when the leadership changes apache#21764 (apache#21801)
    heesung-sn authored Dec 27, 2023
    Configuration menu
    Copy the full SHA
    39b69a3 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2024

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

Commits on Jan 3, 2024

  1. Configuration menu
    Copy the full SHA
    fea34d9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    174e76b View commit details
    Browse the repository at this point in the history
  3. [improve][broker] cleanup the empty subscriptionAuthenticationMap in …

    …zk when revoke subscription permission (apache#21696)
    
    Co-authored-by: fanjianye <fanjianye@bigo.sg>
    Co-authored-by: Jiwe Guo <technoboy@apache.org>
    3 people committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    b7d3a9c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e7e7d3a View commit details
    Browse the repository at this point in the history
  5. [fix][fn] Fix Deadlock in Functions Worker LeaderService (apache#21711)

    Fixes apache#21501
    
    ### Motivation
    
    No need to `synchronized` the method `isLeader` in LeaderService
    
    See the deadlock stack :
    ```
    "pulsar-external-listener-44525-1":
    	at org.apache.pulsar.functions.worker.FunctionMetaDataManager.giveupLeadership(FunctionMetaDataManager.java)
    	- waiting to lock <0x0000100013535c90> (a org.apache.pulsar.functions.worker.FunctionMetaDataManager)
    	at org.apache.pulsar.functions.worker.LeaderService.becameInactive(LeaderService.java:167)
    	- locked <0x000010001344c6d8> (a org.apache.pulsar.functions.worker.LeaderService)
    	at org.apache.pulsar.client.impl.ConsumerImpl.lambda$activeConsumerChanged$27(ConsumerImpl.java:1136)
    	at org.apache.pulsar.client.impl.ConsumerImpl$$Lambda$2606/0x00007f854ce9cb10.run(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.8.1/ThreadPoolExecutor.java:1136)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.8.1/ThreadPoolExecutor.java:635)
    	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    	at java.lang.Thread.run(java.base@17.0.8.1/Thread.java:833)
    "pulsar-web-44514-6":
    	at org.apache.pulsar.functions.worker.LeaderService.isLeader(LeaderService.java)
    	- waiting to lock <0x000010001344c6d8> (a org.apache.pulsar.functions.worker.LeaderService)
    	at org.apache.pulsar.functions.worker.SchedulerManager.scheduleInternal(SchedulerManager.java:200)
    	at org.apache.pulsar.functions.worker.SchedulerManager.schedule(SchedulerManager.java:229)
    	at org.apache.pulsar.functions.worker.FunctionMetaDataManager.updateFunctionOnLeader(FunctionMetaDataManager.java:251)
    	- locked <0x0000100013535c90> (a org.apache.pulsar.functions.worker.FunctionMetaDataManager)
    	at org.apache.pulsar.functions.worker.rest.api.ComponentImpl.internalProcessFunctionRequest(ComponentImpl.java:1775)
    	at org.apache.pulsar.functions.worker.rest.api.ComponentImpl.updateRequest(ComponentImpl.java:996)
    	at org.apache.pulsar.functions.worker.rest.api.FunctionsImpl.registerFunction(FunctionsImpl.java:222)
    	at org.apache.pulsar.broker.admin.impl.FunctionsBase.registerFunction(FunctionsBase.java:196)
    ```
    Technoboy- committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    ac11655 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1f99568 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1c8aeba View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c55df07 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2024

  1. [fix] [broker] Update topic policies as much as possible when some ex…

    … was thrown (apache#21810)
    
    After the topic policies update, there are many components will be updated one by one, even if the config of components has not been modified. There are the 11 components that need update:
    - `7` rate limiters(`publish`, `dispatch topic-level`, `dispatch subscription-level`,  `dispatch resourceGroup-level`, `subscribe API`, `replication`, `shadow topic replication`)
    - update ManagedLedger configs(`retention`, `offloader`)
    - start/stop replication
    - start/stop compaction
    - start/stop deduplication
    
    Once a component update fails, the following update will be skipped. It would cause a confusing thing: you want to set a retention policy, but it will be skipped due to the `update subscribe rate limiter` failure (you did not edit the `subscribe rate limitation policy`)
    
    Since none of the components in the above list have any additional dependencies for individual updates, ensuring success as much as possible is appropriate.
    
    - Update topic policies as much as possible even if some component updates fail, all component updates are still in the same thread, and they still update one by one, just throw the error later.
    - Rename `updatePublishDispatcher` to `updatePublishRateLimiter`
    
    (cherry picked from commit ed59967)
    poorbarcode committed Jan 4, 2024
    Configuration menu
    Copy the full SHA
    19c9e7f View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2024

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

Commits on Jan 9, 2024

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

Commits on Jan 11, 2024

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

Commits on Jan 15, 2024

  1. [improve][broker] Don't rollover empty ledgers based on inactivity (a…

    …pache#21893)
    
    ### Motivation
    
    When `managedLedgerInactiveLedgerRolloverTimeSeconds` is set, let's say to `300` (5 minutes), the ledger will also get rolled in the case when no new entries (messages) were added to the ledger. This doesn't make sense.
    Empty ledgers are deleted, but having this extra churn is causing extra load on brokers, bookies, and metadata stores (zookeeper).
    
    ### Modifications
    
    Skip rolling the ledger if it is empty.
    
    (cherry picked from commit 49edc3d)
    lhotari committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    84a4885 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3fc7cb4 View commit details
    Browse the repository at this point in the history
  3. [fix] [broker] Fix break change: could not subscribe partitioned top…

    …ic with a suffix-matched regexp due to a mistake of PIP-145 (apache#21885)
    
    (cherry picked from commit 4ebbd2f)
    poorbarcode committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    ce8c291 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. [improve][build] Add a default username in the image (apache#21695)

    ### Motivation
    
    Add a default username in the pulsar image. When using HDFS offloader, it requires a username to transfer the file.
    
    (cherry picked from commit d5f0097)
    zymap committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    c92c485 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    434b2c3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d3dee51 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a90e1f1 View commit details
    Browse the repository at this point in the history
  5. [improve] [client] Prevent reserve memory with a negative memory size…

    … to avoid send task stuck (apache#21804)
    poorbarcode authored and Technoboy- committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    4806281 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2c383a1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ea7e978 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    99cab24 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7c448fe View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2024

  1. [fix][broker] Fix returns wrong webServiceUrl when both webServicePor…

    …t and webServicePortTls are set (apache#21633)
    
    Co-authored-by: Jiwe Guo <technoboy@apache.org>
    (cherry picked from commit f8067b5)
    coderzc authored and lhotari committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    91e073d View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2024

  1. Revert "[fix][broker] Fix returns wrong webServiceUrl when both webSe…

    …rvicePort and webServicePortTls are set (apache#21633)"
    
    This reverts commit 91e073d.
    lhotari committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    5e0b424 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2024

  1. [fix][broker] Fix PulsarService.getLookupServiceAddress returns wrong…

    … port if TLS is enabled (apache#21015)
    
    (cherry picked from commit 1363777)
    Technoboy- authored and lhotari committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    628e79d View commit details
    Browse the repository at this point in the history
  2. [fix][broker] Fix returns wrong webServiceUrl when both webServicePor…

    …t and webServicePortTls are set (apache#21633)
    
    Co-authored-by: Jiwe Guo <technoboy@apache.org>
    (cherry picked from commit f8067b5)
    coderzc authored and lhotari committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    ba1f8a1 View commit details
    Browse the repository at this point in the history
  3. [fix][broker] Fix returns wrong webServiceUrl when both webServicePor…

    …t and webServicePortTls are set (apache#21842)
    
    (cherry picked from commit e10d318)
    Technoboy- authored and lhotari committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    8620610 View commit details
    Browse the repository at this point in the history
  4. [fix][broker] Fix leader broker cannot be determined when the adverti…

    …sed address and advertised listeners are configured (apache#21894)
    
    (cherry picked from commit 3158fd3)
    lhotari committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    358d122 View commit details
    Browse the repository at this point in the history
  5. [fix][broker] Restore the broker id to match the format used in exist…

    …ing Pulsar releases (apache#21937)
    
    (cherry picked from commit 6347315)
    lhotari committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    89f722f View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2024

  1. [fix][test] Make base test class method protected so that it passes R…

    …eportUnannotatedMethods validation (apache#21976)
    
    (cherry picked from commit 67354b1)
    lhotari committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    c315c7b View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2024

  1. [improve] [bk] Upgrade BookKeeper dependency to 4.16.4 (apache#21983)

    (cherry picked from commit ae272a5)
    hangc0276 authored and lhotari committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    afabcc2 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2024

  1. Configuration menu
    Copy the full SHA
    fabcc99 View commit details
    Browse the repository at this point in the history
  2. [fix][client] Fix ConsumerBuilderImpl#subscribe silent stuck when usi…

    …ng pulsar-client:3.0.x with jackson-annotations prior to 2.12.0 (apache#21985)
    
    ### Motivation
    In summary, `jackson-annotations:2.12.0` or later is now required for `pulsar-client 3.0.x`, and this also applies to versions `3.1.x` and `3.2.x`.
    
    Otherwise, `ConsumerBuilderImpl#subscribe` may become stuck without displaying any error message.
    
    ### Modifications
    
    Modify the `whenComplete` to a combination of `thenAccept` and `exceptionally`. The modification is harmless.
    Shawyeok authored and Technoboy- committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    327b973 View commit details
    Browse the repository at this point in the history
  3. [fix][broker] Correct schema deletion for parititioned topic (apache#…

    …21574)
    
    ### Motivation
    
    Schemas binding on the partitioned topic, but schemas will be deleted when a partition is deleted.
    
    ### Modifications
    
    Correct the behaviors of schema deleting:
    - Pulsar deletes schema when a non-partitioned topic is deleted.
    - Pulsar deletes schema when a partitioned topic metadata is deleted.
    - Pulsar does not delete schema when only a part of a partitioned topic is deleted.
    poorbarcode authored and Technoboy- committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    cc22c87 View commit details
    Browse the repository at this point in the history
  4. [fix][broker] Fix schema deletion error when deleting a partitioned t…

    …opic with many partitions and schema (apache#21977)
    heesung-sn authored and Technoboy- committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    75e2142 View commit details
    Browse the repository at this point in the history
  5. [improve] [proxy] Add a check for brokerServiceURL that does not supp…

    …ort multi uri yet (apache#21972)
    
    ### Motivation
    
    At the beginning of the design, these two configurations(`brokerServiceURL & brokerServiceURLTLS`) do not support setting multiple broker addresses, which should instead be set to a “discovery service provider.” see: apache#1002 and apache#14682
    
    Users will get the below error if they set A to a multi-broker URLs
    
    ```
    "2024-01-09 00:20:10,261 -0800 [pulsar-proxy-io-4-7] WARN  io.netty.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
    java.lang.IllegalArgumentException: port out of range:-1
            at java.net.InetSocketAddress.checkPort(InetSocketAddress.java:143) ~[?:?]
            at java.net.InetSocketAddress.createUnresolved(InetSocketAddress.java:254) ~[?:?]
            at org.apache.pulsar.proxy.server.LookupProxyHandler.getAddr(LookupProxyHandler.java:432) ~[org.apache.pulsar-pulsar-proxy-2.9.0.jar:2.9.0]
            at org.apache.pulsar.proxy.server.LookupProxyHandler.handleGetSchema(LookupProxyHandler.java:357) ~[org.apache.pulsar-pulsar-proxy-2.9.0.jar:2.9.0]
            at org.apache.pulsar.proxy.server.ProxyConnection.handleGetSchema(ProxyConnection.java:463) ~[org.apache.pulsar-pulsar-proxy-2.9.0.jar:2.9.0]
            at org.apache.pulsar.common.protocol.PulsarDecoder.channelRead(PulsarDecoder.java:326) ~[io.streamnative-pulsar-common-2.9.2.12.jar:2.9.2.12]
            at org.apache.pulsar.proxy.server.ProxyConnection.channelRead(ProxyConnection.java:221) ~[org.apache.pulsar-pulsar-proxy-2.9.0.jar:2.9.0]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327) ~[io.netty-netty-codec-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299) ~[io.netty-netty-codec-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1372) ~[io.netty-netty-handler-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.handler.ssl.SslHandler.decodeNonJdkCompatible(SslHandler.java:1246) ~[io.netty-netty-handler-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1286) ~[io.netty-netty-handler-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:510) ~[io.netty-netty-codec-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:449) ~[io.netty-netty-codec-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279) ~[io.netty-netty-codec-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[io.netty-netty-transport-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795) ~[io.netty-netty-transport-classes-epoll-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480) ~[io.netty-netty-transport-classes-epoll-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) ~[io.netty-netty-transport-classes-epoll-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) ~[io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]
            at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]
    ```
    
    ### Modifications
    - Improve the description
    - Add a check to prevent wrong settings
    poorbarcode authored and Technoboy- committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    8a56873 View commit details
    Browse the repository at this point in the history
  6. [fix] [broker] Fix reader stuck when read from compacted topic with r…

    …ead compact mode disable (apache#21969)
    thetumbled authored and Technoboy- committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    313eae5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    dc1b107 View commit details
    Browse the repository at this point in the history
  8. [fix][broker] Fix getMessageById throws 500 (apache#21919)

    Signed-off-by: Zixuan Liu <nodeces@gmail.com>
    nodece authored and Technoboy- committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    6f7b9d9 View commit details
    Browse the repository at this point in the history
  9. [fix][broker] Fix deadlock while skip non-recoverable ledgers. (apach…

    …e#21915)
    
    ### Motivation
    The sequence of events leading to the deadlock when methods from org.apache.bookkeeper.mledger.impl.ManagedCursorImpl are invoked concurrently is as follows:
    
    1. Thread A calls asyncDelete, which then goes on to internally call internalAsyncMarkDelete. This results in acquiring a lock on pendingMarkDeleteOps through synchronized (pendingMarkDeleteOps).
    
    2. Inside internalAsyncMarkDelete, internalMarkDelete is called which subsequently calls persistPositionToLedger. At the start of persistPositionToLedger, buildIndividualDeletedMessageRanges is invoked, where it tries to acquire a read lock using lock.readLock().lock(). At this point, if the write lock is being held by another thread, Thread A will block waiting for the read lock.
    
    3. Concurrently, Thread B executes skipNonRecoverableLedger which first obtains a write lock using lock.writeLock().lock() and then proceeds to call asyncDelete.
    
    4. At this moment, Thread B already holds the write lock and is attempting to acquire the synchronized lock on pendingMarkDeleteOps that Thread A already holds, while Thread A is waiting for the read lock that Thread B needs to release.
    
    In code, the deadlock appears as follows:
    
    Thread A: synchronized (pendingMarkDeleteOps) -> lock.readLock().lock() (waiting)
    Thread B: lock.writeLock().lock() -> synchronized (pendingMarkDeleteOps) (waiting)
    
    ### Modifications
    
    Avoid using a long-range lock.
    
    Co-authored-by: ruihongzhou <ruihongzhou@tencent.com>
    Co-authored-by: Jiwe Guo <technoboy@apache.org>
    Co-authored-by: Lari Hotari <lhotari@apache.org>
    4 people committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    37fc40c View commit details
    Browse the repository at this point in the history
  10. [fix] [broker] Replication stopped due to unload topic failed (apache…

    …#21947)
    
    ### Motivation
    
    **Steps to reproduce the issue**
    - Enable replication.
    - Send `10` messages to the local cluster then close the producer.
    - Call `pulsar-admin topics unload <topic>` and get an error due to the internal producer of the replicator close failing. 
    - The topic closed failed, so we assumed the topic could work as expected, but the replication stopped.
    
    **Root cause**
    - `pulsar-admin topics unload <topic>`  will wait for the clients(including `consumers & producers & replicators`) to close successfully, and it will fail if clients can not be closed successfully.
    - `replicator.producer` close failed causing the Admin API to fail, but there is a scheduled task that will retry to close `replicator.producer` which causes replication to stop. see https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractReplicator.java#L209
    
    ### Modifications
    
    since the "replicator.producer.closeAsync()" will retry after it fails, the topic unload should be successful.
    poorbarcode authored and Technoboy- committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    291bbb5 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    e7f1d03 View commit details
    Browse the repository at this point in the history
  12. [fix][broker] Avoid consumers receiving acknowledged messages from co…

    …mpacted topic after reconnection (apache#21187)
    coderzc authored and Technoboy- committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    24d8d9a View commit details
    Browse the repository at this point in the history
  13. [fix][broker] Fix issue with GetMessageIdByTimestamp can't find match…

    … messageId from compacted ledger (apache#21600)
    coderzc authored and Technoboy- committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    b5e4c36 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    65ce9d6 View commit details
    Browse the repository at this point in the history
  15. Revert "[fix][broker] Fix issue with GetMessageIdByTimestamp can't fi…

    …nd match messageId from compacted ledger (apache#21600)"
    
    This reverts commit b5e4c36.
    coderzc committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    e53c19a View commit details
    Browse the repository at this point in the history
  16. [fix][broker] Fix issue with GetMessageIdByTimestamp can't find match…

    … messageId from compacted ledger (apache#21600)
    coderzc committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    5bb2264 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2024

  1. [improve][ml] Filter out deleted entries before read entries from led…

    …ger. (apache#21739)
    
    (cherry picked from commit c66167b)
    dao-jun authored and codelipenghui committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    84ed73e View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2024

  1. [fix][broker] Sanitize values before logging in apply-config-from-env…

    ….py script (apache#22044)
    
    (cherry picked from commit 3036783)
    lhotari committed Feb 9, 2024
    Configuration menu
    Copy the full SHA
    9a8761e View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2024

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

Commits on Feb 21, 2024

  1. Configuration menu
    Copy the full SHA
    831f77e View commit details
    Browse the repository at this point in the history
  2. [fix][sec] Upgrade commons-compress to 1.26.0 (apache#22086)

    (cherry picked from commit 613a771)
    massakam authored and lhotari committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    e896023 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. [improve][fn] Optimize Function Worker startup by lazy loading and di…

    …rect zip/bytecode access (apache#22122)
    
    (cherry picked from commit bbc6224)
    lhotari committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    3d3606b View commit details
    Browse the repository at this point in the history
  2. Fix byte-buddy version in presto LICENSE

    (cherry picked from commit e3f5115)
    lhotari committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    a13326b View commit details
    Browse the repository at this point in the history
  3. [fix] [bk] Fix the BookKeeper license (apache#22000)

    (cherry picked from commit 503f85f)
    hangc0276 authored and lhotari committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    9e8cf15 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2024

  1. [fix] Bump org.apache.solr:solr-core from 8.11.1 to 8.11.3 in /pulsar…

    …-io/solr (apache#22047)
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    (cherry picked from commit 7a90426)
    dependabot[bot] authored and lhotari committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    c36da81 View commit details
    Browse the repository at this point in the history
  2. [improve][ci] Exclude jose4j to avoid CVE-2023-31582 (apache#21791)

    (cherry picked from commit d9c55b4)
    Technoboy- authored and lhotari committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    4ca7b78 View commit details
    Browse the repository at this point in the history
  3. [fix][test] Fix test testTransactionBufferMetrics (apache#22117)

    (cherry picked from commit 0fc9f44)
    liangyepianzhou authored and lhotari committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    b10f9c8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4da9a20 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6e8ad69 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1fe3853 View commit details
    Browse the repository at this point in the history
  7. [fix] [broker] Enabling batch causes negative unackedMessages due to …

    …ack and delivery concurrency (apache#22090)
    poorbarcode authored and Technoboy- committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    aa3f53b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b42787b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    ae2299c View commit details
    Browse the repository at this point in the history
  10. [fix][test] fix test testSyncNormalPositionWhenTBRecover (apache#22120)

    ### Motivation
    1. Change to None state before invoking the recovery.
    2. Improve the method `checkTopicTransactionBufferState` to see the test result easier. 
    ```
    org.awaitility.core.ConditionTimeoutException: Condition with org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest was not fulfilled within 10 seconds.
    
    	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
    	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
    	at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
    	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:985)
    	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:954)
    	at org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest.checkTopicTransactionBufferState(TransactionStablePositionTest.java:239)
    	at org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest.testSyncNormalPositionWhenTBRecover(TransactionStablePositionTest.java:229)
    	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.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
    	at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:677)
    	at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:221)
    	at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50)
    	at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:969)
    	at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:194)
    	at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:148)
    	at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128)
    	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
    	at org.testng.TestRunner.privateRun(TestRunner.java:829)
    	at org.testng.TestRunner.run(TestRunner.java:602)
    	at org.testng.SuiteRunner.runTest(SuiteRunner.java:437)
    	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:431)
    	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:391)
    	at org.testng.SuiteRunner.run(SuiteRunner.java:330)
    	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
    	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1256)
    	at org.testng.TestNG.runSuitesLocally(TestNG.java:1176)
    	at org.testng.TestNG.runSuites(TestNG.java:1099)
    	at org.testng.TestNG.run(TestNG.java:1067)
    	at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:65)
    	at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:105)
    
    ```
    ### Modifications
    1. Change to None state before invoking the recovery.
    2. Improve the method `checkTopicTransactionBufferState` to see the test result easier.
    liangyepianzhou authored and Technoboy- committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    2a6b644 View commit details
    Browse the repository at this point in the history
  11. [improve][broker] Do not retain the data in the system topic (apache#…

    …22022)
    
    ### Motivation
    
    For some use case, the users need to store all the messages even though these message are acked by all subscription.
    So they set the retention policy of the namespace to infinite retention (setting both time and size limits to `-1`).  But the data in the system topic does not need for infinite retention. 
    
    ### Modifications
    
    For system topics, do not retain messages that have already been acknowledged.
    liangyepianzhou authored and Technoboy- committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    4e97827 View commit details
    Browse the repository at this point in the history
  12. [improve] [broker] Do not print an Error log when responding to `HTTP…

    …-404` when calling `Admin API` and the topic does not exist. (apache#21995)
    poorbarcode authored and Technoboy- committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    5ab1c05 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    2045c5f View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    ad09f78 View commit details
    Browse the repository at this point in the history
  15. [improve] [broker] Not close the socket if lookup failed caused by bu…

    …ndle unloading or metadata ex (apache#21211)
    
    ### Motivation
    
    **Background**: The Pulsar client will close the socket if it receives a ServiceNotReady error when doing a lookup. 
    Closing the socket causes the other consumer or producer to reconnect and does not make the lookup more efficient.
    
    There are two cases that should be improved:
    - If the broker gets a metadata read/write error, the broker responds with a `ServiceNotReady` error, but it should respond with a `MetadataError`
    - If the topic is unloading, the broker responds with a `ServiceNotReady` error.
    
    ### Modifications
    - Respond to the client with a `MetadataError` if the broker gets a metadata read/write error.
    - Respond to the client with a `MetadataError` if the topic is unloading
    poorbarcode authored and Technoboy- committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    16349e6 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    bf5639f View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    98ce27e View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    60fed0d View commit details
    Browse the repository at this point in the history
  19. [improve] [broker] Do not try to open ML when the topic meta does not…

    … exist and do not expect to create a new one. apache#21995 (apache#22004)
    
    Co-authored-by: Jiwe Guo <technoboy@apache.org>
    poorbarcode and Technoboy- committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    d18831f View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

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