Details
Description
Environment:
NM1 TaskCounter.class old version;
NM2 TaskCounter.class new version (new Enumeration values appended);
Result:
When an MR app's AM running on NM1, and it's containers on NM2; the containers on NM2 will all failed, AM cause OutOfBoundsException;
Reason:
When app running, containers will report their counters to AM through RPC, while the Container with new version TaskCounter.class will write more Counter values to RPC; however, the AM with old version TaskCounter.class which can not read them correctly from RPC.