Skip to content

Conversation

namest504
Copy link

@namest504 namest504 commented Oct 2, 2025

Fixes: #24744

Main Issue: #24744

PIP:

Motivation

TableView API currently exposes only deserialized message values, limiting access to message metadata and properties. This PR adds getRawMessage() method to enable access to the full raw Pulsar message.

Modifications

  • Added getRawMessage(String key) to TableView interface.
  • Updated TableViewImpl to store and provide raw messages.
  • Added tests verifying raw message retrieval.

Verifying this change

  • Unit tests added in TableViewTest.

  • Existing tests passed without issues.

  • Make sure that the change passes the CI checks.

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

  • Dependencies (add or upgrade a dependency)
  • The public API
  • The schema
  • The default values of configurations
  • The threading model
  • The binary protocol
  • The REST endpoints
  • The admin CLI options
  • The metrics
  • Anything that affects deployment

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

Matching PR in forked repository

PR in forked repository: fork-repo

@github-actions github-actions bot added the doc-required Your PR changes impact docs and you will update later. label Oct 2, 2025
…agement by adding retain() before storing message to rawMessages

- Prevent premature message release that causes getRawMessage to return null keys.
- Ensure message reference count is balanced by retaining message before storing and releasing old message after replacement.
- Keep message release in finally block for safety.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-required Your PR changes impact docs and you will update later.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

API to allow access to raw message for TableView

1 participant