You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/02/08 20:44:14 UTC

[GitHub] [arrow-datafusion] alamb opened a new issue #1786: Reduce logging verbosity for physical plans to `trace!`

alamb opened a new issue #1786:
URL: https://github.com/apache/arrow-datafusion/issues/1786


   **Is your feature request related to a problem or challenge? Please describe what you are trying to do.**
   
   While working in IOx it is often helpful to see the physical plan at this level:
   
   ```
   SortExec: [time@0 ASC NULLS LAST,state@1 ASC NULLS LAST,city@2 ASC NULLS LAST]
     CoalescePartitionsExec
       ProjectionExec: expr=[time@5 as time, state@4 as state, city@1 as city, min_temp@3 as min_temp, max_temp@2 as max_temp, area@0 as area]
         UnionExec
           RepartitionExec: partitioning=RoundRobinBatch(4)
             DeduplicateExec: [state@4 ASC,city@1 ASC,time@5 ASC]
               SortPreservingMergeExec: [state@4 ASC,city@1 ASC,time@5 ASC]
                 UnionExec                                                           <---- union maintains relative orders of 2 (repartition) ioputs
                   RepartitionExec: partitioning=RoundRobinBatch(4)                  <--- repartition happens below union (on single partition)
                     IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate
                   RepartitionExec: partitioning=RoundRobinBatch(4)
                     IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate
           RepartitionExec: partitioning=RoundRobinBatch(4)
             IOxReadFilterNode: table_name=h2o, chunks=2 predicate=Predicate
   ```
   
   However, at `debug!` level dataufusion will print out the full `Debug` impl of the physical plan. An example of what this means:
   
   ```
   2022-02-04T15:39:56.303402Z DEBUG datafusion::physical_plan::planner: Physical plan:
   SortPreservingMergeExec { input: UnionExec { inputs: [DeduplicateExec { input: SortExec { input: IOxReadFilterNode { table_name: "h2o", iox_schema: Schema { inner: Schema { fields: [Field { name: "city", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "max_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "min_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "state", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "time", data_type: Timestamp(Nanosecond, None), nullable: false, dict_id: 0, dict_is_ordered: false,
  metadata: Some({"iox::column::type": "iox::column_type::timestamp"}) }], metadata: {} } }, chunks: [DbChunk { addr: ChunkAddr { db_name: "placeholder", table_name: "h2o", partition_key: "1970-01-01T00", chunk_id: ChunkId(1d09c13a-aa09-4e92-95c5-f2eba2c5b76c) }, access_recorder: AccessRecorder { time_provider: SystemProvider, state: RwLock { data: AccessMetrics { count: 1, last_access: 2022-02-04T15:39:56.121557+00:00 } } }, state: MutableBuffer { chunk: ChunkSnapshot { schema: Schema { inner: Schema { fields: [Field { name: "city", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "max_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "min_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::typ
 e": "iox::column_type::field::float"}) }, Field { name: "state", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "time", data_type: Timestamp(Nanosecond, None), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::timestamp"}) }], metadata: {} } }, batch: RecordBatch { schema: Schema { fields: [Field { name: "city", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "max_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "min_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Fie
 ld { name: "state", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "time", data_type: Timestamp(Nanosecond, None), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::timestamp"}) }], metadata: {} }, columns: [DictionaryArray {keys: PrimitiveArray<Int32>
   [
     0,
     1,
     0,
     2,
   ] values: StringArray
   [
     "Boston",
     "Bedford",
     "Andover",
   ]}
   , PrimitiveArray<Float64>
   [
     null,
     null,
     75.4,
     69.2,
   ], PrimitiveArray<Float64>
   [
     70.4,
     71.59,
     null,
     null,
   ], DictionaryArray {keys: PrimitiveArray<Int32>
   [
     0,
     0,
     0,
     0,
   ] values: StringArray
   [
     "MA",
   ]}
   , PrimitiveArray<Timestamp(Nanosecond, None)>
   [
     1970-01-01T00:00:00.000000050,
     1970-01-01T00:00:00.000000150,
     1970-01-01T00:00:00.000000250,
     1970-01-01T00:00:00.000000250,
   ]] }, table_name: "h2o", summary: TableSummary { name: "h2o", columns: [ColumnSummary { name: "city", influxdb_type: Some(Tag), stats: String(StatValues { min: Some("Andover"), max: Some("Boston"), total_count: 4, null_count: 0, distinct_count: Some(3) }) }, ColumnSummary { name: "max_temp", influxdb_type: Some(Field), stats: F64(StatValues { min: Some(69.2), max: Some(75.4), total_count: 4, null_count: 2, distinct_count: None }) }, ColumnSummary { name: "min_temp", influxdb_type: Some(Field), stats: F64(StatValues { min: Some(70.4), max: Some(71.59), total_count: 4, null_count: 2, distinct_count: None }) }, ColumnSummary { name: "state", influxdb_type: Some(Tag), stats: String(StatValues { min: Some("MA"), max: Some("MA"), total_count: 4, null_count: 0, distinct_count: Some(1) }) }, ColumnSummary { name: "time", influxdb_type: Some(Timestamp), stats: I64(StatValues { min: Some(50), max: Some(250), total_count: 4, null_count: 0, distinct_count: None }) }] } } }, meta: ChunkMetadat
 a { table_summary: TableSummary { name: "h2o", columns: [ColumnSummary { name: "city", influxdb_type: Some(Tag), stats: String(StatValues { min: Some("Andover"), max: Some("Boston"), total_count: 4, null_count: 0, distinct_count: Some(3) }) }, ColumnSummary { name: "max_temp", influxdb_type: Some(Field), stats: F64(StatValues { min: Some(69.2), max: Some(75.4), total_count: 4, null_count: 2, distinct_count: None }) }, ColumnSummary { name: "min_temp", influxdb_type: Some(Field), stats: F64(StatValues { min: Some(70.4), max: Some(71.59), total_count: 4, null_count: 2, distinct_count: None }) }, ColumnSummary { name: "state", influxdb_type: Some(Tag), stats: String(StatValues { min: Some("MA"), max: Some("MA"), total_count: 4, null_count: 0, distinct_count: Some(1) }) }, ColumnSummary { name: "time", influxdb_type: Some(Timestamp), stats: I64(StatValues { min: Some(50), max: Some(250), total_count: 4, null_count: 0, distinct_count: None }) }] }, schema: Schema { inner: Schema { fields
 : [Field { name: "city", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "max_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "min_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "state", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "time", data_type: Timestamp(Nanosecond, None), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::timestamp"}) }], metadata: {} } }, delete_predicates: [] }, time_of_first_write: 2022-02-04T15:39:56.121518+00:00, time_of_l
 ast_write: 2022-02-04T15:39:56.121558+00:00, order: ChunkOrder(1) }], predicate: Predicate { field_columns: None, partition_key: None, range: None, exprs: [], value_expr: [] }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }, expr: [PhysicalSortExpr { expr: Column { name: "state", index: 3 }, options: SortOptions { descending: false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "city", index: 0 }, options: SortOptions { descending: false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "time", index: 4 }, options: SortOptions { descending: false, nulls_first: true } }], metrics_set: CompositeMetricsSet { mid: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } }, final_: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }, preserve_partitioning: false }, sort_keys: [PhysicalSortExpr { expr: Column { name: "state", index: 3 }, options: SortOptions { descending
 : false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "city", index: 0 }, options: SortOptions { descending: false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "time", index: 4 }, options: SortOptions { descending: false, nulls_first: true } }], metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }, IOxReadFilterNode { table_name: "h2o", iox_schema: Schema { inner: Schema { fields: [Field { name: "city", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "max_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "min_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "st
 ate", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "time", data_type: Timestamp(Nanosecond, None), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::timestamp"}) }], metadata: {} } }, chunks: [], predicate: Predicate { field_columns: None, partition_key: None, range: None, exprs: [], value_expr: [] }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }], metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }, expr: [PhysicalSortExpr { expr: Column { name: "state", index: 3 }, options: SortOptions { descending: false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "city", index: 0 }, options: SortOptions { descending: false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "time", index: 4 }, options: Sort
 Options { descending: false, nulls_first: true } }], metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }
   2022-02-04T15:39:57.127969Z DEBUG datafusion::physical_plan::planner: Optimized physical plan short version:
   SortPreservingMergeExec: [state@3 ASC,city@0 ASC,time@4 ASC]
     RepartitionExec: partitioning=RoundRobinBatch(4)
       UnionExec
         DeduplicateExec: [state@3 ASC,city@0 ASC,time@4 ASC]
           SortExec: [state@3 ASC,city@0 ASC,time@4 ASC]
             IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate
         IOxReadFilterNode: table_name=h2o, chunks=0 predicate=Predicate
   
   
   2022-02-04T15:39:57.204456Z DEBUG datafusion::physical_plan::planner: Optimized physical plan:
   SortPreservingMergeExec { input: RepartitionExec { input: UnionExec { inputs: [DeduplicateExec { input: SortExec { input: IOxReadFilterNode { table_name: "h2o", iox_schema: Schema { inner: Schema { fields: [Field { name: "city", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "max_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "min_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "state", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "time", data_type: Timestamp(Nanosecond, None), nullable: false, dict_id: 0
 , dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::timestamp"}) }], metadata: {} } }, chunks: [DbChunk { addr: ChunkAddr { db_name: "placeholder", table_name: "h2o", partition_key: "1970-01-01T00", chunk_id: ChunkId(1d09c13a-aa09-4e92-95c5-f2eba2c5b76c) }, access_recorder: AccessRecorder { time_provider: SystemProvider, state: RwLock { data: AccessMetrics { count: 1, last_access: 2022-02-04T15:39:56.121557+00:00 } } }, state: MutableBuffer { chunk: ChunkSnapshot { schema: Schema { inner: Schema { fields: [Field { name: "city", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "max_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "min_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata
 : Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "state", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "time", data_type: Timestamp(Nanosecond, None), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::timestamp"}) }], metadata: {} } }, batch: RecordBatch { schema: Schema { fields: [Field { name: "city", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "max_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "min_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_typ
 e::field::float"}) }, Field { name: "state", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "time", data_type: Timestamp(Nanosecond, None), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::timestamp"}) }], metadata: {} }, columns: [DictionaryArray {keys: PrimitiveArray<Int32>
   [
     0,
     1,
     0,
     2,
   ] values: StringArray
   [
     "Boston",
     "Bedford",
     "Andover",
   ]}
   , PrimitiveArray<Float64>
   [
     null,
     null,
     75.4,
     69.2,
   ], PrimitiveArray<Float64>
   [
     70.4,
     71.59,
     null,
     null,
   ], DictionaryArray {keys: PrimitiveArray<Int32>
   [
     0,
     0,
     0,
     0,
   ] values: StringArray
   [
     "MA",
   ]}
   , PrimitiveArray<Timestamp(Nanosecond, None)>
   [
     1970-01-01T00:00:00.000000050,
     1970-01-01T00:00:00.000000150,
     1970-01-01T00:00:00.000000250,
     1970-01-01T00:00:00.000000250,
   ]] }, table_name: "h2o", summary: TableSummary { name: "h2o", columns: [ColumnSummary { name: "city", influxdb_type: Some(Tag), stats: String(StatValues { min: Some("Andover"), max: Some("Boston"), total_count: 4, null_count: 0, distinct_count: Some(3) }) }, ColumnSummary { name: "max_temp", influxdb_type: Some(Field), stats: F64(StatValues { min: Some(69.2), max: Some(75.4), total_count: 4, null_count: 2, distinct_count: None }) }, ColumnSummary { name: "min_temp", influxdb_type: Some(Field), stats: F64(StatValues { min: Some(70.4), max: Some(71.59), total_count: 4, null_count: 2, distinct_count: None }) }, ColumnSummary { name: "state", influxdb_type: Some(Tag), stats: String(StatValues { min: Some("MA"), max: Some("MA"), total_count: 4, null_count: 0, distinct_count: Some(1) }) }, ColumnSummary { name: "time", influxdb_type: Some(Timestamp), stats: I64(StatValues { min: Some(50), max: Some(250), total_count: 4, null_count: 0, distinct_count: None }) }] } } }, meta: ChunkMetadat
 a { table_summary: TableSummary { name: "h2o", columns: [ColumnSummary { name: "city", influxdb_type: Some(Tag), stats: String(StatValues { min: Some("Andover"), max: Some("Boston"), total_count: 4, null_count: 0, distinct_count: Some(3) }) }, ColumnSummary { name: "max_temp", influxdb_type: Some(Field), stats: F64(StatValues { min: Some(69.2), max: Some(75.4), total_count: 4, null_count: 2, distinct_count: None }) }, ColumnSummary { name: "min_temp", influxdb_type: Some(Field), stats: F64(StatValues { min: Some(70.4), max: Some(71.59), total_count: 4, null_count: 2, distinct_count: None }) }, ColumnSummary { name: "state", influxdb_type: Some(Tag), stats: String(StatValues { min: Some("MA"), max: Some("MA"), total_count: 4, null_count: 0, distinct_count: Some(1) }) }, ColumnSummary { name: "time", influxdb_type: Some(Timestamp), stats: I64(StatValues { min: Some(50), max: Some(250), total_count: 4, null_count: 0, distinct_count: None }) }] }, schema: Schema { inner: Schema { fields
 : [Field { name: "city", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "max_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "min_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "state", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "time", data_type: Timestamp(Nanosecond, None), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::timestamp"}) }], metadata: {} } }, delete_predicates: [] }, time_of_first_write: 2022-02-04T15:39:56.121518+00:00, time_of_l
 ast_write: 2022-02-04T15:39:56.121558+00:00, order: ChunkOrder(1) }], predicate: Predicate { field_columns: None, partition_key: None, range: None, exprs: [], value_expr: [] }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }, expr: [PhysicalSortExpr { expr: Column { name: "state", index: 3 }, options: SortOptions { descending: false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "city", index: 0 }, options: SortOptions { descending: false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "time", index: 4 }, options: SortOptions { descending: false, nulls_first: true } }], metrics_set: CompositeMetricsSet { mid: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } }, final_: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }, preserve_partitioning: false }, sort_keys: [PhysicalSortExpr { expr: Column { name: "state", index: 3 }, options: SortOptions { descending
 : false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "city", index: 0 }, options: SortOptions { descending: false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "time", index: 4 }, options: SortOptions { descending: false, nulls_first: true } }], metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }, IOxReadFilterNode { table_name: "h2o", iox_schema: Schema { inner: Schema { fields: [Field { name: "city", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "max_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "min_temp", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::field::float"}) }, Field { name: "st
 ate", data_type: Dictionary(Int32, Utf8), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::tag"}) }, Field { name: "time", data_type: Timestamp(Nanosecond, None), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: Some({"iox::column::type": "iox::column_type::timestamp"}) }], metadata: {} } }, chunks: [], predicate: Predicate { field_columns: None, partition_key: None, range: None, exprs: [], value_expr: [] }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }], metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }, partitioning: RoundRobinBatch(4), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany([]) } }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }, expr: [PhysicalSortExpr { expr: Column { name: "state", index: 3 }, options: SortOptions { descending: false, 
 nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "city", index: 0 }, options: SortOptions { descending: false, nulls_first: true } }, PhysicalSortExpr { expr: Column { name: "time", index: 4 }, options: SortOptions { descending: false, nulls_first: true } }], metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [] } } } }
   ```
   
   **Describe the solution you'd like**
   Print out the summarized plan in `debug!` and print the entire details in `trace!`
   
   **Describe alternatives you've considered**
   A clear and concise description of any alternative solutions or features you've considered.
   
   **Additional context**
   Add any other context or screenshots about the feature request here.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow-datafusion] alamb closed issue #1786: Reduce logging verbosity for physical plans to `trace!`

Posted by GitBox <gi...@apache.org>.
alamb closed issue #1786:
URL: https://github.com/apache/arrow-datafusion/issues/1786


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org