[jira] [Commented] (TINKERPOP-1875) Gremlin-Python only aggregates to list when using GraphSON3
[ https://issues.apache.org/jira/browse/TINKERPOP-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16353266#comment-16353266 ] ASF GitHub Bot commented on TINKERPOP-1875: --- Github user asfgit closed the pull request at: https://github.com/apache/tinkerpop/pull/790 > Gremlin-Python only aggregates to list when using GraphSON3 > --- > > Key: TINKERPOP-1875 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1875 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.3.1 >Reporter: David M. Brown >Assignee: David M. Brown >Priority: Major > Fix For: 3.3.2 > > > Gremlin-Python fails to correctly extract the aggregate_to value from the > Gremlin Server response when using GraphSON3. I believe this is the source of > the test failures that were temporarily fixed by using the v2.0 message > serializer in [this > commit|https://github.com/apache/tinkerpop/commit/8c299879e65748c2c2b03a58b6d0c5c401de]. > > In general, it seems this value is a bit buried in the new response message > format: > {code:json} > {'requestId': 'b2a51ad2-bca6-4493-9115-a57a92e477c7', > 'result': {'data': {'@type': 'g:List', >'@value': [{'@type': 'g:Map', > '@value': ['ripple', {'@type': 'g:Int64', '@value': 1}]}, > {'@type': 'g:Map', '@value': ['lop', {'@type': 'g:Int64', '@value': > 3}]}]}, > 'meta': {'@type': 'g:Map', >'@value': ['aggregateTo', 'map', 'sideEffectKey', 'm']}}, > 'status': {'attributes': {'@type': 'g:Map', '@value': []}, > 'code': 200, > 'message': ''}} > {code} > To access it, you have to do something like: > {code:python} > message['result']['meta']['@value'][1] > {code} > Which throws an error when no metadata is present. This seems a bit clumsy. I > haven't looked at how the Java driver deals with it, maybe there is a better > way to parse this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (TINKERPOP-1875) Gremlin-Python only aggregates to list when using GraphSON3
[ https://issues.apache.org/jira/browse/TINKERPOP-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16352661#comment-16352661 ] ASF GitHub Bot commented on TINKERPOP-1875: --- Github user jorgebay commented on the issue: https://github.com/apache/tinkerpop/pull/790 lgtm, VOTE +1 > Gremlin-Python only aggregates to list when using GraphSON3 > --- > > Key: TINKERPOP-1875 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1875 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.3.1 >Reporter: David M. Brown >Assignee: David M. Brown >Priority: Major > Fix For: 3.3.2 > > > Gremlin-Python fails to correctly extract the aggregate_to value from the > Gremlin Server response when using GraphSON3. I believe this is the source of > the test failures that were temporarily fixed by using the v2.0 message > serializer in [this > commit|https://github.com/apache/tinkerpop/commit/8c299879e65748c2c2b03a58b6d0c5c401de]. > > In general, it seems this value is a bit buried in the new response message > format: > {code:json} > {'requestId': 'b2a51ad2-bca6-4493-9115-a57a92e477c7', > 'result': {'data': {'@type': 'g:List', >'@value': [{'@type': 'g:Map', > '@value': ['ripple', {'@type': 'g:Int64', '@value': 1}]}, > {'@type': 'g:Map', '@value': ['lop', {'@type': 'g:Int64', '@value': > 3}]}]}, > 'meta': {'@type': 'g:Map', >'@value': ['aggregateTo', 'map', 'sideEffectKey', 'm']}}, > 'status': {'attributes': {'@type': 'g:Map', '@value': []}, > 'code': 200, > 'message': ''}} > {code} > To access it, you have to do something like: > {code:python} > message['result']['meta']['@value'][1] > {code} > Which throws an error when no metadata is present. This seems a bit clumsy. I > haven't looked at how the Java driver deals with it, maybe there is a better > way to parse this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (TINKERPOP-1875) Gremlin-Python only aggregates to list when using GraphSON3
[ https://issues.apache.org/jira/browse/TINKERPOP-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16349419#comment-16349419 ] ASF GitHub Bot commented on TINKERPOP-1875: --- Github user davebshow commented on the issue: https://github.com/apache/tinkerpop/pull/790 VOTE +1 > Gremlin-Python only aggregates to list when using GraphSON3 > --- > > Key: TINKERPOP-1875 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1875 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.3.1 >Reporter: David M. Brown >Assignee: David M. Brown >Priority: Major > Fix For: 3.3.2 > > > Gremlin-Python fails to correctly extract the aggregate_to value from the > Gremlin Server response when using GraphSON3. I believe this is the source of > the test failures that were temporarily fixed by using the v2.0 message > serializer in [this > commit|https://github.com/apache/tinkerpop/commit/8c299879e65748c2c2b03a58b6d0c5c401de]. > > In general, it seems this value is a bit buried in the new response message > format: > {code:json} > {'requestId': 'b2a51ad2-bca6-4493-9115-a57a92e477c7', > 'result': {'data': {'@type': 'g:List', >'@value': [{'@type': 'g:Map', > '@value': ['ripple', {'@type': 'g:Int64', '@value': 1}]}, > {'@type': 'g:Map', '@value': ['lop', {'@type': 'g:Int64', '@value': > 3}]}]}, > 'meta': {'@type': 'g:Map', >'@value': ['aggregateTo', 'map', 'sideEffectKey', 'm']}}, > 'status': {'attributes': {'@type': 'g:Map', '@value': []}, > 'code': 200, > 'message': ''}} > {code} > To access it, you have to do something like: > {code:python} > message['result']['meta']['@value'][1] > {code} > Which throws an error when no metadata is present. This seems a bit clumsy. I > haven't looked at how the Java driver deals with it, maybe there is a better > way to parse this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (TINKERPOP-1875) Gremlin-Python only aggregates to list when using GraphSON3
[ https://issues.apache.org/jira/browse/TINKERPOP-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16349418#comment-16349418 ] ASF GitHub Bot commented on TINKERPOP-1875: --- Github user davebshow commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/790#discussion_r165509842 --- Diff: gremlin-python/src/main/jython/tests/conftest.py --- @@ -1,4 +1,4 @@ -''' +""" --- End diff -- Ok willdo. > Gremlin-Python only aggregates to list when using GraphSON3 > --- > > Key: TINKERPOP-1875 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1875 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.3.1 >Reporter: David M. Brown >Assignee: David M. Brown >Priority: Major > Fix For: 3.3.2 > > > Gremlin-Python fails to correctly extract the aggregate_to value from the > Gremlin Server response when using GraphSON3. I believe this is the source of > the test failures that were temporarily fixed by using the v2.0 message > serializer in [this > commit|https://github.com/apache/tinkerpop/commit/8c299879e65748c2c2b03a58b6d0c5c401de]. > > In general, it seems this value is a bit buried in the new response message > format: > {code:json} > {'requestId': 'b2a51ad2-bca6-4493-9115-a57a92e477c7', > 'result': {'data': {'@type': 'g:List', >'@value': [{'@type': 'g:Map', > '@value': ['ripple', {'@type': 'g:Int64', '@value': 1}]}, > {'@type': 'g:Map', '@value': ['lop', {'@type': 'g:Int64', '@value': > 3}]}]}, > 'meta': {'@type': 'g:Map', >'@value': ['aggregateTo', 'map', 'sideEffectKey', 'm']}}, > 'status': {'attributes': {'@type': 'g:Map', '@value': []}, > 'code': 200, > 'message': ''}} > {code} > To access it, you have to do something like: > {code:python} > message['result']['meta']['@value'][1] > {code} > Which throws an error when no metadata is present. This seems a bit clumsy. I > haven't looked at how the Java driver deals with it, maybe there is a better > way to parse this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (TINKERPOP-1875) Gremlin-Python only aggregates to list when using GraphSON3
[ https://issues.apache.org/jira/browse/TINKERPOP-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16348435#comment-16348435 ] ASF GitHub Bot commented on TINKERPOP-1875: --- Github user spmallette commented on the issue: https://github.com/apache/tinkerpop/pull/790 All tests pass with `docker/build.sh -t -n -i` VOTE +1 > Gremlin-Python only aggregates to list when using GraphSON3 > --- > > Key: TINKERPOP-1875 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1875 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.3.1 >Reporter: David M. Brown >Assignee: David M. Brown >Priority: Major > Fix For: 3.3.2 > > > Gremlin-Python fails to correctly extract the aggregate_to value from the > Gremlin Server response when using GraphSON3. I believe this is the source of > the test failures that were temporarily fixed by using the v2.0 message > serializer in [this > commit|https://github.com/apache/tinkerpop/commit/8c299879e65748c2c2b03a58b6d0c5c401de]. > > In general, it seems this value is a bit buried in the new response message > format: > {code:json} > {'requestId': 'b2a51ad2-bca6-4493-9115-a57a92e477c7', > 'result': {'data': {'@type': 'g:List', >'@value': [{'@type': 'g:Map', > '@value': ['ripple', {'@type': 'g:Int64', '@value': 1}]}, > {'@type': 'g:Map', '@value': ['lop', {'@type': 'g:Int64', '@value': > 3}]}]}, > 'meta': {'@type': 'g:Map', >'@value': ['aggregateTo', 'map', 'sideEffectKey', 'm']}}, > 'status': {'attributes': {'@type': 'g:Map', '@value': []}, > 'code': 200, > 'message': ''}} > {code} > To access it, you have to do something like: > {code:python} > message['result']['meta']['@value'][1] > {code} > Which throws an error when no metadata is present. This seems a bit clumsy. I > haven't looked at how the Java driver deals with it, maybe there is a better > way to parse this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (TINKERPOP-1875) Gremlin-Python only aggregates to list when using GraphSON3
[ https://issues.apache.org/jira/browse/TINKERPOP-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16343641#comment-16343641 ] ASF GitHub Bot commented on TINKERPOP-1875: --- Github user spmallette commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/790#discussion_r164498752 --- Diff: gremlin-python/src/main/jython/tests/conftest.py --- @@ -1,4 +1,4 @@ -''' +""" --- End diff -- any reason you switched to double quotes here? seems like we used singles everywhere else. > Gremlin-Python only aggregates to list when using GraphSON3 > --- > > Key: TINKERPOP-1875 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1875 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.3.1 >Reporter: David M. Brown >Assignee: David M. Brown >Priority: Major > Fix For: 3.3.2 > > > Gremlin-Python fails to correctly extract the aggregate_to value from the > Gremlin Server response when using GraphSON3. I believe this is the source of > the test failures that were temporarily fixed by using the v2.0 message > serializer in [this > commit|https://github.com/apache/tinkerpop/commit/8c299879e65748c2c2b03a58b6d0c5c401de]. > > In general, it seems this value is a bit buried in the new response message > format: > {code:json} > {'requestId': 'b2a51ad2-bca6-4493-9115-a57a92e477c7', > 'result': {'data': {'@type': 'g:List', >'@value': [{'@type': 'g:Map', > '@value': ['ripple', {'@type': 'g:Int64', '@value': 1}]}, > {'@type': 'g:Map', '@value': ['lop', {'@type': 'g:Int64', '@value': > 3}]}]}, > 'meta': {'@type': 'g:Map', >'@value': ['aggregateTo', 'map', 'sideEffectKey', 'm']}}, > 'status': {'attributes': {'@type': 'g:Map', '@value': []}, > 'code': 200, > 'message': ''}} > {code} > To access it, you have to do something like: > {code:python} > message['result']['meta']['@value'][1] > {code} > Which throws an error when no metadata is present. This seems a bit clumsy. I > haven't looked at how the Java driver deals with it, maybe there is a better > way to parse this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (TINKERPOP-1875) Gremlin-Python only aggregates to list when using GraphSON3
[ https://issues.apache.org/jira/browse/TINKERPOP-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16338313#comment-16338313 ] ASF GitHub Bot commented on TINKERPOP-1875: --- Github user spmallette commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/790#discussion_r163694635 --- Diff: gremlin-python/src/main/jython/tests/conftest.py --- @@ -65,10 +65,14 @@ def fin(): request.addfinalizer(fin) return client -@pytest.fixture +@pytest.fixture(params=['v2', 'v3']) --- End diff -- this is good. doesn't help us with radish test problems though. we still need to do https://issues.apache.org/jira/browse/TINKERPOP-1864 - not sure what's going on there > Gremlin-Python only aggregates to list when using GraphSON3 > --- > > Key: TINKERPOP-1875 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1875 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.3.1 >Reporter: David M. Brown >Assignee: David M. Brown >Priority: Major > Fix For: 3.3.2 > > > Gremlin-Python fails to correctly extract the aggregate_to value from the > Gremlin Server response when using GraphSON3. I believe this is the source of > the test failures that were temporarily fixed by using the v2.0 message > serializer in [this > commit|https://github.com/apache/tinkerpop/commit/8c299879e65748c2c2b03a58b6d0c5c401de]. > > In general, it seems this value is a bit buried in the new response message > format: > {code:json} > {'requestId': 'b2a51ad2-bca6-4493-9115-a57a92e477c7', > 'result': {'data': {'@type': 'g:List', >'@value': [{'@type': 'g:Map', > '@value': ['ripple', {'@type': 'g:Int64', '@value': 1}]}, > {'@type': 'g:Map', '@value': ['lop', {'@type': 'g:Int64', '@value': > 3}]}]}, > 'meta': {'@type': 'g:Map', >'@value': ['aggregateTo', 'map', 'sideEffectKey', 'm']}}, > 'status': {'attributes': {'@type': 'g:Map', '@value': []}, > 'code': 200, > 'message': ''}} > {code} > To access it, you have to do something like: > {code:python} > message['result']['meta']['@value'][1] > {code} > Which throws an error when no metadata is present. This seems a bit clumsy. I > haven't looked at how the Java driver deals with it, maybe there is a better > way to parse this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (TINKERPOP-1875) Gremlin-Python only aggregates to list when using GraphSON3
[ https://issues.apache.org/jira/browse/TINKERPOP-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16338246#comment-16338246 ] ASF GitHub Bot commented on TINKERPOP-1875: --- GitHub user davebshow opened a pull request: https://github.com/apache/tinkerpop/pull/790 TINKERPOP-1875 Gremlin-Python only aggregates to list when using GraphSON3 https://issues.apache.org/jira/browse/TINKERPOP-1875 This PR fixes server response message deserialization in Gremlin-Python. Improper deserialization was leading to `aggregate_to` always resulting in a list as well as API comparability issues between GraphSON2 and GraphSON3 message serializers. This PR also improves testing--all Gremlin-Python tests using a remote connection are now run with both GraphSON 2 and 3 serializers. You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/tinkerpop TINKERPOP-1875 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tinkerpop/pull/790.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 #790 commit f0bbe7c90f5f66028203f21dcf720bf0948f1950 Author: davebshowDate: 2018-01-24T21:14:03Z added proper response message serialization, run all remote connection tests with graphson 2 and 3 > Gremlin-Python only aggregates to list when using GraphSON3 > --- > > Key: TINKERPOP-1875 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1875 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.3.1 >Reporter: David M. Brown >Assignee: David M. Brown >Priority: Major > Fix For: 3.3.2 > > > Gremlin-Python fails to correctly extract the aggregate_to value from the > Gremlin Server response when using GraphSON3. I believe this is the source of > the test failures that were temporarily fixed by using the v2.0 message > serializer in [this > commit|https://github.com/apache/tinkerpop/commit/8c299879e65748c2c2b03a58b6d0c5c401de]. > > In general, it seems this value is a bit buried in the new response message > format: > {code:json} > {'requestId': 'b2a51ad2-bca6-4493-9115-a57a92e477c7', > 'result': {'data': {'@type': 'g:List', >'@value': [{'@type': 'g:Map', > '@value': ['ripple', {'@type': 'g:Int64', '@value': 1}]}, > {'@type': 'g:Map', '@value': ['lop', {'@type': 'g:Int64', '@value': > 3}]}]}, > 'meta': {'@type': 'g:Map', >'@value': ['aggregateTo', 'map', 'sideEffectKey', 'm']}}, > 'status': {'attributes': {'@type': 'g:Map', '@value': []}, > 'code': 200, > 'message': ''}} > {code} > To access it, you have to do something like: > {code:python} > message['result']['meta']['@value'][1] > {code} > Which throws an error when no metadata is present. This seems a bit clumsy. I > haven't looked at how the Java driver deals with it, maybe there is a better > way to parse this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (TINKERPOP-1875) Gremlin-Python only aggregates to list when using GraphSON3
[ https://issues.apache.org/jira/browse/TINKERPOP-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16332870#comment-16332870 ] David M. Brown commented on TINKERPOP-1875: --- Now that I look a bit more closely at the message format, I see what is going on.In v2 meta, etc. were all pretty much top level keys in the JSON response from the server. Now that meta and status have type info they need to be deserialized more carefully. I'll fix this up. > Gremlin-Python only aggregates to list when using GraphSON3 > --- > > Key: TINKERPOP-1875 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1875 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.3.1 >Reporter: David M. Brown >Assignee: David M. Brown >Priority: Major > Fix For: 3.3.2 > > > Gremlin-Python fails to correctly extract the aggregate_to value from the > Gremlin Server response when using GraphSON3. I believe this is the source of > the test failures that were temporarily fixed by using the v2.0 message > serializer in [this > commit|https://github.com/apache/tinkerpop/commit/8c299879e65748c2c2b03a58b6d0c5c401de]. > > In general, it seems this value is a bit buried in the new response message > format: > {code:json} > {'requestId': 'b2a51ad2-bca6-4493-9115-a57a92e477c7', > 'result': {'data': {'@type': 'g:List', >'@value': [{'@type': 'g:Map', > '@value': ['ripple', {'@type': 'g:Int64', '@value': 1}]}, > {'@type': 'g:Map', '@value': ['lop', {'@type': 'g:Int64', '@value': > 3}]}]}, > 'meta': {'@type': 'g:Map', >'@value': ['aggregateTo', 'map', 'sideEffectKey', 'm']}}, > 'status': {'attributes': {'@type': 'g:Map', '@value': []}, > 'code': 200, > 'message': ''}} > {code} > To access it, you have to do something like: > {code:python} > message['result']['meta']['@value'][1] > {code} > Which throws an error when no metadata is present. This seems a bit clumsy. I > haven't looked at how the Java driver deals with it, maybe there is a better > way to parse this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (TINKERPOP-1875) Gremlin-Python only aggregates to list when using GraphSON3
[ https://issues.apache.org/jira/browse/TINKERPOP-1875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16332855#comment-16332855 ] stephen mallette commented on TINKERPOP-1875: - The driver handles it with a default to "none" if data in "meta" is not present: https://github.com/apache/tinkerpop/blob/cb8109479a744fa7c149bd380ac560561c3d141a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Handler.java#L227 > Gremlin-Python only aggregates to list when using GraphSON3 > --- > > Key: TINKERPOP-1875 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1875 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.3.1 >Reporter: David M. Brown >Assignee: David M. Brown >Priority: Major > Fix For: 3.3.2 > > > Gremlin-Python fails to correctly extract the aggregate_to value from the > Gremlin Server response when using GraphSON3. I believe this is the source of > the test failures that were temporarily fixed by using the v2.0 message > serializer in [this > commit|https://github.com/apache/tinkerpop/commit/8c299879e65748c2c2b03a58b6d0c5c401de]. > > In general, it seems this value is a bit buried in the new response message > format: > {code:json} > {'requestId': 'b2a51ad2-bca6-4493-9115-a57a92e477c7', > 'result': {'data': {'@type': 'g:List', >'@value': [{'@type': 'g:Map', > '@value': ['ripple', {'@type': 'g:Int64', '@value': 1}]}, > {'@type': 'g:Map', '@value': ['lop', {'@type': 'g:Int64', '@value': > 3}]}]}, > 'meta': {'@type': 'g:Map', >'@value': ['aggregateTo', 'map', 'sideEffectKey', 'm']}}, > 'status': {'attributes': {'@type': 'g:Map', '@value': []}, > 'code': 200, > 'message': ''}} > {code} > To access it, you have to do something like: > {code:python} > message['result']['meta']['@value'][1] > {code} > Which throws an error when no metadata is present. This seems a bit clumsy. I > haven't looked at how the Java driver deals with it, maybe there is a better > way to parse this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)