You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Jungtaek Lim (JIRA)" <ji...@apache.org> on 2017/06/29 03:12:00 UTC

[jira] [Commented] (STORM-2605) Versioning State

    [ https://issues.apache.org/jira/browse/STORM-2605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16067641#comment-16067641 ] 

Jungtaek Lim commented on STORM-2605:
-------------------------------------

In fact I gave a try to make this happen in STORM-2369, but Kyro serializer doesn't allow adding field to the class (I mean fail to deserialize) so failed to craft checkpoint state migration tool.
It even failed to deserialize serialized CheckpointState with copied old class, as default serializer seems to use classId.

Below is the WIP branch:
https://github.com/HeartSaVioR/storm/commit/23c0a753ab58411760e0479a114f1847d0ddf600

So this issue requires understanding of Kyro serializer / deserializer and maybe need to craft custom serializer/deserializer around CheckpointState.

> Versioning State
> ----------------
>
>                 Key: STORM-2605
>                 URL: https://issues.apache.org/jira/browse/STORM-2605
>             Project: Apache Storm
>          Issue Type: Improvement
>          Components: storm-client
>            Reporter: Jungtaek Lim
>
> From upcoming STORM-2369 we're just breaking compatibility with State structure. 
> In this case it would be better to provide two features:
> 1. Fail fast if version mismatch occurs between stored state and current KV state implementation, and provide proper error message to let users know the reason of failure.
> 2. Migration tool to migrate old state to the new state
> Since STORM-2369 is the first time to break compatibility so I strictly don't think we should resolve this issue along with STORM-2369, but still better to have this feature in future.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)