OpenSearch
OpenSearch copied to clipboard
[META] Leverage protobuf for serializing select node-to-node objects
Please describe the end goal of this project
Provide a framework and migrate some key node-to-node requests to serialize via protobuf rather than the current native stream writing (i.e. writeTo(StreamOutput out)
). Starting with node-to-node transport messages maintains api compatibility while introducing protobuf implementations which have several benefits:
- Out of the box backwards compatibility/versioning
- Speculative performance enhancements in some areas
- Supports future gRPC work
Supporting References
- Search API POC - flame graph + OSB numbers
- Issue for API leveraging of gRPC + protobuf
- gRPC-based Search API
Issues
- [ ] Feature flag to enable protobuf transport protocol
- [ ] Support handlers for non-native transport protocols
- [ ] Initial protobuf implementation for types - FetchSearchResult, SearchHits, SearchHit
Related component
Search:Performance