-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Make use of extendedPlugins provide runtime dependencies for arrow-me… #17738
base: main
Are you sure you want to change the base?
Make use of extendedPlugins provide runtime dependencies for arrow-me… #17738
Conversation
@reta please take a look at this attempt. |
9ec3436
to
456a63d
Compare
80e7b52
to
97fd86b
Compare
❌ Gradle check result for 97fd86b: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
97fd86b
to
e20d0a1
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #17738 +/- ##
============================================
- Coverage 72.44% 72.41% -0.04%
- Complexity 66483 66484 +1
============================================
Files 5409 5409
Lines 308282 308258 -24
Branches 44759 44749 -10
============================================
- Hits 223344 223218 -126
- Misses 66608 66741 +133
+ Partials 18330 18299 -31 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
@rishabhmaurya I will surely take a look, thanks @rishabhmaurya |
@rishabhmaurya I think this is certainly the work in right direction, but we need the following pieces:
Please correct if I am wrong here. Examples to look at: https://github.com/opensearch-project/geospatial/ , thank you |
@reta that's a valid point. I think going forward, when we will plan to start supporting Enable transport request response to be returned in Arrow format The new SPI then could allow one to implement action against a TransportRequest with response in ArrowFormat. I will add more details on it this week. I'm trying to decouple the arrow-vector use and arrow flight transport use cases. Let me know what do you think? thank you |
Thanks @rishabhmaurya
I think this library should be gone, all moved to the
It think this module should not be there, this is by and large what |
@reta both of your points makes total sense to me. I will try to implement it in next iteration. Thank you On a different note, I wanted your opinion on how we should go about supporting any Transport API to use flight transport. Let's say, we want to integrate ShardSearchRequest API to flight transport. The way we add a new API in flight RPC is to define logic in Line 66 in 1c6fcc2
You can see its associated with a Ticket, so any TransportRequest needs to be represented in byte form as a ticket, which getStream() method can decode and return a FlightStream corresponding to it. OSAC client will ensure to encode it in byte form to request a response stream for it. We want some sort of registry here in Suppose plugin Please let me know your thoughts, thank you. |
I'm always hesitant in adding stuff to server module if it can be a separate module for better modularity and that was the reason why we kept it in a separate module.
I have merged the module and the plugin. |
❕ Gradle check result for 4e30c7e: 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. |
Thanks @rishabhmaurya
The
Sorry, this one needs a bit of time to think about, will get to you certainly, sorry about that |
93ac90f
to
d389379
Compare
@reta moved
appreciate your help here. Thank you |
❕ Gradle check result for d389379: 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. |
…mrory-core Signed-off-by: Rishabh Maurya <[email protected]>
Signed-off-by: Rishabh Maurya <[email protected]>
Signed-off-by: Rishabh Maurya <[email protected]>
d389379
to
ba3bc5d
Compare
@@ -43,9 +43,17 @@ testClusters { | |||
installedPlugins = Eval.me(installedPlugins) | |||
for (String p : installedPlugins) { | |||
plugin('plugins:'.concat(p)) | |||
if (p.equals("arrow-flight-rpc")) { |
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.
@rishabhmaurya I think we discussed this in the past: these system properties will have an impact on other plugins and modules (notably, netty based transports). Plus, they are in conflict of how we launch the OpenSearch from the standard distribution - see please https://github.com/opensearch-project/OpenSearch/blob/main/distribution/tools/launchers/src/main/java/org/opensearch/tools/launchers/SystemJvmOptions.java#L76
I would suggest to remove these changes and tackle them separately since we would need to look for possible conflicting settings and side effects.
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.
@reta sure, I will remove it. I kept them here since they would only be applied when flight transport is installed and will not impact any defaults.
…mrory-core
Description
Currently Arrow Flight Stream based SPIs introduced in #16691 make use of generics. Since plugins have a separate classloaders, so its not possible to share BufferAllocators and VectorSchemaRoots from arrow-memory to be shared between plugins thus making SPIs not usable.
Related Issues
Resolves #17671
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.