You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/arrow_flight_analyze_protocol.md
+8-22Lines changed: 8 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ The request body should be a JSON object with the following structure:
51
51
-`sql` (string, required): The SQL query to analyze. Must contain exactly one SQL statement. Multiple statements (e.g., separated by semicolons) are not supported and will result in an error.
52
52
53
53
**Future Extensibility**:
54
-
The protocol is designed to be extensible. Future versions may support additional query representation fields:
54
+
The protocol is designed to be extensible. Additional query representation fields may be supported in the future:
55
55
-`substrait` (bytes): Substrait query plan (binary or JSON)
56
56
-`logical_plan` (string): Serialized logical plan
57
57
-`physical_plan` (string): Serialized physical plan
@@ -131,8 +131,6 @@ Metric names use a hierarchical namespace structure to prevent collisions and pr
131
131
132
132
**Important**: There is no generic `io.*` namespace. Each file format reports its own complete set of I/O metrics under its specific namespace (e.g., `io.parquet.*`, `io.csv.*`). This prevents mixing aggregated and raw data.
133
133
134
-
**Backward Compatibility**: Legacy metric names without namespaces (e.g., `rows` instead of `query.rows`) may be supported by implementations for transition purposes, but new implementations should use namespaced names.
135
-
136
134
## Standard Metrics
137
135
138
136
### Query-Level Metrics
@@ -420,21 +418,23 @@ To consume this protocol:
420
418
5.**Reconstruct Statistics**
421
419
- Use the original query string retained by the client
422
420
- Parse metrics batch (8-field schema) to reconstruct execution statistics
423
-
- Support both namespaced (e.g., `query.rows`) and legacy (e.g., `rows`) metric names for backward compatibility
424
421
- Extract `operator_parent` and `operator_index` to reconstruct execution plan hierarchy if needed
425
422
426
423
### Error Handling
427
424
428
-
**Server Errors**:
425
+
**Server Behavior**:
426
+
Any error during request parsing, query execution, metrics collection, or response serialization results in complete failure. No partial metrics are returned.
427
+
428
+
**Error Codes**:
429
429
-`Status::unimplemented` - Server doesn't support analyze protocol
0 commit comments