From dd073edc9511471e9b06518fc4b53cb8ece5f352 Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Thu, 6 Jul 2023 16:35:51 +0800 Subject: [PATCH 01/18] remove snapshot_loc --- .../service/src/interpreters/interpreter_table_create.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/query/service/src/interpreters/interpreter_table_create.rs b/src/query/service/src/interpreters/interpreter_table_create.rs index 6fc98daa401..f611b4bc477 100644 --- a/src/query/service/src/interpreters/interpreter_table_create.rs +++ b/src/query/service/src/interpreters/interpreter_table_create.rs @@ -286,14 +286,12 @@ pub static CREATE_TABLE_OPTIONS: Lazy> = Lazy::new(|| { r.insert(FUSE_OPT_KEY_BLOCK_IN_MEM_SIZE_THRESHOLD); r.insert(FUSE_OPT_KEY_ROW_AVG_DEPTH_THRESHOLD); - r.insert(OPT_KEY_SNAPSHOT_LOCATION); - r.insert(OPT_KEY_LEGACY_SNAPSHOT_LOC); r.insert(OPT_KEY_TABLE_COMPRESSION); r.insert(OPT_KEY_STORAGE_FORMAT); r.insert(OPT_KEY_DATABASE_ID); r.insert(OPT_KEY_COMMENT); - r.insert(OPT_KEY_EXTERNAL_LOCATION); + r.insert(OPT_KEY_ENGINE); r.insert("transient"); From 107fa8e8a1ad8ea824d8696482fe4636e46a079b Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Thu, 6 Jul 2023 16:39:25 +0800 Subject: [PATCH 02/18] forbidden some options when create table --- .../suites/base/05_ddl/05_0000_ddl_create_tables | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables b/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables index 4284ce4ad29..f95cdd59f2b 100644 --- a/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables +++ b/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables @@ -263,6 +263,15 @@ create table tt_v2 (id int) engine=fuse SNAPSHOT_LOCATION='xx' statement error 1301 create table t(a int) x=x +statement error 1301 +create table t(a int) external_location='xxx' + +statement error 1301 +create table t(a int) snapshot_loc='xxx' + +statement error 1301 +create table t(a int) snapshot_location='xxx' + statement ok drop table if exists t_without_engine_desc; From 4ce74175bb893e53b95e8440ef0d4601a19e53e2 Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Thu, 6 Jul 2023 16:44:20 +0800 Subject: [PATCH 03/18] remove database_id --- src/query/service/src/interpreters/interpreter_table_create.rs | 1 - .../sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/query/service/src/interpreters/interpreter_table_create.rs b/src/query/service/src/interpreters/interpreter_table_create.rs index f611b4bc477..18adc313502 100644 --- a/src/query/service/src/interpreters/interpreter_table_create.rs +++ b/src/query/service/src/interpreters/interpreter_table_create.rs @@ -288,7 +288,6 @@ pub static CREATE_TABLE_OPTIONS: Lazy> = Lazy::new(|| { r.insert(OPT_KEY_TABLE_COMPRESSION); r.insert(OPT_KEY_STORAGE_FORMAT); - r.insert(OPT_KEY_DATABASE_ID); r.insert(OPT_KEY_COMMENT); diff --git a/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables b/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables index f95cdd59f2b..3e133e2e871 100644 --- a/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables +++ b/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables @@ -272,6 +272,9 @@ create table t(a int) snapshot_loc='xxx' statement error 1301 create table t(a int) snapshot_location='xxx' +statement error 1301 +create table t(a int) database_id='xxx' + statement ok drop table if exists t_without_engine_desc; From 2beb9eef179e894ec7fe761a753e90563cb7be31 Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Thu, 6 Jul 2023 16:48:31 +0800 Subject: [PATCH 04/18] fix clippy --- src/query/service/src/interpreters/interpreter_table_create.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/query/service/src/interpreters/interpreter_table_create.rs b/src/query/service/src/interpreters/interpreter_table_create.rs index 18adc313502..cc8013743ff 100644 --- a/src/query/service/src/interpreters/interpreter_table_create.rs +++ b/src/query/service/src/interpreters/interpreter_table_create.rs @@ -42,10 +42,7 @@ use storages_common_cache::LoadParams; use storages_common_table_meta::meta::TableSnapshot; use storages_common_table_meta::meta::Versioned; use storages_common_table_meta::table::OPT_KEY_COMMENT; -use storages_common_table_meta::table::OPT_KEY_DATABASE_ID; use storages_common_table_meta::table::OPT_KEY_ENGINE; -use storages_common_table_meta::table::OPT_KEY_EXTERNAL_LOCATION; -use storages_common_table_meta::table::OPT_KEY_LEGACY_SNAPSHOT_LOC; use storages_common_table_meta::table::OPT_KEY_SNAPSHOT_LOCATION; use storages_common_table_meta::table::OPT_KEY_STORAGE_FORMAT; use storages_common_table_meta::table::OPT_KEY_TABLE_COMPRESSION; From 11c665d76e962bde189d676dfa9df0ced1f8220f Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Thu, 6 Jul 2023 18:36:53 +0800 Subject: [PATCH 05/18] fix database_id --- .../service/src/interpreters/interpreter_table_create.rs | 3 ++- .../src/interpreters/interpreter_table_set_options.rs | 8 ++++++++ src/query/sql/src/planner/binder/ddl/table.rs | 8 ++++++++ .../suites/base/05_ddl/05_0000_ddl_create_tables | 3 +++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/query/service/src/interpreters/interpreter_table_create.rs b/src/query/service/src/interpreters/interpreter_table_create.rs index cc8013743ff..0caa9bfbd04 100644 --- a/src/query/service/src/interpreters/interpreter_table_create.rs +++ b/src/query/service/src/interpreters/interpreter_table_create.rs @@ -42,6 +42,7 @@ use storages_common_cache::LoadParams; use storages_common_table_meta::meta::TableSnapshot; use storages_common_table_meta::meta::Versioned; use storages_common_table_meta::table::OPT_KEY_COMMENT; +use storages_common_table_meta::table::OPT_KEY_DATABASE_ID; use storages_common_table_meta::table::OPT_KEY_ENGINE; use storages_common_table_meta::table::OPT_KEY_SNAPSHOT_LOCATION; use storages_common_table_meta::table::OPT_KEY_STORAGE_FORMAT; @@ -285,7 +286,7 @@ pub static CREATE_TABLE_OPTIONS: Lazy> = Lazy::new(|| { r.insert(OPT_KEY_TABLE_COMPRESSION); r.insert(OPT_KEY_STORAGE_FORMAT); - + r.insert(OPT_KEY_DATABASE_ID); r.insert(OPT_KEY_COMMENT); r.insert(OPT_KEY_ENGINE); diff --git a/src/query/service/src/interpreters/interpreter_table_set_options.rs b/src/query/service/src/interpreters/interpreter_table_set_options.rs index a5973f3880f..5dc89e36732 100644 --- a/src/query/service/src/interpreters/interpreter_table_set_options.rs +++ b/src/query/service/src/interpreters/interpreter_table_set_options.rs @@ -21,6 +21,7 @@ use common_meta_app::schema::UpsertTableOptionReq; use common_meta_types::MatchSeq; use common_sql::plans::SetOptionsPlan; use common_storages_fuse::TableContext; +use storages_common_table_meta::table::OPT_KEY_DATABASE_ID; use storages_common_table_meta::table::OPT_KEY_STORAGE_FORMAT; use tracing::error; @@ -62,6 +63,13 @@ impl Interpreter for SetOptionsInterpreter { OPT_KEY_STORAGE_FORMAT ))); } + if self.plan.set_options.get(OPT_KEY_DATABASE_ID).is_some() { + error!(error_str); + return Err(ErrorCode::TableOptionInvalid(format!( + "can't change {} for alter table statement", + OPT_KEY_DATABASE_ID + ))); + } for table_option in self.plan.set_options.iter() { let key = table_option.0.to_lowercase(); if !is_valid_create_opt(&key) { diff --git a/src/query/sql/src/planner/binder/ddl/table.rs b/src/query/sql/src/planner/binder/ddl/table.rs index ce499640c93..0507a6e90fa 100644 --- a/src/query/sql/src/planner/binder/ddl/table.rs +++ b/src/query/sql/src/planner/binder/ddl/table.rs @@ -72,6 +72,7 @@ use storages_common_table_meta::table::OPT_KEY_DATABASE_ID; use storages_common_table_meta::table::OPT_KEY_STORAGE_FORMAT; use storages_common_table_meta::table::OPT_KEY_TABLE_COMPRESSION; use tracing::debug; +use tracing::error; use crate::binder::location::parse_uri_location; use crate::binder::scalar::ScalarBinder; @@ -467,6 +468,13 @@ impl Binder { "Incorrect CREATE query: required list of column descriptions or AS section or SELECT..", ))?, }; + if options.contains_key(&OPT_KEY_DATABASE_ID.to_lowercase().to_string()) { + error!("invalid opt for fuse table in create table statement"); + return Err(ErrorCode::TableOptionInvalid(format!( + "table option {} is invalid for create table statement", + OPT_KEY_DATABASE_ID + ))); + } if engine == Engine::Fuse { // Currently, [Table] can not accesses its database id yet, thus diff --git a/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables b/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables index 3e133e2e871..b0155c99aca 100644 --- a/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables +++ b/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables @@ -275,6 +275,9 @@ create table t(a int) snapshot_location='xxx' statement error 1301 create table t(a int) database_id='xxx' +statement ok +create table t(a int) + statement ok drop table if exists t_without_engine_desc; From 4e0f823fc5448031664f5084bef0e8f2dc29b4d5 Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Thu, 6 Jul 2023 18:51:49 +0800 Subject: [PATCH 06/18] add test --- src/query/sql/src/planner/binder/ddl/table.rs | 3 +++ .../suites/base/05_ddl/05_0000_ddl_create_tables | 5 ++++- .../17_altertable/17_0004_alter_table_set_options.result | 2 +- .../17_altertable/17_0004_alter_table_set_options.sh | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/query/sql/src/planner/binder/ddl/table.rs b/src/query/sql/src/planner/binder/ddl/table.rs index 0507a6e90fa..a5eef7b1f65 100644 --- a/src/query/sql/src/planner/binder/ddl/table.rs +++ b/src/query/sql/src/planner/binder/ddl/table.rs @@ -468,6 +468,9 @@ impl Binder { "Incorrect CREATE query: required list of column descriptions or AS section or SELECT..", ))?, }; + + // for fuse engine, we will insert database_id, so if we check it in execute phase, + // we can't distinct user key and our internal key. if options.contains_key(&OPT_KEY_DATABASE_ID.to_lowercase().to_string()) { error!("invalid opt for fuse table in create table statement"); return Err(ErrorCode::TableOptionInvalid(format!( diff --git a/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables b/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables index b0155c99aca..779bf66997c 100644 --- a/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables +++ b/tests/sqllogictests/suites/base/05_ddl/05_0000_ddl_create_tables @@ -269,7 +269,7 @@ create table t(a int) external_location='xxx' statement error 1301 create table t(a int) snapshot_loc='xxx' -statement error 1301 +statement error 3001 create table t(a int) snapshot_location='xxx' statement error 1301 @@ -278,6 +278,9 @@ create table t(a int) database_id='xxx' statement ok create table t(a int) +statement error 1301 +alter table t set options(database_id = "22"); + statement ok drop table if exists t_without_engine_desc; diff --git a/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.result b/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.result index 3575c139c8e..2408820584d 100644 --- a/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.result +++ b/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.result @@ -1,4 +1,4 @@ -1 +ERROR 1105 (HY000) at line 1: TableOptionInvalid. Code: 1301, Text = table option snapshot_location is invalid for alter table statement. ERROR 1105 (HY000) at line 1: TableOptionInvalid. Code: 1301, Text = table option abc is invalid for alter table statement. ERROR 1105 (HY000) at line 1: TableOptionInvalid. Code: 1301, Text = invalid block_per_segment option, can't be over 1000. ERROR 1105 (HY000) at line 1: TableOptionInvalid. Code: 1301, Text = can't change storage_format for alter table statement. diff --git a/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.sh b/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.sh index 16d14d5203d..d98d98dbf44 100755 --- a/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.sh +++ b/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.sh @@ -11,6 +11,7 @@ SNAPSHOT_LOCATION=$(echo "select _snapshot_name from t;" | $MYSQL_CLIENT_CONNECT echo "create table t2(a int)" | $MYSQL_CLIENT_CONNECT echo "alter table t2 set options(snapshot_location = '$SNAPSHOT_LOCATION',block_per_segment = 500)" | $MYSQL_CLIENT_CONNECT +echo "alter table t2 set options(block_per_segment = 500)" | $MYSQL_CLIENT_CONNECT echo "select * from t2;" | $MYSQL_CLIENT_CONNECT # valid key check echo "alter table t2 set options(abc = '1')" | $MYSQL_CLIENT_CONNECT From ab7e0fdb1fdff72c8bb54ada7e6ec7d93b758f4a Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Thu, 6 Jul 2023 18:54:58 +0800 Subject: [PATCH 07/18] add more test --- .../17_altertable/17_0004_alter_table_set_options.result | 2 ++ .../17_altertable/17_0004_alter_table_set_options.sh | 2 ++ 2 files changed, 4 insertions(+) diff --git a/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.result b/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.result index 2408820584d..2ada40c34c3 100644 --- a/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.result +++ b/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.result @@ -1,4 +1,6 @@ ERROR 1105 (HY000) at line 1: TableOptionInvalid. Code: 1301, Text = table option snapshot_location is invalid for alter table statement. +ERROR 1105 (HY000) at line 1: TableOptionInvalid. Code: 1301, Text = table option snapshot_loc is invalid for alter table statement. +ERROR 1105 (HY000) at line 1: TableOptionInvalid. Code: 1301, Text = table option extrenal_location is invalid for alter table statement. ERROR 1105 (HY000) at line 1: TableOptionInvalid. Code: 1301, Text = table option abc is invalid for alter table statement. ERROR 1105 (HY000) at line 1: TableOptionInvalid. Code: 1301, Text = invalid block_per_segment option, can't be over 1000. ERROR 1105 (HY000) at line 1: TableOptionInvalid. Code: 1301, Text = can't change storage_format for alter table statement. diff --git a/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.sh b/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.sh index d98d98dbf44..07d798f0c79 100755 --- a/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.sh +++ b/tests/suites/0_stateless/17_altertable/17_0004_alter_table_set_options.sh @@ -11,6 +11,8 @@ SNAPSHOT_LOCATION=$(echo "select _snapshot_name from t;" | $MYSQL_CLIENT_CONNECT echo "create table t2(a int)" | $MYSQL_CLIENT_CONNECT echo "alter table t2 set options(snapshot_location = '$SNAPSHOT_LOCATION',block_per_segment = 500)" | $MYSQL_CLIENT_CONNECT +echo "alter table t2 set options(snapshot_loc = '$SNAPSHOT_LOCATION',block_per_segment = 500)" | $MYSQL_CLIENT_CONNECT +echo "alter table t2 set options(extrenal_location = '$SNAPSHOT_LOCATION',block_per_segment = 500)" | $MYSQL_CLIENT_CONNECT echo "alter table t2 set options(block_per_segment = 500)" | $MYSQL_CLIENT_CONNECT echo "select * from t2;" | $MYSQL_CLIENT_CONNECT # valid key check From 1b6740c96e1c7288bacba2e59cfc3f5c983f5458 Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Thu, 6 Jul 2023 19:39:42 +0800 Subject: [PATCH 08/18] remove useless test --- src/query/sql/src/planner/binder/ddl/table.rs | 2 +- ..._0002_create_table_with_exists_snap.result | 2 -- .../02_0002_create_table_with_exists_snap.sh | 23 ------------------- 3 files changed, 1 insertion(+), 26 deletions(-) delete mode 100644 tests/suites/1_stateful/02_query/02_0002_create_table_with_exists_snap.result delete mode 100755 tests/suites/1_stateful/02_query/02_0002_create_table_with_exists_snap.sh diff --git a/src/query/sql/src/planner/binder/ddl/table.rs b/src/query/sql/src/planner/binder/ddl/table.rs index a5eef7b1f65..19e4eba72be 100644 --- a/src/query/sql/src/planner/binder/ddl/table.rs +++ b/src/query/sql/src/planner/binder/ddl/table.rs @@ -471,7 +471,7 @@ impl Binder { // for fuse engine, we will insert database_id, so if we check it in execute phase, // we can't distinct user key and our internal key. - if options.contains_key(&OPT_KEY_DATABASE_ID.to_lowercase().to_string()) { + if options.contains_key(&OPT_KEY_DATABASE_ID.to_lowercase()) { error!("invalid opt for fuse table in create table statement"); return Err(ErrorCode::TableOptionInvalid(format!( "table option {} is invalid for create table statement", diff --git a/tests/suites/1_stateful/02_query/02_0002_create_table_with_exists_snap.result b/tests/suites/1_stateful/02_query/02_0002_create_table_with_exists_snap.result deleted file mode 100644 index b2f7f08c170..00000000000 --- a/tests/suites/1_stateful/02_query/02_0002_create_table_with_exists_snap.result +++ /dev/null @@ -1,2 +0,0 @@ -10 -10 diff --git a/tests/suites/1_stateful/02_query/02_0002_create_table_with_exists_snap.sh b/tests/suites/1_stateful/02_query/02_0002_create_table_with_exists_snap.sh deleted file mode 100755 index ae8fde337e2..00000000000 --- a/tests/suites/1_stateful/02_query/02_0002_create_table_with_exists_snap.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) -. "$CURDIR"/../../../shell_env.sh - -echo "drop table if exists tt;" | $MYSQL_CLIENT_CONNECT -echo "drop table if exists tt_v2;" | $MYSQL_CLIENT_CONNECT - -## Create table -echo "create table tt(a Timestamp) engine=Fuse" | $MYSQL_CLIENT_CONNECT -echo "insert into tt(a) select now() from numbers(10);" | $MYSQL_CLIENT_CONNECT -sleep 1 -echo "select count(1) from tt" | $MYSQL_CLIENT_CONNECT -snap_loc=$(echo "set hide_options_in_show_create_table = 0;show create table default.tt" | mysql -uroot -h127.0.0.1 -P3307 -s|awk -F 'SNAPSHOT_LOCATION=' '{print $2}'|awk -F 'STORAGE_FORMAT=' '{print $1}') -echo "create table tt_v2(a Timestamp) SNAPSHOT_LOCATION=${snap_loc}" | $MYSQL_CLIENT_CONNECT - -## Select table -echo "select count(1) from tt_v2" | $MYSQL_CLIENT_CONNECT - -## Drop table -echo "drop table if exists tt;" | $MYSQL_CLIENT_CONNECT -echo "drop table if exists tt_v2;" | $MYSQL_CLIENT_CONNECT - From 9e037551a1b10ee56e0ed7292d5b31c285c14fa2 Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Fri, 7 Jul 2023 19:54:38 +0800 Subject: [PATCH 09/18] update test --- .../src/api/rpc/exchange/exchange_manager.rs | 10 +++++++++- src/query/service/src/interpreters/interpreter.rs | 9 +++++++-- .../service/src/interpreters/interpreter_copy.rs | 2 ++ src/query/service/src/schedulers/scheduler.rs | 5 ++++- src/query/storages/stage/src/stage_table.rs | 13 +++++++++++-- 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/query/service/src/api/rpc/exchange/exchange_manager.rs b/src/query/service/src/api/rpc/exchange/exchange_manager.rs index 9fbf600916a..df97935f93e 100644 --- a/src/query/service/src/api/rpc/exchange/exchange_manager.rs +++ b/src/query/service/src/api/rpc/exchange/exchange_manager.rs @@ -712,12 +712,20 @@ impl QueryCoordinator { } let ctx = query_ctx.clone(); + let ctx_clone = ctx.clone(); let (_, request_server_exchange) = request_server_exchanges.into_iter().next().unwrap(); let mut statistics_sender = StatisticsSender::spawn_sender(&query_id, ctx, request_server_exchange); Thread::named_spawn(Some(String::from("Distributed-Executor")), move || { - statistics_sender.shutdown(executor.execute().err()); + let res = executor.execute(); + if res.is_err() { + println!( + "read two fileds at node:{}", + ctx_clone.get_cluster().local_id + ); + } + statistics_sender.shutdown(res.err()); query_ctx .get_exchange_manager() .on_finished_query(&query_id); diff --git a/src/query/service/src/interpreters/interpreter.rs b/src/query/service/src/interpreters/interpreter.rs index 4f5e57b14c0..305c62d4407 100644 --- a/src/query/service/src/interpreters/interpreter.rs +++ b/src/query/service/src/interpreters/interpreter.rs @@ -97,8 +97,13 @@ pub trait Interpreter: Sync + Send { let complete_executor = PipelineCompleteExecutor::from_pipelines(pipelines, settings)?; ctx.set_executor(complete_executor.get_inner())?; - complete_executor.execute()?; - Ok(Box::pin(DataBlockStream::create(None, vec![]))) + match complete_executor.execute() { + Err(error) => { + println!("read two fileds at node:{}", ctx.get_cluster().local_id); + return Err(error); + } + Ok(_) => return Ok(Box::pin(DataBlockStream::create(None, vec![]))), + } } else { let pulling_executor = PipelinePullingExecutor::from_pipelines(build_res, settings)?; diff --git a/src/query/service/src/interpreters/interpreter_copy.rs b/src/query/service/src/interpreters/interpreter_copy.rs index 1a20b8454bc..137f63621b5 100644 --- a/src/query/service/src/interpreters/interpreter_copy.rs +++ b/src/query/service/src/interpreters/interpreter_copy.rs @@ -610,6 +610,7 @@ pub fn append_data_and_set_finish( main_pipeline.set_on_finished(move |may_error| { match may_error { None => { + println!("main node recieve success"); GlobalIORuntime::instance().block_on(async move { { let status = @@ -651,6 +652,7 @@ pub fn append_data_and_set_finish( })?; } Some(error) => { + println!("main node recieve error"); error!( "copy failed, elapsed:{}, reason: {}", start.elapsed().as_secs(), diff --git a/src/query/service/src/schedulers/scheduler.rs b/src/query/service/src/schedulers/scheduler.rs index 631480e92f9..cf940c79548 100644 --- a/src/query/service/src/schedulers/scheduler.rs +++ b/src/query/service/src/schedulers/scheduler.rs @@ -98,7 +98,10 @@ pub async fn build_distributed_pipeline( enable_profiling: bool, ) -> Result { let fragmenter = Fragmenter::try_create(ctx.clone())?; - + println!( + "Build distributed pipeline at: {}", + ctx.get_cluster().local_id + ); let root_fragment = fragmenter.build_fragment(plan)?; let mut fragments_actions = QueryFragmentsActions::create(ctx.clone(), enable_profiling); root_fragment.get_actions(ctx.clone(), &mut fragments_actions)?; diff --git a/src/query/storages/stage/src/stage_table.rs b/src/query/storages/stage/src/stage_table.rs index a7ea0c6a520..65ddcbe9149 100644 --- a/src/query/storages/stage/src/stage_table.rs +++ b/src/query/storages/stage/src/stage_table.rs @@ -170,7 +170,16 @@ impl Table for StageTable { splits.push(Arc::new(split.clone())); } } - + let mut file_names = String::from(""); + for file in &splits { + file_names.push_str(&file.file.path); + file_names.push_str(","); + } + println!( + "read files at node id {}: {}", + ctx.get_cluster().local_id, + file_names + ); // Build copy pipeline. let settings = ctx.get_settings(); let fields = stage_table_info @@ -204,7 +213,7 @@ impl Table for StageTable { self.table_info.is_select, projection, )?); - tracing::debug!("start copy splits feeder in {}", ctx.get_cluster().local_id); + tracing::info!("start copy splits feeder in {}", ctx.get_cluster().local_id); input_ctx.format.exec_copy(input_ctx.clone(), pipeline)?; Ok(()) } From b707532a31302c8eeaeda1682c9179a989a3a15d Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Fri, 7 Jul 2023 20:09:19 +0800 Subject: [PATCH 10/18] add long test --- .../suites/1_stateful/00_copy/test_bug.result | 200 ++++++++++++++++++ tests/suites/1_stateful/00_copy/test_bug.sh | 38 ++++ 2 files changed, 238 insertions(+) create mode 100644 tests/suites/1_stateful/00_copy/test_bug.result create mode 100644 tests/suites/1_stateful/00_copy/test_bug.sh diff --git a/tests/suites/1_stateful/00_copy/test_bug.result b/tests/suites/1_stateful/00_copy/test_bug.result new file mode 100644 index 00000000000..d0e86ef6935 --- /dev/null +++ b/tests/suites/1_stateful/00_copy/test_bug.result @@ -0,0 +1,200 @@ +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 +ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c +0 diff --git a/tests/suites/1_stateful/00_copy/test_bug.sh b/tests/suites/1_stateful/00_copy/test_bug.sh new file mode 100644 index 00000000000..2ed1b5cd50e --- /dev/null +++ b/tests/suites/1_stateful/00_copy/test_bug.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +. "$CURDIR"/../../../shell_env.sh + +expected="0" + +for i in {1..100} +do + stage="@s""$i" + name="s""$i" + echo "drop table if exists products;" | $MYSQL_CLIENT_CONNECT + echo "drop table if exists table_random;" | $MYSQL_CLIENT_CONNECT + echo "drop table if exists table_random2;" | $MYSQL_CLIENT_CONNECT + echo "drop stage if exists $name;" | $MYSQL_CLIENT_CONNECT + echo "create stage $name FILE_FORMAT = (TYPE = CSV);" | $MYSQL_CLIENT_CONNECT + echo "create table products (id int, name string, description string);" | $MYSQL_CLIENT_CONNECT + echo "create table table_random(a int,b string,c string) ENGINE = Random;" | $MYSQL_CLIENT_CONNECT + echo "create table table_random2(a int,b string) ENGINE = Random;" | $MYSQL_CLIENT_CONNECT + echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT + echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT + echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT + echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT + echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT + echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT + echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT + echo "copy into $stage from (select a,b from table_random2 limit 1000000);" | $MYSQL_CLIENT_CONNECT + echo "set enable_distributed_copy_into = 1;copy into products from $stage pattern = '.*[.]csv' purge = true;" | $MYSQL_CLIENT_CONNECT + res=$(echo "select count(*) from products;" | $MYSQL_CLIENT_CONNECT) + echo "$res" + if [ $res = $expected ] + then + echo "drop table products all;" | $MYSQL_CLIENT_CONNECT + else + echo "终于复现了: $i" + break + fi +done \ No newline at end of file From 1db16c8a1cd914804df226922fc05a00a7fdcd71 Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Fri, 7 Jul 2023 20:53:12 +0800 Subject: [PATCH 11/18] add logs --- src/query/service/src/api/rpc/exchange/statistics_sender.rs | 1 + src/query/service/src/interpreters/interpreter_copy.rs | 4 ++-- src/query/service/src/schedulers/scheduler.rs | 3 ++- src/query/storages/stage/src/stage_table.rs | 3 ++- .../00_copy/{test_bug.result => 00_0012_test_bug.result} | 0 .../1_stateful/00_copy/{test_bug.sh => 00_0012_test_bug.sh} | 0 6 files changed, 7 insertions(+), 4 deletions(-) rename tests/suites/1_stateful/00_copy/{test_bug.result => 00_0012_test_bug.result} (100%) rename tests/suites/1_stateful/00_copy/{test_bug.sh => 00_0012_test_bug.sh} (100%) diff --git a/src/query/service/src/api/rpc/exchange/statistics_sender.rs b/src/query/service/src/api/rpc/exchange/statistics_sender.rs index f2cbedaf7f2..c014d436d57 100644 --- a/src/query/service/src/api/rpc/exchange/statistics_sender.rs +++ b/src/query/service/src/api/rpc/exchange/statistics_sender.rs @@ -111,6 +111,7 @@ impl StatisticsSender { "Cannot send data via flight exchange, cause: {:?}", error_code ); + tracing::error!("send a error!") } shutdown_flag_sender.close(); diff --git a/src/query/service/src/interpreters/interpreter_copy.rs b/src/query/service/src/interpreters/interpreter_copy.rs index 137f63621b5..d29c0a49ee9 100644 --- a/src/query/service/src/interpreters/interpreter_copy.rs +++ b/src/query/service/src/interpreters/interpreter_copy.rs @@ -610,7 +610,7 @@ pub fn append_data_and_set_finish( main_pipeline.set_on_finished(move |may_error| { match may_error { None => { - println!("main node recieve success"); + error!("main node recieve success"); GlobalIORuntime::instance().block_on(async move { { let status = @@ -652,7 +652,7 @@ pub fn append_data_and_set_finish( })?; } Some(error) => { - println!("main node recieve error"); + error!("main node recieve error"); error!( "copy failed, elapsed:{}, reason: {}", start.elapsed().as_secs(), diff --git a/src/query/service/src/schedulers/scheduler.rs b/src/query/service/src/schedulers/scheduler.rs index cf940c79548..f2eeb7a226a 100644 --- a/src/query/service/src/schedulers/scheduler.rs +++ b/src/query/service/src/schedulers/scheduler.rs @@ -17,6 +17,7 @@ use std::sync::Arc; use common_exception::ErrorCode; use common_exception::Result; use common_profile::SharedProcessorProfiles; +use tracing::error; use crate::pipelines::PipelineBuildResult; use crate::pipelines::PipelineBuilder; @@ -98,7 +99,7 @@ pub async fn build_distributed_pipeline( enable_profiling: bool, ) -> Result { let fragmenter = Fragmenter::try_create(ctx.clone())?; - println!( + error!( "Build distributed pipeline at: {}", ctx.get_cluster().local_id ); diff --git a/src/query/storages/stage/src/stage_table.rs b/src/query/storages/stage/src/stage_table.rs index 65ddcbe9149..40fe436a41d 100644 --- a/src/query/storages/stage/src/stage_table.rs +++ b/src/query/storages/stage/src/stage_table.rs @@ -44,6 +44,7 @@ use common_storage::StageFileInfo; use dashmap::DashMap; use opendal::Operator; use parking_lot::Mutex; +use tracing::error; use crate::stage_table_sink::StageTableSink; /// TODO: we need to track the data metrics in stage table. @@ -175,7 +176,7 @@ impl Table for StageTable { file_names.push_str(&file.file.path); file_names.push_str(","); } - println!( + error!( "read files at node id {}: {}", ctx.get_cluster().local_id, file_names diff --git a/tests/suites/1_stateful/00_copy/test_bug.result b/tests/suites/1_stateful/00_copy/00_0012_test_bug.result similarity index 100% rename from tests/suites/1_stateful/00_copy/test_bug.result rename to tests/suites/1_stateful/00_copy/00_0012_test_bug.result diff --git a/tests/suites/1_stateful/00_copy/test_bug.sh b/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh similarity index 100% rename from tests/suites/1_stateful/00_copy/test_bug.sh rename to tests/suites/1_stateful/00_copy/00_0012_test_bug.sh From 30384d794a234e568e548809b25c19e5b2fabdbe Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Fri, 7 Jul 2023 21:23:09 +0800 Subject: [PATCH 12/18] add x --- src/query/service/src/api/rpc/exchange/statistics_sender.rs | 3 ++- tests/suites/1_stateful/00_copy/00_0012_test_bug.sh | 0 2 files changed, 2 insertions(+), 1 deletion(-) mode change 100644 => 100755 tests/suites/1_stateful/00_copy/00_0012_test_bug.sh diff --git a/src/query/service/src/api/rpc/exchange/statistics_sender.rs b/src/query/service/src/api/rpc/exchange/statistics_sender.rs index c014d436d57..ffef09097df 100644 --- a/src/query/service/src/api/rpc/exchange/statistics_sender.rs +++ b/src/query/service/src/api/rpc/exchange/statistics_sender.rs @@ -111,7 +111,8 @@ impl StatisticsSender { "Cannot send data via flight exchange, cause: {:?}", error_code ); - tracing::error!("send a error!") + tracing::error!("send a error!"); + println!("send a error") } shutdown_flag_sender.close(); diff --git a/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh b/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh old mode 100644 new mode 100755 From 0ec9da5c53def08a2680762a5ff220be233d2dd1 Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Fri, 7 Jul 2023 22:19:37 +0800 Subject: [PATCH 13/18] add back trace --- scripts/ci/ci-run-sqllogic-tests-cluster.sh | 2 ++ tests/suites/1_stateful/00_copy/00_0012_test_bug.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/ci/ci-run-sqllogic-tests-cluster.sh b/scripts/ci/ci-run-sqllogic-tests-cluster.sh index e3c7f39a4f1..b70dca1e087 100644 --- a/scripts/ci/ci-run-sqllogic-tests-cluster.sh +++ b/scripts/ci/ci-run-sqllogic-tests-cluster.sh @@ -9,6 +9,8 @@ export STORAGE_ALLOW_INSECURE=true echo "Starting Cluster databend-query" ./scripts/ci/deploy/databend-query-cluster-3-nodes.sh +export RUST_BACKTRACE=1 + TEST_HANDLERS=${TEST_HANDLERS:-"mysql,http,clickhouse"} BUILD_PROFILE=${BUILD_PROFILE:-debug} diff --git a/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh b/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh index 2ed1b5cd50e..3270a6711ec 100755 --- a/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh +++ b/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh @@ -5,7 +5,7 @@ CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) expected="0" -for i in {1..100} +for i in {1..5} do stage="@s""$i" name="s""$i" From d1696b1e9d6c2e7a869c1795d521fd475f6b4e00 Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Fri, 7 Jul 2023 22:53:36 +0800 Subject: [PATCH 14/18] reduce --- tests/suites/1_stateful/00_copy/00_0012_test_bug.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh b/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh index 3270a6711ec..98c71aa409e 100755 --- a/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh +++ b/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh @@ -5,7 +5,7 @@ CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) expected="0" -for i in {1..5} +for i in {1..3} do stage="@s""$i" name="s""$i" From e5760b39f3b2754471d01c7fe981c6c7b235506e Mon Sep 17 00:00:00 2001 From: JackTan25 <60096118+JackTan25@users.noreply.github.com> Date: Sun, 9 Jul 2023 16:32:20 +0800 Subject: [PATCH 15/18] Update distributed_copy_into_table2_execption.test --- .../mode/cluster/distributed_copy_into_table2_execption.test | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/sqllogictests/suites/mode/cluster/distributed_copy_into_table2_execption.test b/tests/sqllogictests/suites/mode/cluster/distributed_copy_into_table2_execption.test index 354bd40ca75..2ae4277d766 100644 --- a/tests/sqllogictests/suites/mode/cluster/distributed_copy_into_table2_execption.test +++ b/tests/sqllogictests/suites/mode/cluster/distributed_copy_into_table2_execption.test @@ -49,7 +49,7 @@ copy into @s1 from (select a,b,c from table_random limit 1000000); statement ok copy into @s1 from (select a,b from table_random2 limit 1000000); -statement error 1046 +statement error 2000 copy into products from @s1 pattern = '.*[.]csv' purge = true; query I @@ -61,4 +61,4 @@ statement ok select block_count from fuse_snapshot('default','products'); statement ok -set enable_distributed_copy_into = 0; \ No newline at end of file +set enable_distributed_copy_into = 0; From 04e8813df04a28f72b92b1b1a5df80a10dea3ebe Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Sun, 9 Jul 2023 16:33:43 +0800 Subject: [PATCH 16/18] add empty --- src/query/service/src/interpreters/interpreter_copy.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/query/service/src/interpreters/interpreter_copy.rs b/src/query/service/src/interpreters/interpreter_copy.rs index d29c0a49ee9..8e8aba71684 100644 --- a/src/query/service/src/interpreters/interpreter_copy.rs +++ b/src/query/service/src/interpreters/interpreter_copy.rs @@ -632,7 +632,7 @@ pub fn append_data_and_set_finish( } } - // 2. Try to purge copied files if purge option is true, if error will skip. + // 2. Try to purge copied files if purge option is true, if error will skip. // If a file is already copied(status with AlreadyCopied) we will try to purge them. if purge { CopyInterpreter::try_purge_files( From 3eb642ed2c041a5f146a6778fc6b220505aeb360 Mon Sep 17 00:00:00 2001 From: JackTan25 <60096118+JackTan25@users.noreply.github.com> Date: Sun, 9 Jul 2023 17:32:30 +0800 Subject: [PATCH 17/18] Update distributed_copy_into_table2_execption.test --- .../mode/cluster/distributed_copy_into_table2_execption.test | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/sqllogictests/suites/mode/cluster/distributed_copy_into_table2_execption.test b/tests/sqllogictests/suites/mode/cluster/distributed_copy_into_table2_execption.test index 2ae4277d766..4e08cf9f084 100644 --- a/tests/sqllogictests/suites/mode/cluster/distributed_copy_into_table2_execption.test +++ b/tests/sqllogictests/suites/mode/cluster/distributed_copy_into_table2_execption.test @@ -49,13 +49,13 @@ copy into @s1 from (select a,b,c from table_random limit 1000000); statement ok copy into @s1 from (select a,b from table_random2 limit 1000000); -statement error 2000 +statement error 1046 copy into products from @s1 pattern = '.*[.]csv' purge = true; query I select count(*) from products; ---- -0 +8 statement ok select block_count from fuse_snapshot('default','products'); From 02a409a185c337893c77caafc63fc06fb92cb2c2 Mon Sep 17 00:00:00 2001 From: JackTan25 Date: Sun, 9 Jul 2023 17:58:59 +0800 Subject: [PATCH 18/18] remove --- .../00_copy/00_0012_test_bug.result | 200 ------------------ .../1_stateful/00_copy/00_0012_test_bug.sh | 38 ---- 2 files changed, 238 deletions(-) delete mode 100644 tests/suites/1_stateful/00_copy/00_0012_test_bug.result delete mode 100755 tests/suites/1_stateful/00_copy/00_0012_test_bug.sh diff --git a/tests/suites/1_stateful/00_copy/00_0012_test_bug.result b/tests/suites/1_stateful/00_copy/00_0012_test_bug.result deleted file mode 100644 index d0e86ef6935..00000000000 --- a/tests/suites/1_stateful/00_copy/00_0012_test_bug.result +++ /dev/null @@ -1,200 +0,0 @@ -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 -ERROR 1105 (HY000) at line 1: BadBytes. Code: 1046, Text = expect 3 fields, only found 2 , split data_1708a79c-ca23-431f-a7e3-903d82b5b883_0000_00000000.csv(18982889 bytes), row=0=0+0, offset=0=0+0, options=Csv(CsvFileFormatParams { compression: None, headers: 0, field_delimiter: ",", record_delimiter: "\n", nan_display: "NaN", escape: "", quote: "\"" }), schema=[TableField { name: "id", default_expr: None, data_type: Number(Int32), column_id: 0, computed_expr: None }, TableField { name: "name", default_expr: None, data_type: String, c -0 diff --git a/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh b/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh deleted file mode 100755 index 98c71aa409e..00000000000 --- a/tests/suites/1_stateful/00_copy/00_0012_test_bug.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash - -CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) -. "$CURDIR"/../../../shell_env.sh - -expected="0" - -for i in {1..3} -do - stage="@s""$i" - name="s""$i" - echo "drop table if exists products;" | $MYSQL_CLIENT_CONNECT - echo "drop table if exists table_random;" | $MYSQL_CLIENT_CONNECT - echo "drop table if exists table_random2;" | $MYSQL_CLIENT_CONNECT - echo "drop stage if exists $name;" | $MYSQL_CLIENT_CONNECT - echo "create stage $name FILE_FORMAT = (TYPE = CSV);" | $MYSQL_CLIENT_CONNECT - echo "create table products (id int, name string, description string);" | $MYSQL_CLIENT_CONNECT - echo "create table table_random(a int,b string,c string) ENGINE = Random;" | $MYSQL_CLIENT_CONNECT - echo "create table table_random2(a int,b string) ENGINE = Random;" | $MYSQL_CLIENT_CONNECT - echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT - echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT - echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT - echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT - echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT - echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT - echo "copy into $stage from (select a,b,c from table_random limit 1000000);" | $MYSQL_CLIENT_CONNECT - echo "copy into $stage from (select a,b from table_random2 limit 1000000);" | $MYSQL_CLIENT_CONNECT - echo "set enable_distributed_copy_into = 1;copy into products from $stage pattern = '.*[.]csv' purge = true;" | $MYSQL_CLIENT_CONNECT - res=$(echo "select count(*) from products;" | $MYSQL_CLIENT_CONNECT) - echo "$res" - if [ $res = $expected ] - then - echo "drop table products all;" | $MYSQL_CLIENT_CONNECT - else - echo "终于复现了: $i" - break - fi -done \ No newline at end of file