Remove Thrift dependency from Pinot
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 2d 55m
- Merged PRs (30d)
- 182
Description
Currently, we include auto generated Thrift java files (~10k lines) in our code base. Whenever we make the change to `request.thrift, response.thrift` files, we need to merge a large code change for auto generated java classes.
One way to avoid this is to compile `*.thrift` file during build; however, maven thrift plugin requires `thrift` to be available locally. To make the problem worse, thrift is written in c++ and I personally found that it's not trivial to build thrift from source code.
So with thrift, we should choose either one.
1. Keep the current way (whenever modify thrift file, check in large change for auto generated files)
2. Remove auto generated file and make `installing thrift on local machine` to be a prerequisite to build Pinot.
In my opinion, we should avoid both but it's not feasible with thrift.
In the long term, we should migrate towards `protobuf, grpc` or some other similar rpc framework that doesn't have this issue.
p.s. this issue came from the following pr effort.
https://github.com/apache/incubator-pinot/pull/3723
Contributor guide
Assessment
This issue has not been assessed yet.