[
https://issues.apache.org/jira/browse/YARN-3330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
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
(v6.3.4#6332)