-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Add the base FlightProducer for getStream API #17446
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add the base FlightProducer for getStream API #17446
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #17446 +/- ##
============================================
- Coverage 72.44% 72.40% -0.05%
- Complexity 66483 66583 +100
============================================
Files 5409 5417 +8
Lines 308282 308550 +268
Branches 44759 44776 +17
============================================
+ Hits 223344 223408 +64
- Misses 66608 66857 +249
+ Partials 18330 18285 -45 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
...flight-rpc/src/internalClusterTest/java/org/opensearch/arrow/flight/ArrowFlightServerIT.java
Outdated
Show resolved
Hide resolved
plugins/arrow-flight-rpc/src/main/java/org/opensearch/arrow/flight/impl/BaseFlightProducer.java
Outdated
Show resolved
Hide resolved
plugins/arrow-flight-rpc/src/main/java/org/opensearch/arrow/flight/impl/BaseFlightProducer.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Rishabh Maurya <[email protected]>
82b10fc to
90cf37a
Compare
|
@reta I have addressed your comments. I appreciate your thorough review of these PRs, so thank you for doing it. |
|
❕ Gradle check result for 90cf37a: UNSTABLE Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure. |
...ins/arrow-flight-rpc/src/main/java/org/opensearch/arrow/flight/impl/ProxyStreamProducer.java
Show resolved
Hide resolved
plugins/arrow-flight-rpc/src/main/java/org/opensearch/arrow/flight/impl/BaseFlightProducer.java
Show resolved
Hide resolved
reta
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @rishabhmaurya , great work! @mch2 anything left from your side? thanks!
Signed-off-by: Rishabh Maurya <[email protected]>
Signed-off-by: Rishabh Maurya <[email protected]>
|
❕ Gradle check result for 02c7595: UNSTABLE Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure. |
mch2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, Thanks @rishabhmaurya excited to see where this goes!
* make use of extendedPlugins provide runtime dependencies for arrow-memrory-core Signed-off-by: Rishabh Maurya <[email protected]> * merged opensearch-arrow-core into arrow-flight-rpc plugin Signed-off-by: Rishabh Maurya <[email protected]> * moved libs:arrow-spi to server module Signed-off-by: Rishabh Maurya <[email protected]> * Flight producer changes Signed-off-by: Rishabh Maurya <[email protected]> * add hook in StreamManager plugin to get its instance on initialization Signed-off-by: Rishabh Maurya <[email protected]> * Minor refactor Signed-off-by: Rishabh Maurya <[email protected]> * Add more unit tests and address PR comment Signed-off-by: Rishabh Maurya <[email protected]> * Address PR comments Signed-off-by: Rishabh Maurya <[email protected]> * defer setting BufferAllocator in FlightStreamManager Signed-off-by: Rishabh Maurya <[email protected]> * Address PR comments Signed-off-by: Rishabh Maurya <[email protected]> * Refactor BaseFlightProducer and improved error handling Signed-off-by: Rishabh Maurya <[email protected]> * Address PR comments Signed-off-by: Rishabh Maurya <[email protected]> * refactor and improve test coverage Signed-off-by: Rishabh Maurya <[email protected]> * throw UnsupportedOperationException for ProxyStreamProducer#getAction() Signed-off-by: Rishabh Maurya <[email protected]> * refactor error handling Signed-off-by: Rishabh Maurya <[email protected]> --------- Signed-off-by: Rishabh Maurya <[email protected]> Signed-off-by: Sriram Ganesh <[email protected]>
* make use of extendedPlugins provide runtime dependencies for arrow-memrory-core Signed-off-by: Rishabh Maurya <[email protected]> * merged opensearch-arrow-core into arrow-flight-rpc plugin Signed-off-by: Rishabh Maurya <[email protected]> * moved libs:arrow-spi to server module Signed-off-by: Rishabh Maurya <[email protected]> * Flight producer changes Signed-off-by: Rishabh Maurya <[email protected]> * add hook in StreamManager plugin to get its instance on initialization Signed-off-by: Rishabh Maurya <[email protected]> * Minor refactor Signed-off-by: Rishabh Maurya <[email protected]> * Add more unit tests and address PR comment Signed-off-by: Rishabh Maurya <[email protected]> * Address PR comments Signed-off-by: Rishabh Maurya <[email protected]> * defer setting BufferAllocator in FlightStreamManager Signed-off-by: Rishabh Maurya <[email protected]> * Address PR comments Signed-off-by: Rishabh Maurya <[email protected]> * Refactor BaseFlightProducer and improved error handling Signed-off-by: Rishabh Maurya <[email protected]> * Address PR comments Signed-off-by: Rishabh Maurya <[email protected]> * refactor and improve test coverage Signed-off-by: Rishabh Maurya <[email protected]> * throw UnsupportedOperationException for ProxyStreamProducer#getAction() Signed-off-by: Rishabh Maurya <[email protected]> * refactor error handling Signed-off-by: Rishabh Maurya <[email protected]> --------- Signed-off-by: Rishabh Maurya <[email protected]> Signed-off-by: Harsh Kothari <[email protected]>
* make use of extendedPlugins provide runtime dependencies for arrow-memrory-core Signed-off-by: Rishabh Maurya <[email protected]> * merged opensearch-arrow-core into arrow-flight-rpc plugin Signed-off-by: Rishabh Maurya <[email protected]> * moved libs:arrow-spi to server module Signed-off-by: Rishabh Maurya <[email protected]> * Flight producer changes Signed-off-by: Rishabh Maurya <[email protected]> * add hook in StreamManager plugin to get its instance on initialization Signed-off-by: Rishabh Maurya <[email protected]> * Minor refactor Signed-off-by: Rishabh Maurya <[email protected]> * Add more unit tests and address PR comment Signed-off-by: Rishabh Maurya <[email protected]> * Address PR comments Signed-off-by: Rishabh Maurya <[email protected]> * defer setting BufferAllocator in FlightStreamManager Signed-off-by: Rishabh Maurya <[email protected]> * Address PR comments Signed-off-by: Rishabh Maurya <[email protected]> * Refactor BaseFlightProducer and improved error handling Signed-off-by: Rishabh Maurya <[email protected]> * Address PR comments Signed-off-by: Rishabh Maurya <[email protected]> * refactor and improve test coverage Signed-off-by: Rishabh Maurya <[email protected]> * throw UnsupportedOperationException for ProxyStreamProducer#getAction() Signed-off-by: Rishabh Maurya <[email protected]> * refactor error handling Signed-off-by: Rishabh Maurya <[email protected]> --------- Signed-off-by: Rishabh Maurya <[email protected]> Signed-off-by: Harsh Kothari <[email protected]>
Description
With recently added Arrow SPIs #16691 and flight server support #16962, this is a follow up change which introduces -
getStream()andgetFlightInfo()APIs. It also adds support for defaultStreamManager,FlightProducer,FlightStreamReaderwhich these APIs make use of.StreamManagerPluginto get instance of defaultStreamManager.ProxyStreamProviderwhich acts as forward proxy for FlightStream. This is useful when stream is not present locally and needs to be fetched from a different node in the cluster.Related Issues
Resolves #17065
Check List
- [ ] API changes companion pull request created, if applicable.- [ ] Public documentation issue/PR created, if applicable.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.