Skip to content
This repository was archived by the owner on Apr 14, 2022. It is now read-only.

Commit 6566a67

Browse files
committed
Don't count only requests in statistics
1 parent 1d7e8b2 commit 6566a67

File tree

2 files changed

+33
-8
lines changed

2 files changed

+33
-8
lines changed

graphql/bfs_executor.lua

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,22 @@
117117
--- iterator_opts = <...>,
118118
--- is_full_scan = <boolean>,
119119
--- }
120-
--- select_state = <...>,
121-
--- select_opts = <...>,
120+
--- select_state = {
121+
--- count = <number>,
122+
--- objs = <list of objects>,
123+
--- pivot_found = <boolean>,
124+
--- qcontext = <table>,
125+
--- },
126+
--- select_opts = {
127+
--- model = <compiled avro schema>,
128+
--- limit = <number>,
129+
--- filter = <table>,
130+
--- do_filter = <boolean>,
131+
--- pivot_filter = <table>,
132+
--- resulting_object_cnt_max = <number>,
133+
--- fetched_object_cnt_max = <number>,
134+
--- resolveField = <function>,
135+
--- },
122136
--- collection_name = <string>,
123137
--- from = <...>,
124138
--- filter = <...>,
@@ -625,10 +639,23 @@ local function invoke_resolve(prepared_object, context, opts)
625639
else
626640
if is_item_cache_only then
627641
-- prevent statisting from being affected by cache only requests
628-
-- XXX: catch cache misses for such requests
629-
-- XXX: avoid deepcopy
630-
local extra = field_info.prepared_resolve.prepared_select.extra
631-
extra.qcontext = table.deepcopy(extra.qcontext)
642+
local prepared_select = field_info.prepared_resolve.prepared_select
643+
local extra = prepared_select.extra
644+
local select_state = prepared_select.select_state
645+
local qcontext = extra.qcontext
646+
local new_qcontext = {
647+
initialized = true,
648+
deadline_clock = qcontext.deadline_clock,
649+
statistics = {
650+
resulting_object_cnt = 0,
651+
fetched_object_cnt = 0,
652+
select_requests_cnt = 0,
653+
full_scan_select_requests_cnt = 0,
654+
index_select_requests_cnt = 0,
655+
}
656+
}
657+
extra.qcontext = new_qcontext
658+
select_state.qcontext = new_qcontext
632659
end
633660
object_or_list, object_type = field_info.prepared_resolve:invoke()
634661
end

test/space/nested_args.test.lua

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ local common_gql_wrapper = graphql.new({
5757
accessor = 'space',
5858
-- gh-137: timeout exceeded
5959
timeout_ms = 10000, -- 10 seconds
60-
fetched_object_cnt_max = 100000, -- XXX: remove it
6160
})
6261

6362
local emails_gql_wrapper = graphql.new({
@@ -68,7 +67,6 @@ local emails_gql_wrapper = graphql.new({
6867
accessor = 'space',
6968
-- gh-137: timeout exceeded
7069
timeout_ms = 10000, -- 10 seconds
71-
fetched_object_cnt_max = 100000, -- XXX: remove it
7270
})
7371

7472
-- run queries

0 commit comments

Comments
 (0)