-
Notifications
You must be signed in to change notification settings - Fork 3.8k
/
contention_event
88 lines (75 loc) · 17.2 KB
/
contention_event
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# LogicTest: 5node-pretend59315IsFixed
#
# Verify that ContentionEvents are emitted. This is mostly a sanity check - look
# for the datadriven tests in `pkg/kv/kvserver/concurrency` for the actual events
# that do get emitted in various contention scenarios.
statement ok
GRANT ADMIN TO testuser
statement ok
CREATE TABLE kv (k VARCHAR PRIMARY KEY, v VARCHAR);
ALTER TABLE kv SPLIT AT VALUES ('b'), ('d'), ('q'), ('z');
query TT
SELECT * FROM kv
----
user testuser
statement ok
BEGIN;
statement ok
INSERT INTO kv VALUES('k', 'v')
user root
# Scan all ranges of the table (note that we have intentionally
# split it into at least six ranges). This is better than a point
# lookup in that it gives tracing more of a chance to get things
# wrong due to DistSender parallelism.
statement ok
BEGIN;
SET TRANSACTION PRIORITY HIGH;
SELECT * FROM kv;
user testuser
statement ok
ROLLBACK
user root
# Check that there is at least 1 contention event payload in all spans in the
# open trace.
#
# NB: the contention event is not in our trace span but in one of its
# children, so it wouldn't be found if we filtered by the trace span ID.
#
# NB: this needs the 5node-pretend59315 config because otherwise the span is not
# tracked.
# TODO(angelapwen) Remove this test when generator test below is complete.
query B
WITH spans AS (
SELECT span_id FROM crdb_internal.node_inflight_trace_spans
WHERE trace_id = crdb_internal.trace_id()
), payload_types AS (
SELECT jsonb_array_elements(crdb_internal.payloads_for_span(span_id))->>'@type' AS payload_type
FROM spans
) SELECT count(*) > 0
FROM payload_types
WHERE payload_type = 'type.googleapis.com/cockroach.roachpb.ContentionEvent';
----
true
# TODO(angelapwen) This should have 2 columns, payload_type and full_payload.
query T colnames
WITH spans AS (
SELECT span_id FROM crdb_internal.node_inflight_trace_spans
WHERE trace_id = crdb_internal.trace_id()
) SELECT crdb_internal.payloads_for_span_as_table(span_id)
FROM spans;
----
crdb_internal.payloads_for_span_as_table
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""f597b8cc-526f-4678-8752-8fefb09f5cdc"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""1""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""f597b8cc-526f-4678-8752-8fefb09f5cdc"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""1""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""57685059-f557-4db4-8362-23a287c27831"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""10241""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""57685059-f557-4db4-8362-23a287c27831"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""10241""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.roachpb.ContentionEvent""","{""@type"": ""type.googleapis.com/cockroach.roachpb.ContentionEvent"", ""duration"": ""0.006203s"", ""key"": ""vYkSawABiA=="", ""txnMeta"": {""epoch"": 0, ""id"": ""9b77c552-dc64-41f5-af42-5a8b6505697a"", ""key"": ""vYkSawABiA=="", ""minTimestamp"": {""logical"": 0, ""synthetic"": false, ""wallTime"": ""1613727994904136000""}, ""priority"": 1272569, ""sequence"": 1, ""writeTimestamp"": {""logical"": 0, ""synthetic"": false, ""wallTime"": ""1613727994904136000""}}}")
("""type.googleapis.com/cockroach.roachpb.ContentionEvent""","{""@type"": ""type.googleapis.com/cockroach.roachpb.ContentionEvent"", ""duration"": ""0.006465s"", ""key"": ""vYkSawABiYk="", ""txnMeta"": {""epoch"": 0, ""id"": ""9b77c552-dc64-41f5-af42-5a8b6505697a"", ""key"": ""vYkSawABiA=="", ""minTimestamp"": {""logical"": 0, ""synthetic"": false, ""wallTime"": ""1613727994904136000""}, ""priority"": 1272569, ""sequence"": 2, ""writeTimestamp"": {""logical"": 0, ""synthetic"": false, ""wallTime"": ""1613727994904136000""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""0249e01b-09be-4609-a8ea-7b69ec41b165"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""30721""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""0249e01b-09be-4609-a8ea-7b69ec41b165"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""30721""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""a5bfc741-9f8c-4dee-8a64-dcdc090a28df"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""30721""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""a5bfc741-9f8c-4dee-8a64-dcdc090a28df"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""30721""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""146bc595-f700-461e-8a64-81308ab68220"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""20481""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""146bc595-f700-461e-8a64-81308ab68220"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""20481""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""5e0edf39-4d15-4fb1-90a2-d409ee2f0242"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""30721""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")
("""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats""","{""@type"": ""type.googleapis.com/cockroach.sql.distsqlrun.ComponentStats"", ""component"": {""flowId"": ""5e0edf39-4d15-4fb1-90a2-d409ee2f0242"", ""id"": 0, ""nodeId"": 1, ""type"": ""FLOW""}, ""exec"": {""execTime"": {""valuePlusOne"": ""0s""}, ""maxAllocatedDisk"": {""valuePlusOne"": ""0""}, ""maxAllocatedMem"": {""valuePlusOne"": ""0""}}, ""flowStats"": {""maxMemUsage"": {""valuePlusOne"": ""30721""}}, ""inputs"": [], ""kv"": {""bytesRead"": {""valuePlusOne"": ""0""}, ""contentionTime"": {""valuePlusOne"": ""0s""}, ""kvTime"": {""valuePlusOne"": ""0s""}, ""tuplesRead"": {""valuePlusOne"": ""0""}}, ""netRx"": {""bytesReceived"": {""valuePlusOne"": ""0""}, ""deserializationTime"": {""valuePlusOne"": ""0s""}, ""latency"": {""valuePlusOne"": ""0s""}, ""messagesReceived"": {""valuePlusOne"": ""0""}, ""tuplesReceived"": {""valuePlusOne"": ""0""}, ""waitTime"": {""valuePlusOne"": ""0s""}}, ""netTx"": {""bytesSent"": {""valuePlusOne"": ""0""}, ""messagesSent"": {""valuePlusOne"": ""0""}, ""tuplesSent"": {""valuePlusOne"": ""0""}}, ""output"": {""numBatches"": {""valuePlusOne"": ""0""}, ""numTuples"": {""valuePlusOne"": ""0""}}}")