zymap opened a new pull request #12443:
URL: https://github.com/apache/pulsar/pull/12443


   ---
   
   *Motivation*
   
   In the #12123, I add the seek operation at the readAsync method.
   It makes sure the data stream always seek to the first entry position
   to read and will not introduce EOF exception.
   But in the offload index entry, it groups a set of entries into a range,
   the seek operation will seek the posistion to the first entry in the range.
   That will introduce a performance issue because every read opeartion will
   read from the first entry in the range until it find the actual first read
   entry.
   But if we remove the seek operation, that will cause a EOF exception from
   the readAsync method. This PR adds a limitation of the seek opeartion.
   
   *Modifications*
   
   Add available method in the backedInputStream to get know how many bytes
   we can read from the stream.
   
   
   ### Verifying this change
   
   - [x] 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): (yes / no)
     - The public API: (yes / no)
     - The schema: (yes / no / don't know)
     - The default values of configurations: (yes / no)
     - The wire protocol: (yes / no)
     - The rest endpoints: (yes / no)
     - The admin cli options: (yes / no)
     - Anything that affects deployment: (yes / no / don't know)
   
   ### Documentation
   
   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)
     
   - [x] `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