Handle Protocol::Server::Log in the RemoteQueryExecutor::finish()
Even when finish() is called, there can be no EndOfStream sent, so it is
100% correct to handle Log packages there.
W/o fix in RemoteQueryExecutor:
Code: 100, e.displayText() = DB::Exception: Unknown packet 10 from one of the following replicas: : While executing Remote (version 20.8.1.1) (from [::1]:56960) (in query: select * from remote('127.{2,3}', system.numbers) where number = 10 limit 1; ), Stack trace (when copying this message, always include the lines below):
0. Common/StackTrace.cpp:291: StackTrace::tryCapture() @ 0x28b80a
1. Common/StackTrace.cpp:256: StackTrace::StackTrace() @ 0x28b6ab
2. Common/Exception.cpp:42: DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) @ 0x2481ba
3. Common/Exception.h:28: DB::Exception::Exception<>() @ 0x334d48
4. DataStreams/RemoteQueryExecutor.cpp:288: DB::RemoteQueryExecutor::finish() @ 0x330314
5. Processors/Sources/RemoteSource.cpp:46: DB::RemoteSource::generate() @ 0x6fce5
2020-08-17 18:38:56 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2020-08-17 19:49:04 +00:00
|
|
|
# level should be 'trace', otherwise it will not trigger the issue
|
Handle Protocol::Server::Log in the RemoteQueryExecutor::finish()
Even when finish() is called, there can be no EndOfStream sent, so it is
100% correct to handle Log packages there.
W/o fix in RemoteQueryExecutor:
Code: 100, e.displayText() = DB::Exception: Unknown packet 10 from one of the following replicas: : While executing Remote (version 20.8.1.1) (from [::1]:56960) (in query: select * from remote('127.{2,3}', system.numbers) where number = 10 limit 1; ), Stack trace (when copying this message, always include the lines below):
0. Common/StackTrace.cpp:291: StackTrace::tryCapture() @ 0x28b80a
1. Common/StackTrace.cpp:256: StackTrace::StackTrace() @ 0x28b6ab
2. Common/Exception.cpp:42: DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) @ 0x2481ba
3. Common/Exception.h:28: DB::Exception::Exception<>() @ 0x334d48
4. DataStreams/RemoteQueryExecutor.cpp:288: DB::RemoteQueryExecutor::finish() @ 0x330314
5. Processors/Sources/RemoteSource.cpp:46: DB::RemoteSource::generate() @ 0x6fce5
2020-08-17 18:38:56 +00:00
|
|
|
CLICKHOUSE_CLIENT_SERVER_LOGS_LEVEL=trace
|
2020-08-17 19:49:04 +00:00
|
|
|
|
Handle Protocol::Server::Log in the RemoteQueryExecutor::finish()
Even when finish() is called, there can be no EndOfStream sent, so it is
100% correct to handle Log packages there.
W/o fix in RemoteQueryExecutor:
Code: 100, e.displayText() = DB::Exception: Unknown packet 10 from one of the following replicas: : While executing Remote (version 20.8.1.1) (from [::1]:56960) (in query: select * from remote('127.{2,3}', system.numbers) where number = 10 limit 1; ), Stack trace (when copying this message, always include the lines below):
0. Common/StackTrace.cpp:291: StackTrace::tryCapture() @ 0x28b80a
1. Common/StackTrace.cpp:256: StackTrace::StackTrace() @ 0x28b6ab
2. Common/Exception.cpp:42: DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) @ 0x2481ba
3. Common/Exception.h:28: DB::Exception::Exception<>() @ 0x334d48
4. DataStreams/RemoteQueryExecutor.cpp:288: DB::RemoteQueryExecutor::finish() @ 0x330314
5. Processors/Sources/RemoteSource.cpp:46: DB::RemoteSource::generate() @ 0x6fce5
2020-08-17 18:38:56 +00:00
|
|
|
CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
2020-12-28 11:46:53 +00:00
|
|
|
# shellcheck source=../shell_config.sh
|
Handle Protocol::Server::Log in the RemoteQueryExecutor::finish()
Even when finish() is called, there can be no EndOfStream sent, so it is
100% correct to handle Log packages there.
W/o fix in RemoteQueryExecutor:
Code: 100, e.displayText() = DB::Exception: Unknown packet 10 from one of the following replicas: : While executing Remote (version 20.8.1.1) (from [::1]:56960) (in query: select * from remote('127.{2,3}', system.numbers) where number = 10 limit 1; ), Stack trace (when copying this message, always include the lines below):
0. Common/StackTrace.cpp:291: StackTrace::tryCapture() @ 0x28b80a
1. Common/StackTrace.cpp:256: StackTrace::StackTrace() @ 0x28b6ab
2. Common/Exception.cpp:42: DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int) @ 0x2481ba
3. Common/Exception.h:28: DB::Exception::Exception<>() @ 0x334d48
4. DataStreams/RemoteQueryExecutor.cpp:288: DB::RemoteQueryExecutor::finish() @ 0x330314
5. Processors/Sources/RemoteSource.cpp:46: DB::RemoteSource::generate() @ 0x6fce5
2020-08-17 18:38:56 +00:00
|
|
|
. "$CURDIR"/../shell_config.sh
|
|
|
|
|
|
|
|
# triggered not for the first query
|
2020-08-17 19:49:04 +00:00
|
|
|
for _ in {1..20}; do
|
|
|
|
echo "select * from remote('127.{2,3}', system.numbers) where number = 10 limit 1;"
|
|
|
|
done | ${CLICKHOUSE_CLIENT} -n 2>/dev/null
|