This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new c24ff2ff81f [fix](upgrade) fix version check failure of window_funnel
when upgrading (#41542)
c24ff2ff81f is described below
commit c24ff2ff81f3b189c7ab7f8becad5ed83ab9b13a
Author: TengJianPing <[email protected]>
AuthorDate: Tue Oct 8 17:13:33 2024 +0800
[fix](upgrade) fix version check failure of window_funnel when upgrading
(#41542)
## Proposed changes
Issue Number: close #xxx
Fix fix version check failure of window_funnel when upgrading from 2.1.6
and higher version to latest branch 2.1.
```
02:49:13 F20240930 02:47:48.546983 7581 block.cpp:89] Check failed:
BeExecVersionManager::check_be_exec_version(be_exec_version)
02:49:13 *** Check failure stack trace: ***
02:49:13 @ 0x564640041856 google::LogMessage::SendToLog()
02:49:13 @ 0x56464003e2a0 google::LogMessage::Flush()
02:49:13 @ 0x564640042099
google::LogMessageFatal::~LogMessageFatal()
02:49:13 @ 0x56463922d106 doris::vectorized::Block::deserialize()
02:49:13 @ 0x5646390a82bf
doris::vectorized::WindowFunnelState<>::read()
02:49:13 @ 0x5646390a6889
doris::vectorized::IAggregateFunctionDataHelper<>::deserialize_and_merge()
02:49:13 @ 0x5646390acdc3
doris::vectorized::IAggregateFunctionHelper<>::deserialize_and_merge_from_column_range()
02:49:13 @ 0x56463fa77152
doris::pipeline::AggSinkLocalState::_merge_without_key()
02:49:13 @ 0x56463fa9d114
doris::pipeline::AggSinkLocalState::Executor<>::execute()
02:49:13 @ 0x56463fa78569
doris::pipeline::AggSinkOperatorX::sink()
02:49:13 @ 0x564640013296
doris::pipeline::PipelineXTask::execute()
02:49:13 @ 0x56464001d41c
doris::pipeline::TaskScheduler::_do_work()
02:49:13 @ 0x56463663e078 doris::ThreadPool::dispatch_thread()
02:49:13 @ 0x564636634901 doris::Thread::supervise_thread()
02:49:13 @ 0x7fb64cf58ac3 (unknown)
02:49:13 @ 0x7fb64cfea850 (unknown)
02:49:13 @ (nil) (unknown)
02:49:13 *** Query id: b0cd194940184766-961c310e833e92b1 ***
02:49:13 *** is nereids: 1 ***
02:49:13 *** tablet id: 0 ***
02:49:13 *** Aborted at 1727635668 (unix time) try "date -d @1727635668"
if you are using GNU date ***
02:49:13 *** Current BE git commitID: 653e315ba5 ***
02:49:13 *** SIGABRT unknown detail explain (@0x1648) received by PID
5704 (TID 7581 OR 0x7fb354a9a640) from PID 5704; stack trace: ***
02:49:13 0# doris::signal::(anonymous
namespace)::FailureSignalHandler(int, siginfo_t*, void*) at
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/common/signal_handler.h:421
02:49:13 1# 0x00007FB64CF06520 in /lib/x86_64-linux-gnu/libc.so.6
02:49:13 2# pthread_kill at ./nptl/pthread_kill.c:89
02:49:13 3# raise at ../sysdeps/posix/raise.c:27
02:49:13 4# abort at ./stdlib/abort.c:81
02:49:13 5# 0x000056464004C06D in
/mnt/hdd01/ci/compatibility-deploy/be/lib/doris_be
02:49:13 6# 0x000056464003E76A in
/mnt/hdd01/ci/compatibility-deploy/be/lib/doris_be
02:49:13 7# google::LogMessage::SendToLog() in
/mnt/hdd01/ci/compatibility-deploy/be/lib/doris_be
02:49:13 8# google::LogMessage::Flush() in
/mnt/hdd01/ci/compatibility-deploy/be/lib/doris_be
02:49:13 9# google::LogMessageFatal::~LogMessageFatal() in
/mnt/hdd01/ci/compatibility-deploy/be/lib/doris_be
02:49:13 10# doris::vectorized::Block::deserialize(doris::PBlock const&)
at /home/zcp/repo_center/doris_branch-2.1/doris/be/src/vec/core/block.cpp:113
02:49:13 11#
doris::vectorized::WindowFunnelState<(doris::vectorized::TypeIndex)14,
long>::read(doris::vectorized::BufferReadable&) at
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/vec/aggregate_functions/aggregate_function_window_funnel.h:363
02:49:13 12#
doris::vectorized::IAggregateFunctionDataHelper<doris::vectorized::WindowFunnelState<(doris::vectorized::TypeIndex)14,
long>,
doris::vectorized::AggregateFunctionWindowFunnel<(doris::vectorized::TypeIndex)14,
long> >::deserialize_and_merge(char*, char*,
doris::vectorized::BufferReadable&, doris::vectorized::Arena*) const at
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/vec/aggregate_functions/aggregate_function.h:517
02:49:13 13#
doris::vectorized::IAggregateFunctionHelper<doris::vectorized::AggregateFunctionNullVariadicInline<doris::vectorized::AggregateFunctionWindowFunnel<(doris::vectorized::TypeIndex)14,
long>, false> >::deserialize_and_merge_from_column_range(char*,
doris::vectorized::IColumn const&, unsigned long, unsigned long,
doris::vectorized::Arena*) const at
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/vec/aggregate_functions/aggregate_function.h:465
02:49:13 14#
doris::pipeline::AggSinkLocalState::_merge_without_key(doris::vectorized::Block*)
at
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/pipeline/exec/aggregation_sink_operator.cpp:389
02:49:13 15# doris::pipeline::AggSinkLocalState::Executor<true,
true>::execute(doris::pipeline::AggSinkLocalState*, doris::vectorized::Block*)
at
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/pipeline/exec/aggregation_sink_operator.h:73
02:49:13 16#
doris::pipeline::AggSinkOperatorX::sink(doris::RuntimeState*,
doris::vectorized::Block*, bool) at
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/pipeline/exec/aggregation_sink_operator.cpp:744
02:49:13 17# doris::pipeline::PipelineXTask::execute(bool*) at
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/pipeline/pipeline_x/pipeline_x_task.cpp:332
02:49:13 18# doris::pipeline::TaskScheduler::_do_work(unsigned long) at
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/pipeline/task_scheduler.cpp:347
02:49:13 19# doris::ThreadPool::dispatch_thread() in
/mnt/hdd01/ci/compatibility-deploy/be/lib/doris_be
02:49:13 20# doris::Thread::supervise_thread(void*) at
/home/zcp/repo_center/doris_branch-2.1/doris/be/src/util/thread.cpp:499
02:49:13 21# start_thread at ./nptl/pthread_create.c:442
02:49:13 22# 0x00007FB64CFEA850 at
../sysdeps/unix/sysv/linux/x86_64/clone3.S:83
02:49:13 [2024-09-30 02:49:13,147 __main__:796] [INFO]: 172.20.50.73 last
coredump sql: 2024-09-30 02:48:18,328 [query] Query
b0cd194940184766-961c310e833e92b1 1 times with new query id:
2e0e00de0e7548dd-95f9abc9d8d11c3a
```
---
.../vec/aggregate_functions/aggregate_function_window_funnel.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/be/src/vec/aggregate_functions/aggregate_function_window_funnel.h
b/be/src/vec/aggregate_functions/aggregate_function_window_funnel.h
index e6697968403..0b6e2cbabcd 100644
--- a/be/src/vec/aggregate_functions/aggregate_function_window_funnel.h
+++ b/be/src/vec/aggregate_functions/aggregate_function_window_funnel.h
@@ -81,6 +81,7 @@ struct WindowFunnelState {
DateV2Value<DateTimeV2ValueType>,
VecDateTimeValue>;
int event_count = 0;
int64_t window;
+ int version {};
bool enable_mode;
WindowFunnelMode window_funnel_mode;
mutable vectorized::MutableBlock mutable_block;
@@ -97,8 +98,9 @@ struct WindowFunnelState {
sort_description[0].direction = 1;
sort_description[0].nulls_direction = -1;
}
- WindowFunnelState(int arg_event_count) : WindowFunnelState() {
+ WindowFunnelState(int arg_event_count, int arg_version) :
WindowFunnelState() {
event_count = arg_event_count;
+ version = arg_version;
event_columns_datas.resize(event_count);
auto timestamp_column = ColumnVector<NativeType>::create();
@@ -308,8 +310,7 @@ struct WindowFunnelState {
std::string buff;
Block block = mutable_block.to_block();
status = block.serialize(
- BeExecVersionManager::get_newest_version(), &pblock,
&uncompressed_bytes,
- &compressed_bytes,
+ version, &pblock, &uncompressed_bytes, &compressed_bytes,
segment_v2::CompressionTypePB::ZSTD); // ZSTD for better
compression ratio
block.clear_column_data();
if (!status.ok()) {
@@ -374,7 +375,7 @@ public:
void create(AggregateDataPtr __restrict place) const override {
auto data = new (place) WindowFunnelState<TYPE_INDEX, NativeType>(
- IAggregateFunction::get_argument_types().size() - 3);
+ IAggregateFunction::get_argument_types().size() - 3, version);
/// support window funnel mode from 2.0. See
`BeExecVersionManager::max_be_exec_version`
data->enable_mode = version >= 3;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]