Add the base FlightProducer for getStream API#17446
Add the base FlightProducer for getStream API#17446mch2 merged 15 commits intoopensearch-project:mainfrom
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 <rishabhmaurya05@gmail.com>
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.
Thanks @rishabhmaurya , great work! @mch2 anything left from your side? thanks!
Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com>
Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com>
|
❕ 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.
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 <rishabhmaurya05@gmail.com> * merged opensearch-arrow-core into arrow-flight-rpc plugin Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * moved libs:arrow-spi to server module Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Flight producer changes Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * add hook in StreamManager plugin to get its instance on initialization Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Minor refactor Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Add more unit tests and address PR comment Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Address PR comments Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * defer setting BufferAllocator in FlightStreamManager Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Address PR comments Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Refactor BaseFlightProducer and improved error handling Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Address PR comments Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * refactor and improve test coverage Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * throw UnsupportedOperationException for ProxyStreamProducer#getAction() Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * refactor error handling Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> --------- Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> Signed-off-by: Sriram Ganesh <srignsh22@gmail.com>
* make use of extendedPlugins provide runtime dependencies for arrow-memrory-core Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * merged opensearch-arrow-core into arrow-flight-rpc plugin Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * moved libs:arrow-spi to server module Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Flight producer changes Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * add hook in StreamManager plugin to get its instance on initialization Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Minor refactor Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Add more unit tests and address PR comment Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Address PR comments Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * defer setting BufferAllocator in FlightStreamManager Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Address PR comments Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Refactor BaseFlightProducer and improved error handling Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Address PR comments Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * refactor and improve test coverage Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * throw UnsupportedOperationException for ProxyStreamProducer#getAction() Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * refactor error handling Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> --------- Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> Signed-off-by: Harsh Kothari <techarsh@amazon.com>
* make use of extendedPlugins provide runtime dependencies for arrow-memrory-core Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * merged opensearch-arrow-core into arrow-flight-rpc plugin Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * moved libs:arrow-spi to server module Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Flight producer changes Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * add hook in StreamManager plugin to get its instance on initialization Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Minor refactor Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Add more unit tests and address PR comment Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Address PR comments Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * defer setting BufferAllocator in FlightStreamManager Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Address PR comments Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Refactor BaseFlightProducer and improved error handling Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * Address PR comments Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * refactor and improve test coverage Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * throw UnsupportedOperationException for ProxyStreamProducer#getAction() Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> * refactor error handling Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> --------- Signed-off-by: Rishabh Maurya <rishabhmaurya05@gmail.com> Signed-off-by: Harsh Kothari <techarsh@amazon.com>
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.