[ 
https://issues.apache.org/jira/browse/IMPALA-13240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17871480#comment-17871480
 ] 

Quanlong Huang commented on IMPALA-13240:
-----------------------------------------

Thank [~rizaon]! I'm adding a simple version first: 
https://gerrit.cloudera.org/c/21646/
Though it has limitations, it's better than nothing.

We can integrate DUPChecker in the future. It's not updated in 3 years. 
Probably we just need to port the codes of Thrift AST definition and write a 
similar one for FlatBuffers.

> Add tools to detect incompatible changes in catalog and statestore service
> --------------------------------------------------------------------------
>
>                 Key: IMPALA-13240
>                 URL: https://issues.apache.org/jira/browse/IMPALA-13240
>             Project: IMPALA
>          Issue Type: Task
>          Components: Infrastructure
>            Reporter: Quanlong Huang
>            Assignee: Quanlong Huang
>            Priority: Critical
>
> To support upgrading only the impalads of a cluster, we need to make sure 
> backward compatibility between impalad and the catalogd and statestore 
> services. If there are breaking changes in Thrift/Flatbuffers definitions 
> used in these services, the versions become incompatible. Note that Protobuf 
> is only used in communication between impalads so can be ignored here.
> The following files need to be checked:
> * common/thrift/*.thrift
> * common/fbs/*.fbs
> Ideally changes in Thrift definitions should only add optional fields. 
> Changes in Flatbuffers schema only add new fields at the end of a table 
> definition.
> We need a script to verify all Gerrit changes. A precommit job running this 
> script and post comments will be helpful.
> Ref: 
> https://diwakergupta.github.io/thrift-missing-guide/#_defining_structs
> https://flatbuffers.dev/flatbuffers_guide_writing_schema.html



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to