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

Add timeout for Interactive Query #4407

Open
zhanglei1949 opened this issue Jan 7, 2025 · 5 comments
Open

Add timeout for Interactive Query #4407

zhanglei1949 opened this issue Jan 7, 2025 · 5 comments
Assignees

Comments

@zhanglei1949
Copy link
Collaborator

Following query failed on Interactive.

MATCH (p:Paper)-[:Paper_Has_Experiment]->(e:Experiment), 
      (p)-[:Paper_Has_Challenge]->(c:Challenge), 
      (p)-[:Paper_Has_Solution]->(s:Solution), 
      (p)-[:Paper_Has_Baseline]->(b:Baseline), 
      (p)-[:Paper_Has_Contribution]->(co:Contribution)
RETURN p.title AS PaperTitle, 
       e.name AS ExperimentName, 
       c.name AS ChallengeName, 
       s.name AS SolutionName, 
       b.name AS BaselineName, 
       co.summary AS ContributionSummary
@zhanglei1949 zhanglei1949 self-assigned this Jan 7, 2025
@zhanglei1949
Copy link
Collaborator Author

This query actually does 5 degree bfs, including flattering the context(engine internal data structure). Causing server stuck and not responding.

@zhanglei1949
Copy link
Collaborator Author

It turns out that we could probably use seastar::with_timeout to set a timeout for the query, however, we still can not cancel the query.

And trying to set a timeout for GraphDBSession.Eval() fails, due to the underlying synchronous execution.

@zhanglei1949
Copy link
Collaborator Author

zhanglei1949 commented Jan 8, 2025

@zhanglei1949 zhanglei1949 changed the title [BUG] Cypher query fails on Interactive Add timeout for Interactive Query Jan 9, 2025
@zhanglei1949
Copy link
Collaborator Author

We need a timeout mechanism for Interactive; however, we can't implement it in the current circumstance, with the query execution logic is synchronous.

@zhanglei1949
Copy link
Collaborator Author

But we could set timeout at compiler, client(sdk).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant