{"action":"created","issue":{"url":"https://api.github.com/repos/JanusGraph/janusgraph/issues/78","repository_url":"https://api.github.com/repos/JanusGraph/janusgraph","labels_url":"https://api.github.com/repos/JanusGraph/janusgraph/issues/78/labels{/name}","comments_url":"https://api.github.com/repos/JanusGraph/janusgraph/issues/78/comments","events_url":"https://api.github.com/repos/JanusGraph/janusgraph/issues/78/events","html_url":"https://github.com/JanusGraph/janusgraph/pull/78","id":205230255,"number":78,"title":"Update to TinkerPop 3.2.3","user":{"login":"sjudeng","id":11000076,"avatar_url":"https://avatars.githubusercontent.com/u/11000076?v=3","gravatar_id":"","url":"https://api.github.com/users/sjudeng","html_url":"https://github.com/sjudeng","followers_url":"https://api.github.com/users/sjudeng/followers","following_url":"https://api.github.com/users/sjudeng/following{/other_user}","gists_url":"https://api.github.com/users/sjudeng/gists{/gist_id}","starred_url":"https://api.github.com/users/sjudeng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjudeng/subscriptions","organizations_url":"https://api.github.com/users/sjudeng/orgs","repos_url":"https://api.github.com/users/sjudeng/repos","events_url":"https://api.github.com/users/sjudeng/events{/privacy}","received_events_url":"https://api.github.com/users/sjudeng/received_events","type":"User","site_admin":false},"labels":[{"id":507215572,"url":"https://api.github.com/repos/JanusGraph/janusgraph/labels/cla:%20yes","name":"cla: yes","color":"0e8a16","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":22,"created_at":"2017-02-03T18:15:30Z","updated_at":"2017-02-13T06:07:37Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JanusGraph/janusgraph/pulls/78","html_url":"https://github.com/JanusGraph/janusgraph/pull/78","diff_url":"https://github.com/JanusGraph/janusgraph/pull/78.diff","patch_url":"https://github.com/JanusGraph/janusgraph/pull/78.patch"},"body":"This PR includes commits by @dylanht and myself. All default and TinkerPop tests are passing (`mvn clean install -Dtest.skip.tp=false`). Several tests do require https://github.com/apache/tinkerpop/pull/458 but in my opinion this fix is not critical to a release (e.g. it's likely just relevant to tests).\r\n\r\n## Update from 3.1.1-incubating to 3.2.0-incubating\r\n\r\nThe following is an excerpt of @dylanht's notes from his [original PR (May 2016)](https://github.com/thinkaurelius/titan/pull/1312):\r\n\r\n> Missing from this PR are many practical things such as a CassandraOutputFormat, CassandraInput/OutputRDD, GraphFilter support for CassandraInputFormat, and updates to examples / docs that would really allow people to take advantage of the new features and understand how they can work with JanusGraph. Also missing from this PR is compiling g.V(x) and g.V().hasId(x) to graph.vertices(x) in JanusGraphStepStrategy for JanusGraph as I believe @okram has previously recommended. I attempted to modify the HasStepFolder.foldInHasContainers() method which seemed to match the code example in the TinkerPop upgrade docs about the new GraphStep.processHasContainerIds() helper method but couldn't get it to go.\r\n>\r\n> I commented out occurrences of JanusGraphTest.verifyMetrics() because I was getting a null pointer from trying to access the TraversalMetrics stored via ...profile(\"metrics\") and accessed via t.getSideEffects().get(\"metrics\") after changing the test traversals to match the new syntax implemented the profiling overhaul @rjbriody did. I am hopeful I just missed what was really happening under the hood and changes to TP3ProfileWrapper will be sufficient down the line - I failed to grasp how QueryProfiler works to let JanusGraph interface with profile() step, and surprisingly in the console on an inmemory JanusGraph the same traversals seemed to work and I could access the metrics and nested metrics from getSideEffects().get(\"the-metrics-key-or-~metrics-whichever\") as the tests attempt to do. I tried other ways of getting the metrics out of the traversal in the tests and couldn't get it done.\r\n\r\n## Update from 3.2.0-incubating to 3.2.3\r\n\r\nThe following notes are from the [update PR (November 2016)](https://github.com/dylanht/titan/pull/1):\r\n\r\n* Explicitly attaching ReferenceElements before persisting in FulgoraGraphComputer to resolve numerous tests failures associated with missing properties\r\n* Opting out of `GraphComputerTest#shouldSupportGraphFilter` since FulgoraGraphComputer doesn't support graph filters but also can't throw the expected exception without breaking a number of tests that otherwise pass\r\n* TraverserSet and HashMap can now be serialized, but this uses Java serialization so performance will be very poor\r\n* JanusGraph assigned vertex ids can vary significantly between runs and ids for subsequently added vertices can often be smaller than those for existing vertices. This caused sporadic issues in two tests as described below. I think these issues should be addressed on the TinkerPop side but doing so will require more work to come up with appropriate test cases (not to mention solutions). In the meantime these issues were resolved by adding appropriate configuration to test JanusGraph GraphComputerProvider implementations (e.g. `InMemoryGraphComputerProvider`, etc.) to ensure vertex ids are evenly spaced and increasing in tests.\r\n  * `PeerPressureTest#g_V_peerPressure_byXclusterX_byXoutEXknowsXX_pageRankX1X_byXrankX_byXoutEXknowsXX_timesX2X_group_byXclusterX_byXrank_sumX` - The vertex program appears to cluster by vertex id. I don't think this will work (consistently) for JanusGraph unless clustering by some other property.\r\n  * `UnionTest#g_VX1_2X_localXunionXoutE_count__inE_count__outE_weight_sumXX` - When the assigned id of the first vertex in the test, marko, is less than that of the second vertex, vadas, then the test passes. Otherwise the test fails. In this case the local traversal is executed twice on the second (smaller id) vertex. The issue can be resolved by cloning the local step in [WorkerExecutor](https://github.com/apache/tinkerpop/blob/3.2.3/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/WorkerExecutor.java#L140) if the associated local traversal starts with a UnionStep ... but that's just a hack and can't be recommended to TinkerPop (especially not without a test case).\r\n\r\n## References:\r\n\r\nhttps://github.com/thinkaurelius/titan/pull/1312\r\nhttps://github.com/dylanht/titan/pull/1\r\nhttps://github.com/JanusGraph/janusgraph/issues/41\r\n"},"comment":{"url":"https://api.github.com/repos/JanusGraph/janusgraph/issues/comments/279301881","html_url":"https://github.com/JanusGraph/janusgraph/pull/78#issuecomment-279301881","issue_url":"https://api.github.com/repos/JanusGraph/janusgraph/issues/78","id":279301881,"user":{"login":"hsaputra","id":105434,"avatar_url":"https://avatars.githubusercontent.com/u/105434?v=3","gravatar_id":"","url":"https://api.github.com/users/hsaputra","html_url":"https://github.com/hsaputra","followers_url":"https://api.github.com/users/hsaputra/followers","following_url":"https://api.github.com/users/hsaputra/following{/other_user}","gists_url":"https://api.github.com/users/hsaputra/gists{/gist_id}","starred_url":"https://api.github.com/users/hsaputra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hsaputra/subscriptions","organizations_url":"https://api.github.com/users/hsaputra/orgs","repos_url":"https://api.github.com/users/hsaputra/repos","events_url":"https://api.github.com/users/hsaputra/events{/privacy}","received_events_url":"https://api.github.com/users/hsaputra/received_events","type":"User","site_admin":false},"created_at":"2017-02-13T06:07:36Z","updated_at":"2017-02-13T06:07:36Z","body":"+1 agree\r\n\r\nLet's proceed. The number of commits are manageable now so LGTM"}}
{"actor":{"display_login":"hsaputra"}}