diff --git a/regression-test/data/load_p0/stream_load/test_chunked_transfer.json b/regression-test/data/load_p0/stream_load/test_chunked_transfer.json new file mode 100644 index 00000000000000..25c04715335cf5 --- /dev/null +++ b/regression-test/data/load_p0/stream_load/test_chunked_transfer.json @@ -0,0 +1,2 @@ +{ "k1": "1", "k2": "50", "v1": "1", "v2": "1", "v3": "3", "k4": "1"} +{ "k1": "-1", "k2": "50", "v1": "1", "v2": "1", "v3": "3", "k4": "1"} \ No newline at end of file diff --git a/regression-test/data/load_p0/stream_load/test_stream_load.out b/regression-test/data/load_p0/stream_load/test_stream_load.out index 71e0166fef4f1d..a89a09c301de07 100644 --- a/regression-test/data/load_p0/stream_load/test_stream_load.out +++ b/regression-test/data/load_p0/stream_load/test_stream_load.out @@ -123,7 +123,11 @@ 1 -50 1 2 1 \N 2 -50 1 44 1 \N --- !sql_chunked_transfer -- +-- !sql_chunked_transfer_csv -- 1 -50 1 2 1 \N 2 -50 1 44 1 \N +-- !sql_chunked_transfer_json -- +-1 50 1 1 3 \N +1 50 1 1 3 \N + diff --git a/regression-test/suites/load_p0/stream_load/test_stream_load.groovy b/regression-test/suites/load_p0/stream_load/test_stream_load.groovy index dc6060d44d5ef7..3e78a83a6062f4 100644 --- a/regression-test/suites/load_p0/stream_load/test_stream_load.groovy +++ b/regression-test/suites/load_p0/stream_load/test_stream_load.groovy @@ -1245,7 +1245,35 @@ suite("test_stream_load", "p0") { json2pc = parseJson(out) log.info("test chunked transfer result: ${out}".toString()) - qt_sql_chunked_transfer "select * from ${tableName16} order by k1" + qt_sql_chunked_transfer_csv "select * from ${tableName16} order by k1" + } finally { + sql """ DROP TABLE IF EXISTS ${tableName16} FORCE""" + } + + try { + sql """ DROP TABLE IF EXISTS ${tableName16} """ + sql """ + CREATE TABLE IF NOT EXISTS ${tableName16} ( + `k1` bigint(20) NULL DEFAULT "1", + `k2` bigint(20) NULL , + `v1` tinyint(4) NULL, + `v2` tinyint(4) NULL, + `v3` tinyint(4) NULL, + `v4` DATETIME NULL + ) ENGINE=OLAP + DISTRIBUTED BY HASH(`k1`) BUCKETS 3 + PROPERTIES ("replication_allocation" = "tag.location.default: 1"); + """ + + def command = "curl --location-trusted -u ${context.config.feHttpUser}:${context.config.feHttpPassword} -H Transfer-Encoding:chunked -H format:json -H read_json_by_line:true -T ${context.dataPath}/test_chunked_transfer.json http://${context.config.feHttpAddress}/api/${db}/${tableName16}/_stream_load" + log.info("test chunked transfer command: ${command}") + def process = command.execute() + code = process.waitFor() + out = process.text + json2pc = parseJson(out) + log.info("test chunked transfer result: ${out}".toString()) + + qt_sql_chunked_transfer_json "select * from ${tableName16} order by k1" } finally { sql """ DROP TABLE IF EXISTS ${tableName16} FORCE""" }