From 0d3d28463717a40ae71abf26e830dc0344d51d81 Mon Sep 17 00:00:00 2001 From: Josh Wilson Date: Tue, 19 May 2026 11:24:29 -0500 Subject: [PATCH] Fix query details tracker keyword initialization --- .../graphql/query_details_tracker.rb | 3 ++- .../graphql/query_details_tracker_spec.rb | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/elasticgraph-graphql/lib/elastic_graph/graphql/query_details_tracker.rb b/elasticgraph-graphql/lib/elastic_graph/graphql/query_details_tracker.rb index 2b3a37b7e..e761874db 100644 --- a/elasticgraph-graphql/lib/elastic_graph/graphql/query_details_tracker.rb +++ b/elasticgraph-graphql/lib/elastic_graph/graphql/query_details_tracker.rb @@ -18,7 +18,8 @@ class QueryDetailsTracker < Struct.new( :datastore_query_client_duration_ms, :queried_shard_count, :extension_data, - :mutex + :mutex, + keyword_init: true ) def self.empty new( diff --git a/elasticgraph-graphql/spec/unit/elastic_graph/graphql/query_details_tracker_spec.rb b/elasticgraph-graphql/spec/unit/elastic_graph/graphql/query_details_tracker_spec.rb index 60153e9f4..3fb5cc9bc 100644 --- a/elasticgraph-graphql/spec/unit/elastic_graph/graphql/query_details_tracker_spec.rb +++ b/elasticgraph-graphql/spec/unit/elastic_graph/graphql/query_details_tracker_spec.rb @@ -11,6 +11,21 @@ module ElasticGraph class GraphQL RSpec.describe QueryDetailsTracker do + describe ".empty" do + it "initializes all tracker fields" do + tracker = QueryDetailsTracker.empty + + expect(tracker.shard_routing_values).to eq ::Set.new + expect(tracker.search_index_expressions).to eq ::Set.new + expect(tracker.query_counts_per_datastore_request).to eq [] + expect(tracker.datastore_query_server_duration_ms).to eq 0 + expect(tracker.datastore_query_client_duration_ms).to eq 0 + expect(tracker.queried_shard_count).to eq 0 + expect(tracker.extension_data).to eq({}) + expect(tracker.mutex).to be_a ::Thread::Mutex + end + end + describe "#[]=" do let(:tracker) { QueryDetailsTracker.empty }