Skip to content
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

[FEAT] OpenSearch will have gRPC client in the near-ish future #160

Open
apatrida opened this issue Dec 28, 2024 · 2 comments
Open

[FEAT] OpenSearch will have gRPC client in the near-ish future #160

apatrida opened this issue Dec 28, 2024 · 2 comments

Comments

@apatrida
Copy link

OpenSearch adding gRPC client in the future, although not dropping their JSON version, there are large performance benefits that would come with gRPC over parsing the JSON content. Not sure if it is worth considering here yet, but at least is worth tracking the progress:

opensearch-project/OpenSearch#15190

@jillesvangurp
Copy link
Owner

Thanks for pointing that out. I'll keep an eye on that. Interesting how things are going full circle. Elasticsearch used to have a Java client based on the binary internal cluster protocol where the Java client would join the cluster. They got rid of that around v5 & v6 in favor of just doing a REST API.

In any case, probably not something that really fits here as Elastic won't be implementing this probably. Also the core feature of kt-search is the schema less operation via json-dsl and I'm not sure how that would work with grpc since it would require re-generating code for every change in the IDL which goes a bit against what we are doing in kt-search.

I'm also a bit skeptical about performance benefits. Usually, the network protocol & parsing overhead is the least of your issues for expensive queries. XContent is a bit nasty to deal with server side. But as streaming parsers go, it's not that bad. I doubt that we'll see much improvements here.

@jillesvangurp
Copy link
Owner

There's a new kotlinx rpc project: https://kotlin.github.io/kotlinx-rpc that might be relevant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants