Description
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
Initial protobuf implementation for types - FetchSearchResult, SearchHits, SearchHit
Edit: Closing this issue as we see only marginal benefits to utilizing protobuf on the transport layer. The existing writeTo()
implementation is as performant as protobuf, if not more so. Adding a second implementation for objects sent over the transport layer would create a second parallel object which needs to be maintained and would only provide the backwards compatibility benefit of protobuf for that specific transport request.
Supporting References
- Search API POC - flame graph + OSB numbers
- Issue for API leveraging of gRPC + protobuf
- gRPC-based Search API
Related component
Search:Performance