Li Lu updated YARN-3330:
    Attachment: pdiff_patch.py

Attach a very simple python tool to check if there are any incompatible changes 
in protobuf files. This DFA-based tool checks if an incoming patch has any 
non-trivial removals in our existing protobuf files, and report error if there 
is a removal. It also checks if there are any new content in protobuf files, 
and raise a warning for further (human) investigation. This is the very first 
step toward automatic rolling upgrade compatibility verification. On the 
protobuf side, we may want to:

# understand file insertions/removals, on top of line-by-line verification
# understand the roles of different protobufs and treat them separately

Any other suggestions are more than welcome. 

> Implement a protobuf compatibility checker to check if a patch breaks the 
> compatibility with existing client and internal protocols
> -----------------------------------------------------------------------------------------------------------------------------------
>                 Key: YARN-3330
>                 URL: https://issues.apache.org/jira/browse/YARN-3330
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Li Lu
>            Assignee: Li Lu
>         Attachments: pdiff_patch.py
> Per YARN-3292, we may want to start YARN rolling upgrade test compatibility 
> verification tool by a simple script to check protobuf compatibility. The 
> script may work on incoming patch files, check if there are any changes to 
> protobuf files, and report any potentially incompatible changes (line 
> removals, etc,.). We may want the tool to be conservative: it may report 
> false positives, but we should minimize its chance to have false negatives. 

This message was sent by Atlassian JIRA

Reply via email to