RobertIndie opened a new pull request #12403:
URL: https://github.com/apache/pulsar/pull/12403


   Signed-off-by: Zike Yang <[email protected]>
   
   Master Issue: https://github.com/apache/pulsar/issues/12402
   
   ### Motivation
   
   This is an implementation for the PIP: 
https://github.com/apache/pulsar/issues/12402
   
   ### Modifications
   
   * Introduce a new Message-ID type: Chunk Message-ID. The chunk message-id 
inherits from MessageIdImpl and adds two new methods: getFirstChunkMessageId 
and getLastChunkMessageID. For other method implementations, the 
lastChunkMessageID is called directly, which is compatible with much of the 
existing business logic.
   
   * Return the chunk message-id to the user when the Producer produces the 
chunk message or when the consumer consumes the chunk message.
   
   * In cosumer.seek, use the first chunk message-id of the chunk message-id. 
This will solve the problem caused by seeking chunk messages. This is also the 
impact of this PIP on the original business logic. 
   
   ### Verifying this change
   
   This PR is still working in progress, still need to add some tests.
   <!---
   - [ ] Make sure that the change passes the CI checks.
   
   *(Please pick either of the following options)*
   
   This change is a trivial rework / code cleanup without any test coverage.
   
   *(or)*
   
   This change is already covered by existing tests, such as *(please describe 
tests)*.
   
   *(or)*
   
   This change added tests and can be verified as follows:
   
   *(example:)*
     - *Added integration tests for end-to-end deployment with large payloads 
(10MB)*
     - *Extended integration test for recovery after broker failure*
   -->
   ### Does this pull request potentially affect one of the following parts:
   
   *If `yes` was chosen, please highlight the changes*
   
     - Dependencies (does it add or upgrade a dependency): (no)
     - The public API: (yes)
     - The schema: (no)
     - The default values of configurations: (no)
     - The wire protocol: (no)
     - The rest endpoints: (no)
     - The admin cli options: (no)
     - Anything that affects deployment: (no)
   
   ### Documentation
   
   This PR is still in early discussion.
   <!---
   Check the box below and label this PR (if you have committer privilege).
   
   Need to update docs? 
   
   
   
   - [ ] `doc-required` 
     
     (If you need help on updating docs, create a doc issue)
     
   - [ ] `no-need-doc` 
     
     (Please explain why)
     
   - [ ] `doc` 
     
     (If this PR contains doc changes)
   
   -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to