You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@s2graph.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/02/23 07:24:18 UTC
[jira] [Commented] (S2GRAPH-18) Query Option "interval" is Broken
[ https://issues.apache.org/jira/browse/S2GRAPH-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15158371#comment-15158371 ]
ASF GitHub Bot commented on S2GRAPH-18:
---------------------------------------
Github user emeth-kim commented on the pull request:
https://github.com/apache/incubator-s2graph/pull/9#issuecomment-187564852
+1
> Query Option "interval" is Broken
> ---------------------------------
>
> Key: S2GRAPH-18
> URL: https://issues.apache.org/jira/browse/S2GRAPH-18
> Project: S2Graph
> Issue Type: Bug
> Reporter: Hyunsung Jo
> Assignee: Daewon Jeong
>
> *Problem*
> The {{interval}} option doesn't seem to work on secondary indices.
> *Steps to Reproduce Issue*
> 1. Create service.
> {noformat}
> curl -XPOST localhost:9000/graphs/createService -H 'Content-Type: Application/json' -d '
> {
> "serviceName": "interval",
> "hTableName": "interval-dev"
> }
> '
> {noformat}
> 2. Create label with more than multiple indices.
> {noformat}
> curl -XPOST localhost:9000/graphs/createLabel -H 'Content-Type: Application/json' -d '
> {
> "label": "interval_test",
> "srcServiceName": "interval",
> "srcColumnName": "ad_id",
> "srcColumnType": "string",
> "tgtServiceName": "interval",
> "tgtColumnName": "url",
> "tgtColumnType": "string",
> "isDirected": "true",
> "indices": [
> {
> "name": "_PK",
> "propNames": [
> "_timestamp"
> ]
> },
> {
> "name": "IDX_ACTION_TYPE",
> "propNames": [
> "actionType",
> "_timestamp"
> ]
> }
> ],
> "props": [
> {
> "name": "serviceName",
> "defaultValue": "",
> "dataType": "string"
> },
> {
> "name": "actionType",
> "defaultValue": "",
> "dataType": "string"
> }
> ],
> "consistencyLevel": "strong"
> }
> '
> {noformat}
> 3. Insert test data.
> {noformat}
> curl -XPOST -H 'Content-Type: application/json' localhost:9000/graphs/edges/insert -d '
> [
> {
> "from": "jojo",
> "to": "www.kakaocorp.com",
> "label": "interval_test",
> "props": {"serviceName": "talk-scrap", "actionType": "share"},
> "timestamp": 1433495457557
> }
> ]
> '
> {noformat}
> 4. Query with interval on primary index. => This works! (edge returned)
> {noformat}
> curl -XPOST localhost:9000/graphs/getEdges -H 'Content-type: Application/json' -d '
> {
> "srcVertices": [
> {
> "serviceName": "interval",
> "columnName": "ad_id",
> "id": "jojo"
> }
> ],
> "steps": [
> {
> "step": [
> {
> "label": "interval_test",
> "index": "_PK",
> "interval": {
> "from": [
> {
> "_timestamp": 1433495457556
> }
> ],
> "to": [
> {
> "_timestamp": 1433495457558
> }
> ]
> }
> }
> ]
> }
> ]
> }
> '
> {noformat}
> 5. Query with interval on secondary index. => Doesn't work!! (empty result..)
> {noformat}
> curl -XPOST localhost:9000/graphs/getEdges -H 'Content-type: Application/json' -d '
> {
> "srcVertices": [
> {
> "serviceName": "interval",
> "columnName": "ad_id",
> "id": "jojo"
> }
> ],
> "steps": [
> {
> "step": [
> {
> "label": "interval_test",
> "index": "IDX_ACTION_TYPE",
> "interval": {
> "from": [
> {
> "actionType": "share"
> }
> ],
> "to": [
> {
> "actionType": "share"
> }
> ]
> }
> }
> ]
> }
> ]
> }
> '
> {noformat}
> *Cause of Issue*
> The function {{interval()}} in {{QueryParam.scala}} uses {{labelOrderSeq}} witch is currently not set at time of function call. In function {{parseQueryParam()}} of {{RequestParser.scala}}, {{.interval(interval)}} should come after {{.labelOrderSeq(indexSeq)}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)