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

ASF GitHub Bot commented on S2GRAPH-181:
----------------------------------------

GitHub user SteamShon opened a pull request:

    https://github.com/apache/incubator-s2graph/pull/138

    [S2GRAPH-181]: MutateVertices yield different state with different storage 
type.

    - change serializer/deserializer on RockStorage.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/SteamShon/incubator-s2graph S2GRAPH-181

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-s2graph/pull/138.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #138
    
----
commit 50c9eaf89d2f5ffffdc51b48e82015baf138a517
Author: DO YUNG YOON <steamshon@...>
Date:   2018-02-26T10:00:23Z

    add Vertex upsert on schemaVersion v4.

commit b0356f50fd81a191540ef3cac7875e859a54301a
Author: DO YUNG YOON <steamshon@...>
Date:   2018-03-19T02:16:43Z

    Merge remote-tracking branch 'apache/master' into S2GRAPH-181

----


> MutateVertices yield different state with different storage type.
> -----------------------------------------------------------------
>
>                 Key: S2GRAPH-181
>                 URL: https://issues.apache.org/jira/browse/S2GRAPH-181
>             Project: S2Graph
>          Issue Type: Bug
>            Reporter: DOYUNG YOON
>            Assignee: DOYUNG YOON
>            Priority: Major
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Find out different properties of the vertex with `RocksStorage` backend.
> `ServiceColumn` is defined as follow.
> {noformat}
> {
>       "serviceName": "s2graph",
>       "columnName": "user",
>       "columnType": "string",
>       "props": [{
>                       "name": "is_active",
>                       "dataType": "boolean",
>                       "defaultValue": false
>               },
>               {
>                       "name": "phone_number",
>                       "dataType": "string",
>                       "defaultValue": "-"
>               },
>               {
>                       "name": "nickname",
>                       "dataType": "string",
>                       "defaultValue": ".."
>               },
>               {
>                       "name": "age",
>                       "dataType": "integer",
>                       "defaultValue": 0
>               }
>       ]
> }
> {noformat}
> `insert` vertex with partial property(first insert request only has 
> is_active, and the second one only has phone_number) should behave like 
> 'upsert'.
> The first `insert` request.
> {noformat}
> [{
>       "id": 1,
>       "props": {
>               "is_active": true
>       },
>       "timestamp": 1417616431
> }]
> {noformat}
> The second `insert` request.
> {noformat}
> [{
>       "id": 1,
>       "props": {
>               "phone_number": "abcdefg"
>       },
>       "timestamp": 1417616432
> }]
> {noformat}
> The expected state on vertex 1 should be following.
> {noformat}
> {
>       "id": 1,
>       "props": {
>               "is_active": true,
>               "phone_number": "abcdefg",
>               "nickname": "..", // default value.
>               "age": 0 // default value.
>       }
> }
> {noformat}
> Above is what fetched vertex looks like when storage backend is 
> `AsynchbaseStorage`, but `RocksStorage` gives different vertex.
> {noformat}
> {
>       "id": 1,
>       "props": {
>               "is_active": false, // default value
>               "phone_number": "abcdefg",
>               "nickname": "..", // default value.
>               "age": 0 // default value.
>       }
> }
> {noformat}
> Note that `is_active` give default value instead of first value user 
> inserted(the second request overwrite the first request).
> Suggest to fix `RocksStorage` to behave like `AsynchbaseStorage`.



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

Reply via email to