adnanhemani opened a new issue, #3209:
URL: https://github.com/apache/polaris/issues/3209
### Is your feature request related to a problem? Please describe.
Not a problem, but it would be nice to be able to add more information to
events which are not currently returned to users. For example, in #3195, we are
unable to send `LoadTableResponse`s in the `AfterTableUpdateEvent` (which make
sense for table updates to tell what is the current state of the table) in the
case of a CommitTransaction. Meanwhile, if a user calls the UpdateTable API
directly, they will still get the `LoadTableResponse` as part of the
`AfterTableUpdateEvent`.
This is solely due to the way we have implemented events through the
delegator model where intermediate information, which is not surfaced to the
user as part of the API response, cannot be used in the event emission. There
are other potential uses cases, such as telling whether a credential generated
was a read or read+write credential when loading a table - which would also be
interesting for auditing purposes.
### Describe the solution you'd like
A clear mechanism is implemented where intermediary information can be
resurfaced to the Events emission.
### Describe alternatives you've considered
1. [Not recommended] Overstuff the response body with all relevant
information and then filter out only the IRC spec-required information before
returning back to the user in the Delegator.
2. Using Container Request Context to store intermediate information during
the call processing, then retrieve the information whenever event emission is
happening.
a. Unsure if this is wise, since most tests are not running with
Container Request Contexts - and I'm unsure if inserting Quarkus mechanism
within Iceberg business logic is a great idea. But maybe something to think
about...
### Additional context
_No response_
--
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]