jhl8109 commented on PR #4783: URL: https://github.com/apache/zeppelin/pull/4783#issuecomment-2273841229
@pan3793 ### Problem - Each module uses a different protocol, and the files are scattered across various locations. This makes management difficult and maintaining consistency challenging. - For example, Thrift is managed in `zeppelin-interpreter` and proto in `zeppelin-jupyter-interpreter`. _(Therefore, instead of creating a separate zeppelin-protocol module, another alternative could be to manage `zeppelin.interpreter.thrift` and` zeppelin.interpreter.proto` within `zeppelin-interpreter` to avoid unforeseen side effects due to `InterpreterCompletion`.)_ ### Improvement Goal This PR aims to improve protocol management by starting with separating Thrift files into a zeppelin-protocol module. - `zeppelin-protocol `will manage files generated from `.thrift` and `.grpc` files (.java, .py, etc.) collectively. This ensures consistent communication methods among interpreters via `zeppelin-protocol`. Additionally, using pom.xml to generate protocol-related files helps maintain build integrity without running shell scripts manually. - Interpreters needing communication can add `zeppelin-protocol` as a dependency. For instance, it can be difficult to know if proto communication is needed by `zeppelin-interpreter` or `zeppelin-jupyter-interpreter`. Adding `zeppelin-protocol` as a dependency makes accessing necessary protocol dependencies straightforward. - When new interpreters are added, the `zeppelin-protocol `module facilitates the easy expansion of communication features. For example, if Zeppelin introduces a new language interpreter, it can utilize the required protocol files from `zeppelin-protocol`. Additionally, if Thrift or gRPC features are expanded, updating `zeppelin-protocol` ensures that all related interpreters can benefit from these enhancements. Moreover, even if new protocol files or shell scripts are needed, they are managed within a single module, preventing an increase in scattered management points. Lastly, I understand there may be concerns regarding this PR and am open to discussing alternatives. The primary goal is to efficiently manage scattered protocol-related shell scripts and generated files. Your feedback is crucial, so please feel free to share your thoughts. Thanks -- 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: reviews-unsubscr...@zeppelin.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org