Skip to content

Commit

Permalink
Fix adapter closing to stick on the same thread
Browse files Browse the repository at this point in the history
  • Loading branch information
MattFenelon committed Jun 21, 2024
1 parent 16ccfde commit 5ca2ac5
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions lib/graphiti/scope.rb
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,15 @@ def future_resolve
assign_serializer(resolved)
yield resolved if block_given?
@opts[:after_resolve]&.call(resolved)
close_adapter = Graphiti.config.concurrency && @query.parents.any?
future_resolve_sideloads(resolved)
.on_resolution!(@resource.adapter, close_adapter) do |_, _, _, adapter, close_adapter|
adapter.close if close_adapter
end
.then_on(self.class.global_thread_pool_executor, resolved) do
resolved
end
sideloaded = @query.parents.any?
close_adapter = Graphiti.config.concurrency && sideloaded
if close_adapter
@resource.adapter.close
end

future_resolve_sideloads(resolved).then_on(self.class.global_thread_pool_executor, resolved) do
resolved
end
end
end

Expand Down

0 comments on commit 5ca2ac5

Please sign in to comment.