abhishekrb19 opened a new pull request, #19459:
URL: https://github.com/apache/druid/pull/19459
Summary:
1. Made `sys.server_properties` filterable, similar to a few other sys
tables like `SegmentsTable` — changed from `ScannableTable` to
`ProjectableFilterableTable`, enabling Calcite to push down filters (e.g.,
WHERE server = '...') and projections to the table scan.
2. Graceful error handling — Previously, if any server was unreachable or
returned an HTTP error, the entire query threw an exception and failed. Now the
table returns a row for that server with property/value as null and the new
error_message column populated with what went wrong.
3. New `error_message` column — this column indicates if properties
couldn't be fetched (e.g., "Connection refused", "HTTP 503: Service
Unavailable"). Null on success.
Release note:
Added `error_message` column to `sys.server_properties table` and made the
table resilient to unreachable servers. Previously, the entire query would fail
if any server was unreachable; now a row is returned with `error_message`
populated. The table also now supports filter and projection pushdown.
This PR has:
- [x] been self-reviewed.
- [x] added documentation for new or modified features or behaviors.
- [x] a release note entry in the PR description.
- [x] added Javadocs for most classes and all non-trivial methods. Linked
related entities via Javadoc links.
- [x] added comments explaining the "why" and the intent of the code
wherever would not be obvious for an unfamiliar reader.
- [x] added unit tests or modified existing tests to cover new code paths,
ensuring the threshold for [code
coverage](https://github.com/apache/druid/blob/master/dev/code-review/code-coverage.md)
is met.
- [x] added integration tests.
- [x] been tested in a test Druid cluster.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]