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

ASF subversion and git services commented on ASTERIXDB-1130:
------------------------------------------------------------

Commit 11f7c34ca9a1180b21c3d7eb1831b3a6fbe2385d in asterixdb's branch 
refs/heads/master from [~mhubail]
[ https://git-wip-us.apache.org/repos/asf?p=asterixdb.git;h=11f7c34 ]

[ASTERIXDB-1130][STO]: JSON serialization for persisted objects

- user model changes: no

- storage format changes:
This change replaces the use of Java serialization for persisted objects
such as dataset/index metadata, checkpoints, ect...
This will break backward compatibly with any existing AsterixDB instance.
However, the change is needed to enable future backward compatibility support
for persisted objects.

- interface changes:
IJsonSerializable: contains API to serialize a class as a JsonNode.
IPersistedResourceRegistry: contains a mapping between an IJsonSerializable
class and a unique type id. An IPersistedResourceRegistry is responsible
for generating the class identifier in the JSON output.
The class identifier will always contain the following attributes:
@type: a unique type id that identifies the object type.
@version: the version of the serialized class.
@class: the serialized class full name.

Any registered class with PersistedResourceRegistry must provide
a static fromJson(IPersistedResourceRegistry, JsonNode) method for
deserialization. This is ensured during the class registration process.

Change-Id: I5b103e06eab6627dbfe9d531caae1a3ac4b296da
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2752
Reviewed-by: Murtadha Hubail <[email protected]>
Integration-Tests: Murtadha Hubail <[email protected]>
Tested-by: Murtadha Hubail <[email protected]>
Contrib: Jenkins <[email protected]>
Reviewed-by: abdullah alamoudi <[email protected]>


> Don't use Java serialization for PersistentLocalResourceRepository
> ------------------------------------------------------------------
>
>                 Key: ASTERIXDB-1130
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1130
>             Project: Apache AsterixDB
>          Issue Type: Improvement
>            Reporter: Ian Maxon
>            Assignee: Murtadha Hubail
>            Priority: Minor
>
> Changing the package name highlighted at least one shortcoming of the current 
> method of serializing local metadata for crash recovery- namely that the 
> package path must match or one can't recover. This really isn't necessary, so 
> we should look into using an alternate method of serializing the node-local 
> metadata that isn't so brittle. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to