[ 
https://issues.apache.org/jira/browse/YARN-6654?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Lowe updated YARN-6654:
-----------------------------
    Summary: RollingLevelDBTimelineStore backwards incompatible after fst 
upgrade  (was: RollingLevelDBTimelineStore introduce minor backwards compatible 
change)

Thanks for the report and patch, Jon!  I'm far from an expert on the fst 
library, and the comment in the code pointing people back to this JIRA doesn't 
give a lot of details as to why the code in question is necessary.  How did you 
discover class 83 was LinkedHashMap?  It's also a bit weird given LinkedHashMap 
is a java built-in that we need to register it but not other types.  Could you 
elaborate a bit more, preferably in the code comment?

Otherwise patch looks good.  I'm assuming it's a bit difficult to write a test 
for this short of providing some sample data generated on fst-2.24 that the 
code tries to load.

> RollingLevelDBTimelineStore backwards incompatible after fst upgrade
> --------------------------------------------------------------------
>
>                 Key: YARN-6654
>                 URL: https://issues.apache.org/jira/browse/YARN-6654
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Jonathan Eagles
>            Assignee: Jonathan Eagles
>            Priority: Blocker
>         Attachments: YARN-6654.1.patch
>
>
> There is a small minor backwards compatible change introduced while upgrading 
> fst library from 2.24 to 2.50.
> {code}
> Exception in thread "main" java.io.IOException: java.lang.RuntimeException: 
> unable to find class for code 83
>       at 
> org.nustaq.serialization.FSTObjectInput.readObject(FSTObjectInput.java:243)
>       at 
> org.nustaq.serialization.FSTConfiguration.asObject(FSTConfiguration.java:1125)
>       at org.nustaq.serialization.FSTNoJackson.main(FSTNoJackson.java:31)
> Caused by: java.lang.RuntimeException: unable to find class for code 83
>       at 
> org.nustaq.serialization.FSTClazzNameRegistry.decodeClass(FSTClazzNameRegistry.java:180)
>       at 
> org.nustaq.serialization.coders.FSTStreamDecoder.readClass(FSTStreamDecoder.java:472)
>       at 
> org.nustaq.serialization.FSTObjectInput.readClass(FSTObjectInput.java:933)
>       at 
> org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:343)
>       at 
> org.nustaq.serialization.FSTObjectInput.readObjectInternal(FSTObjectInput.java:327)
>       at 
> org.nustaq.serialization.serializers.FSTArrayListSerializer.instantiate(FSTArrayListSerializer.java:63)
>       at 
> org.nustaq.serialization.FSTObjectInput.instantiateAndReadWithSer(FSTObjectInput.java:497)
>       at 
> org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:366)
>       at 
> org.nustaq.serialization.FSTObjectInput.readObjectInternal(FSTObjectInput.java:327)
>       at 
> org.nustaq.serialization.serializers.FSTMapSerializer.instantiate(FSTMapSerializer.java:78)
>       at 
> org.nustaq.serialization.FSTObjectInput.instantiateAndReadWithSer(FSTObjectInput.java:497)
>       at 
> org.nustaq.serialization.FSTObjectInput.readObjectWithHeader(FSTObjectInput.java:366)
>       at 
> org.nustaq.serialization.FSTObjectInput.readObjectInternal(FSTObjectInput.java:327)
>       at 
> org.nustaq.serialization.FSTObjectInput.readObject(FSTObjectInput.java:307)
>       at 
> org.nustaq.serialization.FSTObjectInput.readObject(FSTObjectInput.java:241)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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

Reply via email to