thealmightygrant opened a new pull request #7620: URL: https://github.com/apache/pinot/pull/7620
## Description This is a WIP for adding a Stream Decoder that can read Thrift. I used the [SimpleAvroMessageDecoder](https://github.com/apache/pinot/blob/9275a430049ff0d2888cb353fc7ef369d53a171c/pinot-plugins/pinot-input-format/pinot-avro/src/main/java/org/apache/pinot/plugin/inputformat/avro/SimpleAvroMessageDecoder.java), the [JSONMessageDecoder](https://github.com/apache/pinot/blob/7e9ca6a5a4afe0d4e283ac1307c45430e474cbf2/pinot-plugins/pinot-input-format/pinot-json/src/main/java/org/apache/pinot/plugin/inputformat/json/JSONMessageDecoder.java), and the [ThriftDeserialization](https://github.com/apache/druid/blob/df4894afff5efb31264e98f39f4f14dd934ecc3d/extensions-contrib/thrift-extensions/src/main/java/org/apache/druid/data/input/thrift/ThriftDeserialization.java#L106) code from Apache Druid as a basis for getting this first pass together. I am working on some tests, but it may be a few weeks until I get back to this PR, so if anyone has some time between now and then to give me some notes or to get this over the finish line, then please do so. ## Upgrade Notes Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion) * [ ] Yes (Please label as **<code>backward-incompat</code>**, and complete the section below on Release Notes) Does this PR fix a zero-downtime upgrade introduced earlier? * [ ] Yes (Please label this as **<code>backward-incompat</code>**, and complete the section below on Release Notes) Does this PR otherwise need attention when creating release notes? Things to consider: * [x] Yes (Please label this PR as **<code>release-notes</code>** and complete the section on Release Notes) ## Release Notes There is a new props configuration named `stream.kafka.decoder.prop.thrift.class`. One way in which you can include this class is by placing it in the `CLASSPATH` by adding it to the [plugins folder](https://github.com/apache/pinot/blob/0500c121a115b4412b7a5b08452359e76d93b095/pinot-tools/src/main/resources/appAssemblerScriptTemplate#L110-L141). In the default case, this will be at :`/opt/pinot/plugins`. ## Documentation I have not adding this to the documentation yet. I will do it on my next pass. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org