mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-10 09:32:06 +00:00
Merge branch 'master' into disable-zero-copy-replication
This commit is contained in:
commit
bada9ebefa
@ -1,4 +1,4 @@
|
|||||||
[![ClickHouse — open source distributed column-oriented DBMS](https://github.com/ClickHouse/ClickHouse/raw/master/website/images/logo-400x240.png)](https://clickhouse.com)
|
[![ClickHouse — open source distributed column-oriented DBMS](https://github.com/ClickHouse/clickhouse-presentations/raw/master/images/logo-400x240.png)](https://clickhouse.com)
|
||||||
|
|
||||||
ClickHouse® is an open-source column-oriented database management system that allows generating analytical data reports in real-time.
|
ClickHouse® is an open-source column-oriented database management system that allows generating analytical data reports in real-time.
|
||||||
|
|
||||||
|
@ -18,6 +18,14 @@ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}")
|
|||||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}")
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}")
|
||||||
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}")
|
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}")
|
||||||
|
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=bfd")
|
||||||
|
set (CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=bfd")
|
||||||
|
|
||||||
|
# Currently, lld does not work with the error:
|
||||||
|
# ld.lld: error: section size decrease is too large
|
||||||
|
# But GNU BinUtils work.
|
||||||
|
set (LINKER_NAME "riscv64-linux-gnu-ld.bfd" CACHE STRING "Linker name" FORCE)
|
||||||
|
|
||||||
set (HAS_PRE_1970_EXITCODE "0" CACHE STRING "Result from TRY_RUN" FORCE)
|
set (HAS_PRE_1970_EXITCODE "0" CACHE STRING "Result from TRY_RUN" FORCE)
|
||||||
set (HAS_PRE_1970_EXITCODE__TRYRUN_OUTPUT "" CACHE STRING "Output from TRY_RUN" FORCE)
|
set (HAS_PRE_1970_EXITCODE__TRYRUN_OUTPUT "" CACHE STRING "Output from TRY_RUN" FORCE)
|
||||||
|
|
||||||
|
@ -41,6 +41,9 @@ RUN add-apt-repository ppa:ubuntu-toolchain-r/test --yes \
|
|||||||
&& apt-get install gcc-11 g++-11 --yes \
|
&& apt-get install gcc-11 g++-11 --yes \
|
||||||
&& apt-get clean
|
&& apt-get clean
|
||||||
|
|
||||||
|
# A cross-linker for RISC-V 64 (we need it, because LLVM's LLD does not work):
|
||||||
|
RUN apt-get install binutils-riscv64-linux-gnu
|
||||||
|
|
||||||
# Architecture of the image when BuildKit/buildx is used
|
# Architecture of the image when BuildKit/buildx is used
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
ARG NFPM_VERSION=2.16.0
|
ARG NFPM_VERSION=2.16.0
|
||||||
|
@ -65,12 +65,13 @@ public:
|
|||||||
bool randomize_, size_t max_iterations_, double max_time_,
|
bool randomize_, size_t max_iterations_, double max_time_,
|
||||||
const String & json_path_, size_t confidence_,
|
const String & json_path_, size_t confidence_,
|
||||||
const String & query_id_, const String & query_to_execute_, bool continue_on_errors_,
|
const String & query_id_, const String & query_to_execute_, bool continue_on_errors_,
|
||||||
bool reconnect_, bool print_stacktrace_, const Settings & settings_)
|
bool reconnect_, bool display_client_side_time_, bool print_stacktrace_, const Settings & settings_)
|
||||||
:
|
:
|
||||||
round_robin(round_robin_), concurrency(concurrency_), delay(delay_), queue(concurrency), randomize(randomize_),
|
round_robin(round_robin_), concurrency(concurrency_), delay(delay_), queue(concurrency), randomize(randomize_),
|
||||||
cumulative(cumulative_), max_iterations(max_iterations_), max_time(max_time_),
|
cumulative(cumulative_), max_iterations(max_iterations_), max_time(max_time_),
|
||||||
json_path(json_path_), confidence(confidence_), query_id(query_id_),
|
json_path(json_path_), confidence(confidence_), query_id(query_id_),
|
||||||
query_to_execute(query_to_execute_), continue_on_errors(continue_on_errors_), reconnect(reconnect_),
|
query_to_execute(query_to_execute_), continue_on_errors(continue_on_errors_), reconnect(reconnect_),
|
||||||
|
display_client_side_time(display_client_side_time_),
|
||||||
print_stacktrace(print_stacktrace_), settings(settings_),
|
print_stacktrace(print_stacktrace_), settings(settings_),
|
||||||
shared_context(Context::createShared()), global_context(Context::createGlobal(shared_context.get())),
|
shared_context(Context::createShared()), global_context(Context::createGlobal(shared_context.get())),
|
||||||
pool(concurrency)
|
pool(concurrency)
|
||||||
@ -166,6 +167,7 @@ private:
|
|||||||
String query_to_execute;
|
String query_to_execute;
|
||||||
bool continue_on_errors;
|
bool continue_on_errors;
|
||||||
bool reconnect;
|
bool reconnect;
|
||||||
|
bool display_client_side_time;
|
||||||
bool print_stacktrace;
|
bool print_stacktrace;
|
||||||
const Settings & settings;
|
const Settings & settings;
|
||||||
SharedContextHolder shared_context;
|
SharedContextHolder shared_context;
|
||||||
@ -408,8 +410,8 @@ private:
|
|||||||
true /*check embedded stack trace*/) << std::endl;
|
true /*check embedded stack trace*/) << std::endl;
|
||||||
|
|
||||||
size_t info_index = round_robin ? 0 : connection_index;
|
size_t info_index = round_robin ? 0 : connection_index;
|
||||||
comparison_info_per_interval[info_index]->errors++;
|
++comparison_info_per_interval[info_index]->errors;
|
||||||
comparison_info_total[info_index]->errors++;
|
++comparison_info_total[info_index]->errors;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Count failed queries toward executed, so that we'd reach
|
// Count failed queries toward executed, so that we'd reach
|
||||||
@ -443,7 +445,9 @@ private:
|
|||||||
|
|
||||||
executor.finish();
|
executor.finish();
|
||||||
|
|
||||||
double seconds = watch.elapsedSeconds();
|
double seconds = (display_client_side_time || progress.elapsed_ns == 0)
|
||||||
|
? watch.elapsedSeconds()
|
||||||
|
: progress.elapsed_ns / 1e9;
|
||||||
|
|
||||||
std::lock_guard lock(mutex);
|
std::lock_guard lock(mutex);
|
||||||
|
|
||||||
@ -630,22 +634,23 @@ int mainEntryClickHouseBenchmark(int argc, char ** argv)
|
|||||||
("stage", value<std::string>()->default_value("complete"), "request query processing up to specified stage: complete,fetch_columns,with_mergeable_state,with_mergeable_state_after_aggregation,with_mergeable_state_after_aggregation_and_limit")
|
("stage", value<std::string>()->default_value("complete"), "request query processing up to specified stage: complete,fetch_columns,with_mergeable_state,with_mergeable_state_after_aggregation,with_mergeable_state_after_aggregation_and_limit")
|
||||||
("iterations,i", value<size_t>()->default_value(0), "amount of queries to be executed")
|
("iterations,i", value<size_t>()->default_value(0), "amount of queries to be executed")
|
||||||
("timelimit,t", value<double>()->default_value(0.), "stop launch of queries after specified time limit")
|
("timelimit,t", value<double>()->default_value(0.), "stop launch of queries after specified time limit")
|
||||||
("randomize,r", value<bool>()->default_value(false), "randomize order of execution")
|
("randomize,r", "randomize order of execution")
|
||||||
("json", value<std::string>()->default_value(""), "write final report to specified file in JSON format")
|
("json", value<std::string>()->default_value(""), "write final report to specified file in JSON format")
|
||||||
("host,h", value<Strings>()->multitoken(), "list of hosts")
|
("host,h", value<Strings>()->multitoken(), "list of hosts")
|
||||||
("port", value<Ports>()->multitoken(), "list of ports")
|
("port", value<Ports>()->multitoken(), "list of ports")
|
||||||
("roundrobin", "Instead of comparing queries for different --host/--port just pick one random --host/--port for every query and send query to it.")
|
("roundrobin", "Instead of comparing queries for different --host/--port just pick one random --host/--port for every query and send query to it.")
|
||||||
("cumulative", "prints cumulative data instead of data per interval")
|
("cumulative", "prints cumulative data instead of data per interval")
|
||||||
("secure,s", "Use TLS connection")
|
("secure,s", "Use TLS connection")
|
||||||
("user,u", value<std::string>()->default_value(env_user_str.value_or("default")), "")
|
("user,u", value<std::string>()->default_value(env_user_str.value_or("default")), "")
|
||||||
("password", value<std::string>()->default_value(env_password_str.value_or("")), "")
|
("password", value<std::string>()->default_value(env_password_str.value_or("")), "")
|
||||||
("quota_key", value<std::string>()->default_value(env_quota_key_str.value_or("")), "")
|
("quota_key", value<std::string>()->default_value(env_quota_key_str.value_or("")), "")
|
||||||
("database", value<std::string>()->default_value("default"), "")
|
("database", value<std::string>()->default_value("default"), "")
|
||||||
("stacktrace", "print stack traces of exceptions")
|
("stacktrace", "print stack traces of exceptions")
|
||||||
("confidence", value<size_t>()->default_value(5), "set the level of confidence for T-test [0=80%, 1=90%, 2=95%, 3=98%, 4=99%, 5=99.5%(default)")
|
("confidence", value<size_t>()->default_value(5), "set the level of confidence for T-test [0=80%, 1=90%, 2=95%, 3=98%, 4=99%, 5=99.5%(default)")
|
||||||
("query_id", value<std::string>()->default_value(""), "")
|
("query_id", value<std::string>()->default_value(""), "")
|
||||||
("continue_on_errors", "continue testing even if a query fails")
|
("continue_on_errors", "continue testing even if a query fails")
|
||||||
("reconnect", "establish new connection for every query")
|
("reconnect", "establish new connection for every query")
|
||||||
|
("client-side-time", "display the time including network communication instead of server-side time; note that for server versions before 22.8 we always display client-side time")
|
||||||
;
|
;
|
||||||
|
|
||||||
Settings settings;
|
Settings settings;
|
||||||
@ -690,7 +695,7 @@ int mainEntryClickHouseBenchmark(int argc, char ** argv)
|
|||||||
options["password"].as<std::string>(),
|
options["password"].as<std::string>(),
|
||||||
options["quota_key"].as<std::string>(),
|
options["quota_key"].as<std::string>(),
|
||||||
options["stage"].as<std::string>(),
|
options["stage"].as<std::string>(),
|
||||||
options["randomize"].as<bool>(),
|
options.count("randomize"),
|
||||||
options["iterations"].as<size_t>(),
|
options["iterations"].as<size_t>(),
|
||||||
options["timelimit"].as<double>(),
|
options["timelimit"].as<double>(),
|
||||||
options["json"].as<std::string>(),
|
options["json"].as<std::string>(),
|
||||||
@ -699,6 +704,7 @@ int mainEntryClickHouseBenchmark(int argc, char ** argv)
|
|||||||
options["query"].as<std::string>(),
|
options["query"].as<std::string>(),
|
||||||
options.count("continue_on_errors"),
|
options.count("continue_on_errors"),
|
||||||
options.count("reconnect"),
|
options.count("reconnect"),
|
||||||
|
options.count("client-side-time"),
|
||||||
print_stacktrace,
|
print_stacktrace,
|
||||||
settings);
|
settings);
|
||||||
return benchmark.run();
|
return benchmark.run();
|
||||||
|
@ -167,8 +167,8 @@ private:
|
|||||||
validateFunctionArgumentTypes(*this, arguments,
|
validateFunctionArgumentTypes(*this, arguments,
|
||||||
FunctionArgumentDescriptors{
|
FunctionArgumentDescriptors{
|
||||||
{"mode", &isStringOrFixedString<IDataType>, isColumnConst, "encryption mode string"},
|
{"mode", &isStringOrFixedString<IDataType>, isColumnConst, "encryption mode string"},
|
||||||
{"input", &isStringOrFixedString<IDataType>, nullptr, "plaintext"},
|
{"input", &isStringOrFixedString<IDataType>, {}, "plaintext"},
|
||||||
{"key", &isStringOrFixedString<IDataType>, nullptr, "encryption key binary string"},
|
{"key", &isStringOrFixedString<IDataType>, {}, "encryption key binary string"},
|
||||||
},
|
},
|
||||||
optional_args
|
optional_args
|
||||||
);
|
);
|
||||||
@ -439,8 +439,8 @@ private:
|
|||||||
validateFunctionArgumentTypes(*this, arguments,
|
validateFunctionArgumentTypes(*this, arguments,
|
||||||
FunctionArgumentDescriptors{
|
FunctionArgumentDescriptors{
|
||||||
{"mode", &isStringOrFixedString<IDataType>, isColumnConst, "decryption mode string"},
|
{"mode", &isStringOrFixedString<IDataType>, isColumnConst, "decryption mode string"},
|
||||||
{"input", nullptr, nullptr, "ciphertext"},
|
{"input", &isStringOrFixedString<IDataType>, {}, "ciphertext"},
|
||||||
{"key", &isStringOrFixedString<IDataType>, nullptr, "decryption key binary string"},
|
{"key", &isStringOrFixedString<IDataType>, {}, "decryption key binary string"},
|
||||||
},
|
},
|
||||||
optional_args
|
optional_args
|
||||||
);
|
);
|
||||||
|
@ -33,6 +33,8 @@ def get_run_command(
|
|||||||
"docker run --cap-add=SYS_PTRACE "
|
"docker run --cap-add=SYS_PTRACE "
|
||||||
# a static link, don't use S3_URL or S3_DOWNLOAD
|
# a static link, don't use S3_URL or S3_DOWNLOAD
|
||||||
"-e S3_URL='https://s3.amazonaws.com/clickhouse-datasets' "
|
"-e S3_URL='https://s3.amazonaws.com/clickhouse-datasets' "
|
||||||
|
# For dmesg
|
||||||
|
"--cap-add syslog "
|
||||||
f"--volume={build_path}:/package_folder "
|
f"--volume={build_path}:/package_folder "
|
||||||
f"--volume={result_folder}:/test_output "
|
f"--volume={result_folder}:/test_output "
|
||||||
f"--volume={repo_tests_path}:/usr/share/clickhouse-test "
|
f"--volume={repo_tests_path}:/usr/share/clickhouse-test "
|
||||||
|
@ -1759,10 +1759,7 @@ def main(args):
|
|||||||
stop_time = time() + args.global_time_limit
|
stop_time = time() + args.global_time_limit
|
||||||
|
|
||||||
if args.zookeeper is None:
|
if args.zookeeper is None:
|
||||||
try:
|
args.zookeeper = True
|
||||||
args.zookeeper = int(extract_key(" --key zookeeper | grep . | wc -l")) > 0
|
|
||||||
except ValueError:
|
|
||||||
args.zookeeper = False
|
|
||||||
|
|
||||||
if args.shard is None:
|
if args.shard is None:
|
||||||
args.shard = bool(extract_key(' --key listen_host | grep -E "127.0.0.2|::"'))
|
args.shard = bool(extract_key(' --key listen_host | grep -E "127.0.0.2|::"'))
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
-- Tags: no-fasttest
|
||||||
|
SELECT decrypt('aes-128-gcm', [1024, 65535, NULL, NULL, 9223372036854775807, 1048576, NULL], 'text', 'key', 'IV'); -- { serverError 43 }
|
Loading…
Reference in New Issue
Block a user