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

Allow executing mutations / subscriptions in parallel / batched mode #2035

Closed
kyri-petrou opened this issue Dec 12, 2023 · 0 comments · Fixed by #2040
Closed

Allow executing mutations / subscriptions in parallel / batched mode #2035

kyri-petrou opened this issue Dec 12, 2023 · 0 comments · Fixed by #2040
Labels
enhancement New feature or request server Issue related to caliban server

Comments

@kyri-petrou
Copy link
Collaborator

Came across this while optimizing the Executor. Currently we force the execution of mutations and subscriptions to sequential mode

val execution = request.operationType match {
case OperationType.Query => queryExecution
case OperationType.Mutation => QueryExecution.Sequential
case OperationType.Subscription => QueryExecution.Sequential
}

According to the spec, only the top-level fields are required to be executed sequentially (at least for mutations, couldn't find anything about subscriptions requiring them to be executed serially). Ideally, we'd want to execute the top-level fields of mutations sequentially, but execute any child fields using the user-provided execution mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request server Issue related to caliban server
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants