You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Jason Lowe (JIRA)" <ji...@apache.org> on 2017/05/26 13:17:04 UTC

[jira] [Updated] (YARN-6654) RollingLevelDBTimelineStore backwards incompatible after fst upgrade

     [ 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: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org