Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GIE/Compiler] Unify all timeout configurations to a single query timeout #2854

Closed
longbinlai opened this issue Jun 12, 2023 · 0 comments · Fixed by #2953
Closed

[GIE/Compiler] Unify all timeout configurations to a single query timeout #2854

longbinlai opened this issue Jun 12, 2023 · 0 comments · Fixed by #2953
Assignees
Labels
component:gie enhancement New feature or request

Comments

@longbinlai
Copy link
Collaborator

To prevent a user from submitting a query that can run arbitrarily long, we now provide three configurations of timeout, namely

  • Gremlin timeout: Corresponding to the official timeout parameters of Tinkerpop
  • RPC timeout: Compiler submits a job to pegasus via RPC. Thus, RPC timeout measures timeout regarding the timeout between compiler submitting a join and pegasus returning the first batch of results.
  • Pegasus timeout: A Pegasus internal configuration of timeout from running a job.

These timeout configurations are very confused, and are not suitable for being delegated to users directly.
Thus, can we unify these three timeout into one single query timeout, and make it the only configuration to the users (and automatically configure the above three timeouts).

@longbinlai longbinlai added enhancement New feature or request component:gie labels Jun 12, 2023
@longbinlai longbinlai added this to To do in GIE GraphDB-like production PoC via automation Jun 12, 2023
GIE GraphDB-like production PoC automation moved this from To do to Done Jul 3, 2023
longbinlai added a commit that referenced this issue Jul 3, 2023
<!--
Thanks for your contribution! please review
https://github.com/alibaba/GraphScope/blob/main/CONTRIBUTING.md before
opening an issue.
-->

## What do these changes do?
Unify gremlin timeout configurations. By this pr, the console will
output like this if gremlin query execution timeout is set to 2000ms.

<img width="1627" alt="image"
src="https://github.com/alibaba/GraphScope/assets/22363306/922d0702-1a7f-4904-814c-0e9ebd6e7102">


Timeout can be set by two ways: 
1. system configuration, set `query.execution.timeout.ms: 2000` in
`conf/ir.compiler.properties`
2. set per query in gremlin query `g.with(ARGS_EVAL_TIMEOUT, 2000).V()`
or `g.with(Tokens.ARGS_EVAL_TIMEOUT, 2000).V()`. if timeout value is of
long type, suffix with 'L'

<!-- Please give a short brief about these changes. -->

## Related issue number

<!-- Are there any issues opened that will be resolved by merging this
change? -->

Fixes #2854

---------

Co-authored-by: Longbin Lai <longbin.lailb@alibaba-inc.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:gie enhancement New feature or request
Development

Successfully merging a pull request may close this issue.

3 participants