Skip to main content

· One min read

背景

mvnw 编译flink,需要使用国内源,否则非常慢

描述

## 指定setting
./mvnw -Drat.skip=true -DskipTests=true package -s setting.xml

settring内容

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
   <id>aliyunmaven</id>
   <mirrorOf>*</mirrorOf>
   <name>阿里云公共仓库</name>
   <url>https://maven.aliyun.com/repository/public</url>
</mirror>

</mirrors>
<profiles>
<profile>
<id>securecentral</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<!--Override the repository (and pluginRepository) "central" from the
Maven Super POM -->
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>

相关阅读

· 5 min read

背景

学习java的类加载内容,了解java类加载是加载什么内容? 是加载*.class文件,还是加载*.java.或者其实文件格式不重要,classjava都可以

demo of classloader

demo地址

the same type

相关阅读

4.3.4 When Reference Types Are the Same
Two reference types are the same compile-time type if they have the same binary
name (§13.1) and their type arguments, if any, are the same, applying this definition
recursively.
When two reference types are the same, they are sometimes said to be the same
class or the same interface.
At run time, several reference types with the same binary name may be loaded
simultaneously by different class loaders. These types may or may not represent
the same type declaration. Even if two such types do represent the same type
declaration, they are considered distinct.
Two reference types are the same run-time type if:
• They are both class or both interface types, are defined by the same class loader,
and have the same binary name (§13.1), in which case they are sometimes said
to be the same run-time class or the same run-time interface.
• They are both array types, and their component types are the same run-time type
(§10 (Arrays)).
Thread 2 "java" hit Breakpoint 5, SystemDictionary::resolve_class_from_stream (st=0x7ffff531ee40, class_name=0x7ffff02c6728, class_loader=..., cl_info=..., __the_thread__=0x7ffff002a690)
at /home/dai/jdk/src/hotspot/share/classfile/systemDictionary.cpp:865
865 HandleMark hm(THREAD);
(gdb) p class_name->print()
Symbol: 'A' count 65535$27 = void
(gdb) bt
#0 SystemDictionary::resolve_class_from_stream (st=0x7ffff531ee40, class_name=0x7ffff02c6728, class_loader=..., cl_info=..., __the_thread__=0x7ffff002a690)
at /home/dai/jdk/src/hotspot/share/classfile/systemDictionary.cpp:865
#1 0x00007ffff69b9c32 in SystemDictionary::resolve_from_stream (st=0x7ffff531ee40, class_name=0x7ffff02c6728, class_loader=..., cl_info=..., __the_thread__=0x7ffff002a690)
at /home/dai/jdk/src/hotspot/share/classfile/systemDictionary.cpp:929
#2 0x00007ffff62f1cd8 in jvm_define_class_common (name=0x7ffff531f030 "A", loader=0x7ffff531f5a0, buf=0x7ffff04b1b40 "\312\376\272\276", len=176, pd=0x7ffff531f578,
source=0x7ffff71430ee "__JVM_DefineClass__", __the_thread__=0x7ffff002a690) at /home/dai/jdk/src/hotspot/share/prims/jvm.cpp:912
#3 0x00007ffff62f29b1 in JVM_DefineClassWithSource (env=0x7ffff002aa90, name=0x7ffff531f030 "A", loader=0x7ffff531f5a0, buf=0x7ffff04b1b40 "\312\376\272\276", len=176, pd=0x7ffff531f578, source=0x0)
at /home/dai/jdk/src/hotspot/share/prims/jvm.cpp:1079
#4 0x00007ffff51e14f7 in Java_java_lang_ClassLoader_defineClass1 (env=0x7ffff002aa90, cls=0x7ffff531f560, loader=0x7ffff531f5a0, name=0x7ffff531f598, data=0x7ffff531f590, offset=0, length=176,
pd=0x7ffff531f578, source=0x0) at /home/dai/jdk/src/java.base/share/native/libjava/ClassLoader.c:139
#5 0x00007fffe854588e in ?? ()
#6 0xffffffff000000b0 in ?? ()
#7 0x00007ffff531f578 in ?? ()
#8 0x0000000000000000 in ?? ()

查找加载的内容

JVM_ENTRY(jclass, JVM_FindLoadedClass(JNIEnv *env, jobject loader, jstring name))
ResourceMark rm(THREAD);

Handle h_name (THREAD, JNIHandles::resolve_non_null(name));
char* str = java_lang_String::as_utf8_string(h_name());

// Sanity check, don't expect null
if (str == nullptr) return nullptr;

// Internalize the string, converting '.' to '/' in string.
char* p = (char*)str;
while (*p != '\0') {
if (*p == '.') {
*p = '/';
}
p++;
}

const int str_len = (int)(p - str);
if (str_len > Symbol::max_length()) {
// It's impossible to create this class; the name cannot fit
// into the constant pool.
return nullptr;
}
TempNewSymbol klass_name = SymbolTable::new_symbol(str, str_len);

// Security Note:
// The Java level wrapper will perform the necessary security check allowing
// us to pass the null as the initiating class loader.
Handle h_loader(THREAD, JNIHandles::resolve(loader));
Klass* k = SystemDictionary::find_instance_or_array_klass(THREAD, klass_name,
h_loader,
Handle());
#if INCLUDE_CDS
if (k == nullptr) {
// If the class is not already loaded, try to see if it's in the shared
// archive for the current classloader (h_loader).
k = SystemDictionaryShared::find_or_load_shared_class(klass_name, h_loader, CHECK_NULL);
}
#endif
return (k == nullptr) ? nullptr :
(jclass) JNIHandles::make_local(THREAD, k->java_mirror());
JVM_END
// Update class loader data dictionary - done after check_constraint and add_to_hierarchy
// have been called.
void SystemDictionary::update_dictionary(JavaThread* current,
InstanceKlass* k,
ClassLoaderData* loader_data) {
MonitorLocker mu1(SystemDictionary_lock);

// Make a new dictionary entry.
Symbol* name = k->name();
Dictionary* dictionary = loader_data->dictionary();
InstanceKlass* sd_check = dictionary->find_class(current, name);
if (sd_check == nullptr) {
dictionary->add_klass(current, name, k);
}
mu1.notify_all();
}

查找过程:

InstanceKlass* SystemDictionary::find_instance_klass(Thread* current,
Symbol* class_name,
Handle class_loader,
Handle protection_domain) {

// The result of this call should be consistent with the result
// of the call to resolve_instance_class_or_null().
// See evaluation 6790209 and 4474172 for more details.
oop class_loader_oop = java_lang_ClassLoader::non_reflection_class_loader(class_loader());
ClassLoaderData* loader_data = ClassLoaderData::class_loader_data_or_null(class_loader_oop);

if (loader_data == NULL) {
// If the ClassLoaderData has not been setup,
// then the class loader has no entries in the dictionary.
return NULL;
}

Dictionary* dictionary = loader_data->dictionary();
return dictionary->find(current, class_name, protection_domain);
}

查询的堆栈:

Thread 2 "java" hit Breakpoint 4, Dictionary::find (this=0x7ffff0556dd0, current=0x7ffff002a690, name=0x7ffff02c6728, protection_domain=...) at /home/dai/jdk/src/hotspot/share/classfile/dictionary.cpp:298
298 NoSafepointVerifier nsv;
Symbol: 'A' count 65535$89 = void
(gdb) bt
#0 Dictionary::find (this=0x7ffff0556dd0, current=0x7ffff002a690, name=0x7ffff02c6728, protection_domain=...) at /home/dai/jdk/src/hotspot/share/classfile/dictionary.cpp:298
#1 0x00007ffff69b9384 in SystemDictionary::find_instance_klass (current=0x7ffff002a690, class_name=0x7ffff02c6728, class_loader=..., protection_domain=...)
at /home/dai/jdk/src/hotspot/share/classfile/systemDictionary.cpp:765
#2 0x00007ffff69b94dc in SystemDictionary::find_instance_or_array_klass (current=0x7ffff002a690, class_name=0x7ffff02c6728, class_loader=..., protection_domain=...)
at /home/dai/jdk/src/hotspot/share/classfile/systemDictionary.cpp:793
#3 0x00007ffff62f2bba in JVM_FindLoadedClass (env=0x7ffff002aa90, loader=0x7ffff531f410, name=0x7ffff531f408) at /home/dai/jdk/src/hotspot/share/prims/jvm.cpp:1112
#4 0x00007ffff51e1c7c in Java_java_lang_ClassLoader_findLoadedClass0 (env=0x7ffff002aa90, loader=0x7ffff531f410, name=0x7ffff531f408) at /home/dai/jdk/src/java.base/share/native/libjava/ClassLoader.c:327
#5 0x00007fffe854588e in ?? ()
#6 0x0000000000000000 in ?? ()
(gdb) c

dict 维护

inline ClassLoaderData* ClassLoaderData::class_loader_data_or_null(oop loader) {
if (loader == NULL) {
return ClassLoaderData::the_null_class_loader_data();
}
return java_lang_ClassLoader::loader_data_acquire(loader);
}

oop 转对象:

ClassLoaderData* java_lang_ClassLoader::loader_data_acquire(oop loader) {
assert(loader != NULL, "loader must not be NULL");
assert(oopDesc::is_oop(loader), "loader must be oop");
return Atomic::load_acquire(loader->field_addr<ClassLoaderData*>(_loader_data_offset));
}

相关阅读

· 2 min read

jsr310 描述的是时间的类

date

描述的是时间戳,也就是在任何一个地方都是这个时间

timezonedatetime

描述的是时区对应的时间,这个主要是描述的是时区的时间.时区有一个不同的点在冬令时和夏令时在同一个时间会突然改变,所以时间突然改变就不要用timezonedatetime

localdatetime

描述的是一个固定时间,比如2021-11-11 ,这个时间是没法确定时间戳的 因为2021-11-11 可以表示北京的11月11号,也可以表示美国的11月11号,也可以表示英国的11月11号,所以通过localdatetime是很难应用的

offsetdatetme

描述的是一个偏移的时区,可以转换成时间戳,和timezonedatetime相比,他的好处是固定偏移,不会有冬令时和夏令时这些突然的变更

相关阅读

· 12 min read
Thread 3 "HTTPHandler" hit Breakpoint 2, DB::buildPushingToViewsChain (storage=..., metadata_snapshot=..., context=..., query_ptr=..., no_destination=false, thread_status_holder=..., running_group=..., elapsed_counter_ms=0x0, async_insert=false, live_view_header=...) at /ssd/ClickHouse/src/Processors/Transforms/buildPushingToViewsChain.cpp:307
307 if (lock == nullptr)
(gdb) bt
#0 DB::buildPushingToViewsChain (storage=..., metadata_snapshot=..., context=..., query_ptr=..., no_destination=false, thread_status_holder=..., running_group=..., elapsed_counter_ms=0x0, async_insert=false, live_view_header=...)
at /ssd/ClickHouse/src/Processors/Transforms/buildPushingToViewsChain.cpp:307
#1 0x000000001cc8a4e0 in DB::InterpreterInsertQuery::buildSink (this=0x7ffe5a9e63f0, table=..., metadata_snapshot=..., thread_status_holder=..., running_group=..., elapsed_counter_ms=0x0) at /ssd/ClickHouse/src/Interpreters/InterpreterInsertQuery.cpp:311
#2 0x000000001cc8cbdb in DB::InterpreterInsertQuery::execute (this=0x7ffe5a9e63f0) at /ssd/ClickHouse/src/Interpreters/InterpreterInsertQuery.cpp:554
#3 0x000000001d2d9d4a in DB::executeQueryImpl (begin=0x7ffe5aa40c00 "insert into push.site_sku_user_log_distributed (site_sku , site ,sku_id ,user_id , is_in_cart ) values \r\n( 'us_1' , 'us' , '1' , '2' , '1' )", '\245' <repeats 57 times>...,
end=0x7ffe5aa40c8f '\245' <repeats 113 times>, 'Z' <repeats 87 times>..., context=..., internal=false, stage=DB::QueryProcessingStage::Complete, istr=0x7ffe5a8fc020) at /ssd/ClickHouse/src/Interpreters/executeQuery.cpp:1096
#4 0x000000001d2dbdd1 in DB::executeQuery(DB::ReadBuffer&, DB::WriteBuffer&, bool, std::__1::shared_ptr<DB::Context>, std::__1::function<void (DB::QueryResultDetails const&)>, std::__1::optional<DB::FormatSettings> const&, std::__1::function<void (DB::IOutputFormat&)>) (istr=..., ostr=..., allow_into_outfile=false, context=..., set_result_details=..., output_format_settings=..., handle_exception_in_output_format=...) at /ssd/ClickHouse/src/Interpreters/executeQuery.cpp:1351
#5 0x000000001e7b8f91 in DB::HTTPHandler::processQuery (this=0x7ffe43e3ce80, request=..., params=..., response=..., used_output=..., query_scope=...) at /ssd/ClickHouse/src/Server/HTTPHandler.cpp:884
#6 0x000000001e7bbb67 in DB::HTTPHandler::handleRequest (this=0x7ffe43e3ce80, request=..., response=...) at /ssd/ClickHouse/src/Server/HTTPHandler.cpp:1078
#7 0x000000001e8644dc in DB::HTTPServerConnection::run (this=0x7ffe43e3cd40) at /ssd/ClickHouse/src/Server/HTTP/HTTPServerConnection.cpp:68
#8 0x000000002396f7d9 in Poco::Net::TCPServerConnection::start (this=0x7ffe43e3cd40) at /ssd/ClickHouse/base/poco/Net/src/TCPServerConnection.cpp:43
#9 0x000000002397001c in Poco::Net::TCPServerDispatcher::run (this=0x7ffe5a8c0f00) at /ssd/ClickHouse/base/poco/Net/src/TCPServerDispatcher.cpp:115
#10 0x0000000023b5ac14 in Poco::PooledThread::run (this=0x7ffff71cab80) at /ssd/ClickHouse/base/poco/Foundation/src/ThreadPool.cpp:188
#11 0x0000000023b579ba in Poco::(anonymous namespace)::RunnableHolder::run (this=0x7ffff70019c0) at /ssd/ClickHouse/base/poco/Foundation/src/Thread.cpp:45
#12 0x0000000023b566be in Poco::ThreadImpl::runnableEntry (pThread=0x7ffff71cabb8) at /ssd/ClickHouse/base/poco/Foundation/src/Thread_POSIX.cpp:335
#13 0x00007ffff7c94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#14 0x00007ffff7d26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

clickhouse 如何写入

### 删除表
drop table TT sync
### 建表语句
CREATE TABLE TT
(
`A` Int64,
`B` FixedString(10)
)

ENGINE = MergeTree
order by A
SETTINGS index_granularity = 2

#### 查询语句

select * from TT where A = 2

### 写入语句

insert into TT (A,B) values( 4 , 'dab2a')

clickhouse 写入

(gdb) bt
#0 DB::SerializationFixedString::serializeBinaryBulk (this=0x7ffff6388f58, column=..., ostr=..., offset=0, limit=1) at /ssd/ClickHouse/src/DataTypes/Serializations/SerializationFixedString.cpp:75
#1 0x000000001bb38562 in DB::ISerialization::serializeBinaryBulkWithMultipleStreams (this=0x7ffff6388f58, column=..., offset=0, limit=1, settings=...) at /ssd/ClickHouse/src/DataTypes/Serializations/ISerialization.cpp:114
#2 0x000000001e1632d4 in DB::(anonymous namespace)::writeColumnSingleGranule(DB::ColumnWithTypeAndName const&, std::__1::shared_ptr<DB::ISerialization const> const&, std::__1::function<DB::WriteBuffer* (DB::ISerialization::SubstreamPath const&)>, unsigned long, unsigned long) (column=..., serialization=..., stream_getter=..., from_row=0, number_of_rows=1) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:156
#3 0x000000001e1630f9 in DB::MergeTreeDataPartWriterCompact::writeDataBlock (this=0x7ffe42558800, block=..., granules=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:244
#4 0x000000001e162caf in DB::MergeTreeDataPartWriterCompact::writeDataBlockPrimaryIndexAndSkipIndices (this=0x7ffe42558800, block=..., granules_to_write=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:194
#5 0x000000001e16351e in DB::MergeTreeDataPartWriterCompact::fillDataChecksums (this=0x7ffe42558800, checksums=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:268
#6 0x000000001e1641ba in DB::MergeTreeDataPartWriterCompact::fillChecksums (this=0x7ffe42558800, checksums=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:430
#7 0x000000001e3ccfda in DB::MergedBlockOutputStream::finalizePartAsync (this=0x7ffed02cdfe0, new_part=..., sync=false, total_columns_list=0x0, additional_column_checksums=0x0) at /ssd/ClickHouse/src/Storages/MergeTree/MergedBlockOutputStream.cpp:151
#8 0x000000001e412cf6 in DB::MergeTreeDataWriter::writeTempPartImpl (this=0x7ffee55279a0, block_with_partition=..., metadata_snapshot=..., context=..., block_number=1, need_tmp_prefix=true) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataWriter.cpp:592
#9 0x000000001e40ffdd in DB::MergeTreeDataWriter::writeTempPart (this=0x7ffee55279a0, block=..., metadata_snapshot=..., context=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataWriter.cpp:385
#10 0x000000001e587b8c in DB::MergeTreeSink::consume (this=0x7ffe3d9dc098, chunk=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeSink.cpp:87
#11 0x000000001ef78c5e in DB::SinkToStorage::onConsume (this=0x7ffe3d9dc098, chunk=...) at /ssd/ClickHouse/src/Processors/Sinks/SinkToStorage.cpp:24
#12 0x000000001ee0a83f in DB::ExceptionKeepingTransform::work()::$_1::operator()() const (this=0x7ffed85e97c8) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:150
#13 0x000000001ee0a7f5 in std::__1::__invoke[abi:v15000]<DB::ExceptionKeepingTransform::work()::$_1&>(DB::ExceptionKeepingTransform::work()::$_1&) (__f=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:394
#14 0x000000001ee0a7d5 in std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ExceptionKeepingTransform::work()::$_1&>(DB::ExceptionKeepingTransform::work()::$_1&) (__args=...)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:479
#15 0x000000001ee0a7b5 in std::__1::__function::__default_alloc_func<DB::ExceptionKeepingTransform::work()::$_1, void ()>::operator()[abi:v15000]() (this=0x7ffed85e97c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:235
#16 0x000000001ee0a77d in std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<DB::ExceptionKeepingTransform::work()::$_1, void ()> >(std::__1::__function::__policy_storage const*) (__buf=0x7ffed85e97c8)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:716
#17 0x0000000013ac9556 in std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const (this=0x7ffed85e97c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:848
#18 0x0000000013ac8a35 in std::__1::function<void ()>::operator()() const (this=0x7ffed85e97c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:1187
#19 0x000000001ee0a076 in DB::runStep(std::__1::function<void ()>, DB::ThreadStatus*, std::__1::atomic<unsigned long>*) (step=..., thread_status=0x0, elapsed_ms=0x0) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:114
#20 0x000000001ee09abe in DB::ExceptionKeepingTransform::work (this=0x7ffe3d9dc098) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:150
#21 0x000000001e8f2ca3 in DB::executeJob (node=0x7ffed02d4800, read_progress_callback=0x7ffed0265140) at /ssd/ClickHouse/src/Processors/Executors/ExecutionThreadContext.cpp:47
#22 0x000000001e8f29e0 in DB::ExecutionThreadContext::executeTask (this=0x7ffed025b600) at /ssd/ClickHouse/src/Processors/Executors/ExecutionThreadContext.cpp:95
#23 0x000000001e8d7761 in DB::PipelineExecutor::executeStepImpl (this=0x7ffed85ea378, thread_num=0, yield_flag=0x0) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:273
#24 0x000000001e8d7a77 in DB::PipelineExecutor::executeSingleThread (this=0x7ffed85ea378, thread_num=0) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:239
#25 0x000000001e8d6771 in DB::PipelineExecutor::executeImpl (this=0x7ffed85ea378, num_threads=1, concurrency_control=true) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:399
#26 0x000000001e8d5d76 in DB::PipelineExecutor::execute (this=0x7ffed85ea378, num_threads=1, concurrency_control=true) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:111
#27 0x000000001e8d3daf in DB::CompletedPipelineExecutor::execute (this=0x7ffed85ea7e0) at /ssd/ClickHouse/src/Processors/Executors/CompletedPipelineExecutor.cpp:110
#28 0x000000001d2dcaa0 in DB::executeQuery(DB::ReadBuffer&, DB::WriteBuffer&, bool, std::__1::shared_ptr<DB::Context>, std::__1::function<void (DB::QueryResultDetails const&)>, std::__1::optional<DB::FormatSettings> const&, std::__1::function<void (DB::IOutputFormat&)>) (istr=..., ostr=..., allow_into_outfile=false, context=..., set_result_details=..., output_format_settings=..., handle_exception_in_output_format=...) at /ssd/ClickHouse/src/Interpreters/executeQuery.cpp:1448
#29 0x000000001e7b8f91 in DB::HTTPHandler::processQuery (this=0x7ffe5e146d20, request=..., params=..., response=..., used_output=..., query_scope=...) at /ssd/ClickHouse/src/Server/HTTPHandler.cpp:884
#30 0x000000001e7bbb67 in DB::HTTPHandler::handleRequest (this=0x7ffe5e146d20, request=..., response=...) at /ssd/ClickHouse/src/Server/HTTPHandler.cpp:1078
#31 0x000000001e8644dc in DB::HTTPServerConnection::run (this=0x7ffe5e146be0) at /ssd/ClickHouse/src/Server/HTTP/HTTPServerConnection.cpp:68
#32 0x000000002396f7d9 in Poco::Net::TCPServerConnection::start (this=0x7ffe5e146be0) at /ssd/ClickHouse/base/poco/Net/src/TCPServerConnection.cpp:43
#33 0x000000002397001c in Poco::Net::TCPServerDispatcher::run (this=0x7ffe5e1a4f00) at /ssd/ClickHouse/base/poco/Net/src/TCPServerDispatcher.cpp:115
#34 0x0000000023b5ac14 in Poco::PooledThread::run (this=0x7ffff71cb080) at /ssd/ClickHouse/base/poco/Foundation/src/ThreadPool.cpp:188
#35 0x0000000023b579ba in Poco::(anonymous namespace)::RunnableHolder::run (this=0x7ffff70019e0) at /ssd/ClickHouse/base/poco/Foundation/src/Thread.cpp:45
#36 0x0000000023b566be in Poco::ThreadImpl::runnableEntry (pThread=0x7ffff71cb0b8) at /ssd/ClickHouse/base/poco/Foundation/src/Thread_POSIX.cpp:335
#37 0x00007ffff7c94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#38 0x00007ffff7d26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

打开bin文件

(gdb) bt
#0 DB::WriteBufferFromFile::WriteBufferFromFile (this=0x7ffece3419a0, file_name_=..., buf_size=1048576, flags=-1, throttler_=..., mode=438, existing_memory=0x0, alignment=0) at /ssd/ClickHouse/src/IO/WriteBufferFromFile.cpp:36
#1 0x000000001bc9c455 in std::__1::make_unique[abi:v15000]<DB::WriteBufferFromFile, std::__1::__fs::filesystem::path, unsigned long&, int&, std::__1::shared_ptr<DB::Throttler> const&>(std::__1::__fs::filesystem::path&&, unsigned long&, int&, std::__1::shared_ptr<DB::Throttler> const&) (__args=..., __args=..., __args=..., __args=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:714
#2 0x000000001bc94d7e in DB::DiskLocal::writeFile (this=0x7ffe5baec018, path=..., buf_size=1048576, mode=DB::WriteMode::Rewrite, settings=...) at /ssd/ClickHouse/src/Disks/DiskLocal.cpp:342
#3 0x000000001bcafb03 in DB::FakeDiskTransaction::writeFile (this=0x7ffe5427db88, path=..., buf_size=1048576, mode=DB::WriteMode::Rewrite, settings=...) at /ssd/ClickHouse/src/Disks/FakeDiskTransaction.h:69
#4 0x000000001df32dd9 in DB::DataPartStorageOnDiskFull::writeFile (this=0x7ffed4147918, name=..., buf_size=1048576, mode=DB::WriteMode::Rewrite, settings=...) at /ssd/ClickHouse/src/Storages/MergeTree/DataPartStorageOnDiskFull.cpp:132
#5 0x000000001df2fb93 in DB::IDataPartStorage::writeFile (this=0x7ffed4147918, name=..., buf_size=1048576, settings=...) at /ssd/ClickHouse/src/Storages/MergeTree/IDataPartStorage.h:285
#6 0x000000001e1618bd in DB::MergeTreeDataPartWriterCompact::MergeTreeDataPartWriterCompact (this=0x7ffe4e99d400, data_part_=..., columns_list_=..., metadata_snapshot_=..., indices_to_recalc_=..., marks_file_extension_=..., default_codec_=..., settings_=...,
index_granularity_=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:34
#7 0x000000001e151d10 in std::__1::make_unique[abi:v15000]<DB::MergeTreeDataPartWriterCompact, std::__1::shared_ptr<DB::IMergeTreeDataPart>, DB::NamesAndTypesList&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeIndex const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeIndex const> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::ICompressionCodec> const&, DB::MergeTreeWriterSettings const&, DB::MergeTreeIndexGranularity const&>(std::__1::shared_ptr<DB::IMergeTreeDataPart>&&, DB::NamesAndTypesList&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeIndex const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeIndex const> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::shared_ptr<DB::ICompressionCodec> const&, DB::MergeTreeWriterSettings const&, DB::MergeTreeIndexGranularity const&) (__args=..., __args=..., __args=..., __args=..., __args=..., __args=..., __args=..., __args=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:714
#8 0x000000001e14efe0 in DB::MergeTreeDataPartCompact::getWriter (this=0x7ffe7f742218, columns_list=..., metadata_snapshot=..., indices_to_recalc=..., default_codec_=..., writer_settings=..., computed_index_granularity=...)
at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartCompact.cpp:74
#9 0x000000001e3cc967 in DB::MergedBlockOutputStream::MergedBlockOutputStream (this=0x7ffe3ee65820, data_part=..., metadata_snapshot_=..., columns_list_=..., skip_indices=..., default_codec_=..., txn=..., reset_columns_=false, blocks_are_granules_size=false,
write_settings_=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergedBlockOutputStream.cpp:50
#10 0x000000001e416327 in std::__1::make_unique[abi:v15000]<DB::MergedBlockOutputStream, std::__1::shared_ptr<DB::IMergeTreeDataPart>&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, DB::NamesAndTypesList&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeIndex const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeIndex const> > >&, std::__1::shared_ptr<DB::ICompressionCodec>&, std::__1::shared_ptr<DB::MergeTreeTransaction>, bool, bool, DB::WriteSettings>(std::__1::shared_ptr<DB::IMergeTreeDataPart>&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, DB::NamesAndTypesList&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeIndex const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeIndex const> > >&, std::__1::shared_ptr<DB::ICompressionCodec>&, std::__1::shared_ptr<DB::MergeTreeTransaction>&&, bool&&, bool&&, DB::WriteSettings&&) (__args=..., __args=..., __args=..., __args=..., __args=..., __args=..., __args=..., __args=..., __args=...)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:714
#11 0x000000001e412851 in DB::MergeTreeDataWriter::writeTempPartImpl (this=0x7ffed1e681a0, block_with_partition=..., metadata_snapshot=..., context=..., block_number=2, need_tmp_prefix=true) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataWriter.cpp:567
#12 0x000000001e40ffdd in DB::MergeTreeDataWriter::writeTempPart (this=0x7ffed1e681a0, block=..., metadata_snapshot=..., context=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataWriter.cpp:385
#13 0x000000001e587b8c in DB::MergeTreeSink::consume (this=0x7ffe4e9ccc18, chunk=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeSink.cpp:87
#14 0x000000001ef78c5e in DB::SinkToStorage::onConsume (this=0x7ffe4e9ccc18, chunk=...) at /ssd/ClickHouse/src/Processors/Sinks/SinkToStorage.cpp:24
#15 0x000000001ee0a83f in DB::ExceptionKeepingTransform::work()::$_1::operator()() const (this=0x7ffed8dea7c8) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:150
#16 0x000000001ee0a7f5 in std::__1::__invoke[abi:v15000]<DB::ExceptionKeepingTransform::work()::$_1&>(DB::ExceptionKeepingTransform::work()::$_1&) (__f=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:394
#17 0x000000001ee0a7d5 in std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ExceptionKeepingTransform::work()::$_1&>(DB::ExceptionKeepingTransform::work()::$_1&) (__args=...)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:479
#18 0x000000001ee0a7b5 in std::__1::__function::__default_alloc_func<DB::ExceptionKeepingTransform::work()::$_1, void ()>::operator()[abi:v15000]() (this=0x7ffed8dea7c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:235
#19 0x000000001ee0a77d in std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<DB::ExceptionKeepingTransform::work()::$_1, void ()> >(std::__1::__function::__policy_storage const*) (__buf=0x7ffed8dea7c8)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:716
#20 0x0000000013ac9556 in std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const (this=0x7ffed8dea7c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:848
#21 0x0000000013ac8a35 in std::__1::function<void ()>::operator()() const (this=0x7ffed8dea7c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:1187
#22 0x000000001ee0a076 in DB::runStep(std::__1::function<void ()>, DB::ThreadStatus*, std::__1::atomic<unsigned long>*) (step=..., thread_status=0x0, elapsed_ms=0x0) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:114
#23 0x000000001ee09abe in DB::ExceptionKeepingTransform::work (this=0x7ffe4e9ccc18) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:150
#24 0x000000001e8f2ca3 in DB::executeJob (node=0x7ffed417e000, read_progress_callback=0x7ffed415d720) at /ssd/ClickHouse/src/Processors/Executors/ExecutionThreadContext.cpp:47
#25 0x000000001e8f29e0 in DB::ExecutionThreadContext::executeTask (this=0x7ffe32b49800) at /ssd/ClickHouse/src/Processors/Executors/ExecutionThreadContext.cpp:95
#26 0x000000001e8d7761 in DB::PipelineExecutor::executeStepImpl (this=0x7ffed8deb378, thread_num=0, yield_flag=0x0) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:273
#27 0x000000001e8d7a77 in DB::PipelineExecutor::executeSingleThread (this=0x7ffed8deb378, thread_num=0) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:239
#28 0x000000001e8d6771 in DB::PipelineExecutor::executeImpl (this=0x7ffed8deb378, num_threads=1, concurrency_control=true) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:399
#29 0x000000001e8d5d76 in DB::PipelineExecutor::execute (this=0x7ffed8deb378, num_threads=1, concurrency_control=true) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:111
#30 0x000000001e8d3daf in DB::CompletedPipelineExecutor::execute (this=0x7ffed8deb7e0) at /ssd/ClickHouse/src/Processors/Executors/CompletedPipelineExecutor.cpp:110
#31 0x000000001d2dcaa0 in DB::executeQuery(DB::ReadBuffer&, DB::WriteBuffer&, bool, std::__1::shared_ptr<DB::Context>, std::__1::function<void (DB::QueryResultDetails const&)>, std::__1::optional<DB::FormatSettings> const&, std::__1::function<void (DB::IOutputFormat&)>) (istr=..., ostr=..., allow_into_outfile=false, context=..., set_result_details=..., output_format_settings=..., handle_exception_in_output_format=...) at /ssd/ClickHouse/src/Interpreters/executeQuery.cpp:1448
#32 0x000000001e7b8f91 in DB::HTTPHandler::processQuery (this=0x7ffe46d00020, request=..., params=..., response=..., used_output=..., query_scope=...) at /ssd/ClickHouse/src/Server/HTTPHandler.cpp:884
#33 0x000000001e7bbb67 in DB::HTTPHandler::handleRequest (this=0x7ffe46d00020, request=..., response=...) at /ssd/ClickHouse/src/Server/HTTPHandler.cpp:1078
#34 0x000000001e8644dc in DB::HTTPServerConnection::run (this=0x7ffe46cffc60) at /ssd/ClickHouse/src/Server/HTTP/HTTPServerConnection.cpp:68
#35 0x000000002396f7d9 in Poco::Net::TCPServerConnection::start (this=0x7ffe46cffc60) at /ssd/ClickHouse/base/poco/Net/src/TCPServerConnection.cpp:43
#36 0x000000002397001c in Poco::Net::TCPServerDispatcher::run (this=0x7ffe4aaf4200) at /ssd/ClickHouse/base/poco/Net/src/TCPServerDispatcher.cpp:115
#37 0x0000000023b5ac14 in Poco::PooledThread::run (this=0x7ffff71cab80) at /ssd/ClickHouse/base/poco/Foundation/src/ThreadPool.cpp:188
--Type <RET> for more, q to quit, c to continue without paging--
#38 0x0000000023b579ba in Poco::(anonymous namespace)::RunnableHolder::run (this=0x7ffff70019c0) at /ssd/ClickHouse/base/poco/Foundation/src/Thread.cpp:45
#39 0x0000000023b566be in Poco::ThreadImpl::runnableEntry (pThread=0x7ffff71cabb8) at /ssd/ClickHouse/base/poco/Foundation/src/Thread_POSIX.cpp:335
#40 0x00007ffff7c94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#41 0x00007ffff7d26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

最后的打开文件路径:

Thread 4 "HTTPHandler" hit Breakpoint 5, __libc_open64 (file=0x7ffe5fcba960 "/var/lib/clickhouse/store/bc6/bc6c6256-174e-49ac-9b85-10b115b137c9/tmp_insert_all_4_4_0/data.cmrk3", oflag=524865) at ../sysdeps/unix/sysv/linux/open64.c:30
30 in ../sysdeps/unix/sysv/linux/open64.c
(gdb) bt
#0 __libc_open64 (file=0x7ffe5fcba960 "/var/lib/clickhouse/store/bc6/bc6c6256-174e-49ac-9b85-10b115b137c9/tmp_insert_all_4_4_0/data.cmrk3", oflag=524865) at ../sysdeps/unix/sysv/linux/open64.c:30
#1 0x0000000013cad0ea in DB::WriteBufferFromFile::WriteBufferFromFile (this=0x7ffe45912ca0, file_name_=..., buf_size=4096, flags=-1, throttler_=..., mode=438, existing_memory=0x0, alignment=0) at /ssd/ClickHouse/src/IO/WriteBufferFromFile.cpp:46
#2 0x000000001bc9c455 in std::__1::make_unique[abi:v15000]<DB::WriteBufferFromFile, std::__1::__fs::filesystem::path, unsigned long&, int&, std::__1::shared_ptr<DB::Throttler> const&>(std::__1::__fs::filesystem::path&&, unsigned long&, int&, std::__1::shared_ptr<DB::Throttler> const&) (__args=..., __args=..., __args=..., __args=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:714
#3 0x000000001bc94d7e in DB::DiskLocal::writeFile (this=0x7ffe9721e018, path=..., buf_size=4096, mode=DB::WriteMode::Rewrite, settings=...) at /ssd/ClickHouse/src/Disks/DiskLocal.cpp:342
#4 0x000000001bcafb03 in DB::FakeDiskTransaction::writeFile (this=0x7ffe8900b938, path=..., buf_size=4096, mode=DB::WriteMode::Rewrite, settings=...) at /ssd/ClickHouse/src/Disks/FakeDiskTransaction.h:69
#5 0x000000001df32dd9 in DB::DataPartStorageOnDiskFull::writeFile (this=0x7ffe8d71d418, name=..., buf_size=4096, mode=DB::WriteMode::Rewrite, settings=...) at /ssd/ClickHouse/src/Storages/MergeTree/DataPartStorageOnDiskFull.cpp:132
#6 0x000000001df2fb93 in DB::IDataPartStorage::writeFile (this=0x7ffe8d71d418, name=..., buf_size=4096, settings=...) at /ssd/ClickHouse/src/Storages/MergeTree/IDataPartStorage.h:285
#7 0x000000001e161a22 in DB::MergeTreeDataPartWriterCompact::MergeTreeDataPartWriterCompact (this=0x7ffe5fc70000, data_part_=..., columns_list_=..., metadata_snapshot_=..., indices_to_recalc_=..., marks_file_extension_=..., default_codec_=..., settings_=...,
index_granularity_=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:40
#8 0x000000001e151d10 in std::__1::make_unique[abi:v15000]<DB::MergeTreeDataPartWriterCompact, std::__1::shared_ptr<DB::IMergeTreeDataPart>, DB::NamesAndTypesList&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeIndex const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeIndex const> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::ICompressionCodec> const&, DB::MergeTreeWriterSettings const&, DB::MergeTreeIndexGranularity const&>(std::__1::shared_ptr<DB::IMergeTreeDataPart>&&, DB::NamesAndTypesList&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeIndex const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeIndex const> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::shared_ptr<DB::ICompressionCodec> const&, DB::MergeTreeWriterSettings const&, DB::MergeTreeIndexGranularity const&) (__args=..., __args=..., __args=..., __args=..., __args=..., __args=..., __args=..., __args=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:714
#9 0x000000001e14efe0 in DB::MergeTreeDataPartCompact::getWriter (this=0x7ffe8905b618, columns_list=..., metadata_snapshot=..., indices_to_recalc=..., default_codec_=..., writer_settings=..., computed_index_granularity=...)
at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartCompact.cpp:74
#10 0x000000001e3cc967 in DB::MergedBlockOutputStream::MergedBlockOutputStream (this=0x7ffe5fa261c0, data_part=..., metadata_snapshot_=..., columns_list_=..., skip_indices=..., default_codec_=..., txn=..., reset_columns_=false, blocks_are_granules_size=false,
write_settings_=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergedBlockOutputStream.cpp:50
#11 0x000000001e416327 in std::__1::make_unique[abi:v15000]<DB::MergedBlockOutputStream, std::__1::shared_ptr<DB::IMergeTreeDataPart>&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, DB::NamesAndTypesList&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeIndex const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeIndex const> > >&, std::__1::shared_ptr<DB::ICompressionCodec>&, std::__1::shared_ptr<DB::MergeTreeTransaction>, bool, bool, DB::WriteSettings>(std::__1::shared_ptr<DB::IMergeTreeDataPart>&, std::__1::shared_ptr<DB::StorageInMemoryMetadata const> const&, DB::NamesAndTypesList&, std::__1::vector<std::__1::shared_ptr<DB::IMergeTreeIndex const>, std::__1::allocator<std::__1::shared_ptr<DB::IMergeTreeIndex const> > >&, std::__1::shared_ptr<DB::ICompressionCodec>&, std::__1::shared_ptr<DB::MergeTreeTransaction>&&, bool&&, bool&&, DB::WriteSettings&&) (__args=..., __args=..., __args=..., __args=..., __args=..., __args=..., __args=..., __args=..., __args=...)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:714
#12 0x000000001e412851 in DB::MergeTreeDataWriter::writeTempPartImpl (this=0x7ffe732959a0, block_with_partition=..., metadata_snapshot=..., context=..., block_number=4, need_tmp_prefix=true) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataWriter.cpp:567
#13 0x000000001e40ffdd in DB::MergeTreeDataWriter::writeTempPart (this=0x7ffe732959a0, block=..., metadata_snapshot=..., context=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataWriter.cpp:385
#14 0x000000001e587b8c in DB::MergeTreeSink::consume (this=0x7ffe5fa3a198, chunk=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeSink.cpp:87
#15 0x000000001ef78c5e in DB::SinkToStorage::onConsume (this=0x7ffe5fa3a198, chunk=...) at /ssd/ClickHouse/src/Processors/Sinks/SinkToStorage.cpp:24
#16 0x000000001ee0a83f in DB::ExceptionKeepingTransform::work()::$_1::operator()() const (this=0x7ffed85e97c8) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:150
#17 0x000000001ee0a7f5 in std::__1::__invoke[abi:v15000]<DB::ExceptionKeepingTransform::work()::$_1&>(DB::ExceptionKeepingTransform::work()::$_1&) (__f=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:394
#18 0x000000001ee0a7d5 in std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ExceptionKeepingTransform::work()::$_1&>(DB::ExceptionKeepingTransform::work()::$_1&) (__args=...)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:479
#19 0x000000001ee0a7b5 in std::__1::__function::__default_alloc_func<DB::ExceptionKeepingTransform::work()::$_1, void ()>::operator()[abi:v15000]() (this=0x7ffed85e97c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:235
#20 0x000000001ee0a77d in std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<DB::ExceptionKeepingTransform::work()::$_1, void ()> >(std::__1::__function::__policy_storage const*) (__buf=0x7ffed85e97c8)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:716
#21 0x0000000013ac9556 in std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const (this=0x7ffed85e97c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:848
#22 0x0000000013ac8a35 in std::__1::function<void ()>::operator()() const (this=0x7ffed85e97c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:1187
#23 0x000000001ee0a076 in DB::runStep(std::__1::function<void ()>, DB::ThreadStatus*, std::__1::atomic<unsigned long>*) (step=..., thread_status=0x0, elapsed_ms=0x0) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:114
#24 0x000000001ee09abe in DB::ExceptionKeepingTransform::work (this=0x7ffe5fa3a198) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:150
#25 0x000000001e8f2ca3 in DB::executeJob (node=0x7ffe5fad7900, read_progress_callback=0x7ffe58925620) at /ssd/ClickHouse/src/Processors/Executors/ExecutionThreadContext.cpp:47
#26 0x000000001e8f29e0 in DB::ExecutionThreadContext::executeTask (this=0x7ffe5fad7f00) at /ssd/ClickHouse/src/Processors/Executors/ExecutionThreadContext.cpp:95
#27 0x000000001e8d7761 in DB::PipelineExecutor::executeStepImpl (this=0x7ffed85ea378, thread_num=0, yield_flag=0x0) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:273
#28 0x000000001e8d7a77 in DB::PipelineExecutor::executeSingleThread (this=0x7ffed85ea378, thread_num=0) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:239
#29 0x000000001e8d6771 in DB::PipelineExecutor::executeImpl (this=0x7ffed85ea378, num_threads=1, concurrency_control=true) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:399
#30 0x000000001e8d5d76 in DB::PipelineExecutor::execute (this=0x7ffed85ea378, num_threads=1, concurrency_control=true) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:111
#31 0x000000001e8d3daf in DB::CompletedPipelineExecutor::execute (this=0x7ffed85ea7e0) at /ssd/ClickHouse/src/Processors/Executors/CompletedPipelineExecutor.cpp:110
#32 0x000000001d2dcaa0 in DB::executeQuery(DB::ReadBuffer&, DB::WriteBuffer&, bool, std::__1::shared_ptr<DB::Context>, std::__1::function<void (DB::QueryResultDetails const&)>, std::__1::optional<DB::FormatSettings> const&, std::__1::function<void (DB::IOutputFormat&)>) (istr=..., ostr=..., allow_into_outfile=false, context=..., set_result_details=..., output_format_settings=..., handle_exception_in_output_format=...) at /ssd/ClickHouse/src/Interpreters/executeQuery.cpp:1448
#33 0x000000001e7b8f91 in DB::HTTPHandler::processQuery (this=0x7ffe589254e0, request=..., params=..., response=..., used_output=..., query_scope=...) at /ssd/ClickHouse/src/Server/HTTPHandler.cpp:884
#34 0x000000001e7bbb67 in DB::HTTPHandler::handleRequest (this=0x7ffe589254e0, request=..., response=...) at /ssd/ClickHouse/src/Server/HTTPHandler.cpp:1078
#35 0x000000001e8644dc in DB::HTTPServerConnection::run (this=0x7ffe589253a0) at /ssd/ClickHouse/src/Server/HTTP/HTTPServerConnection.cpp:68
#36 0x000000002396f7d9 in Poco::Net::TCPServerConnection::start (this=0x7ffe589253a0) at /ssd/ClickHouse/base/poco/Net/src/TCPServerConnection.cpp:43
#37 0x000000002397001c in Poco::Net::TCPServerDispatcher::run (this=0x7ffed4e87400) at /ssd/ClickHouse/base/poco/Net/src/TCPServerDispatcher.cpp:115
--Type <RET> for more, q to quit, c to continue without paging--
#38 0x0000000023b5ac14 in Poco::PooledThread::run (this=0x7ffff71cb080) at /ssd/ClickHouse/base/poco/Foundation/src/ThreadPool.cpp:188
#39 0x0000000023b579ba in Poco::(anonymous namespace)::RunnableHolder::run (this=0x7ffff70019e0) at /ssd/ClickHouse/base/poco/Foundation/src/Thread.cpp:45
#40 0x0000000023b566be in Poco::ThreadImpl::runnableEntry (pThread=0x7ffff71cb0b8) at /ssd/ClickHouse/base/poco/Foundation/src/Thread_POSIX.cpp:335
#41 0x00007ffff7c94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#42 0x00007ffff7d26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

写入bin:

Thread 269 "SystemLogFlush" hit Breakpoint 6, DB::WriteBufferFromFileDescriptor::nextImpl (this=0x7ffe89057680) at /ssd/ClickHouse/src/IO/WriteBufferFromFileDescriptor.cpp:48
48 if (!offset())
(gdb) p fd
$6 = 177
(gdb) bt
#0 DB::WriteBufferFromFileDescriptor::nextImpl (this=0x7ffe89057680) at /ssd/ClickHouse/src/IO/WriteBufferFromFileDescriptor.cpp:48
#1 0x000000000afa964d in DB::WriteBuffer::next (this=0x7ffe89057680) at /ssd/ClickHouse/src/IO/WriteBuffer.h:48
#2 0x000000001df2a9dd in DB::HashingWriteBuffer::nextImpl (this=0x7ffe890142b0) at /ssd/ClickHouse/src/IO/HashingWriteBuffer.h:64
#3 0x000000000afa964d in DB::WriteBuffer::next (this=0x7ffe890142b0) at /ssd/ClickHouse/src/IO/WriteBuffer.h:48
#4 0x0000000013aecd15 in DB::WriteBuffer::finalizeImpl (this=0x7ffe890142b0) at /ssd/ClickHouse/src/IO/WriteBuffer.h:145
#5 0x000000000afa9542 in DB::WriteBuffer::finalize (this=0x7ffe890142b0) at /ssd/ClickHouse/src/IO/WriteBuffer.h:122
#6 0x000000001e16385b in DB::MergeTreeDataPartWriterCompact::fillDataChecksums (this=0x7ffe89014000, checksums=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:295
#7 0x000000001e1641ba in DB::MergeTreeDataPartWriterCompact::fillChecksums (this=0x7ffe89014000, checksums=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataPartWriterCompact.cpp:430
#8 0x000000001e3ccfda in DB::MergedBlockOutputStream::finalizePartAsync (this=0x7ffe89037c40, new_part=..., sync=false, total_columns_list=0x0, additional_column_checksums=0x0) at /ssd/ClickHouse/src/Storages/MergeTree/MergedBlockOutputStream.cpp:151
#9 0x000000001e412cf6 in DB::MergeTreeDataWriter::writeTempPartImpl (this=0x7ffe971d89a0, block_with_partition=..., metadata_snapshot=..., context=..., block_number=620, need_tmp_prefix=true) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataWriter.cpp:592
#10 0x000000001e40ffdd in DB::MergeTreeDataWriter::writeTempPart (this=0x7ffe971d89a0, block=..., metadata_snapshot=..., context=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeDataWriter.cpp:385
#11 0x000000001e587b8c in DB::MergeTreeSink::consume (this=0x7ffe8906cc58, chunk=...) at /ssd/ClickHouse/src/Storages/MergeTree/MergeTreeSink.cpp:87
#12 0x000000001ef78c5e in DB::SinkToStorage::onConsume (this=0x7ffe8906cc58, chunk=...) at /ssd/ClickHouse/src/Processors/Sinks/SinkToStorage.cpp:24
#13 0x000000001ee0a83f in DB::ExceptionKeepingTransform::work()::$_1::operator()() const (this=0x7ffe4dca61c8) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:150
#14 0x000000001ee0a7f5 in std::__1::__invoke[abi:v15000]<DB::ExceptionKeepingTransform::work()::$_1&>(DB::ExceptionKeepingTransform::work()::$_1&) (__f=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:394
#15 0x000000001ee0a7d5 in std::__1::__invoke_void_return_wrapper<void, true>::__call<DB::ExceptionKeepingTransform::work()::$_1&>(DB::ExceptionKeepingTransform::work()::$_1&) (__args=...)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:479
#16 0x000000001ee0a7b5 in std::__1::__function::__default_alloc_func<DB::ExceptionKeepingTransform::work()::$_1, void ()>::operator()[abi:v15000]() (this=0x7ffe4dca61c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:235
#17 0x000000001ee0a77d in std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<DB::ExceptionKeepingTransform::work()::$_1, void ()> >(std::__1::__function::__policy_storage const*) (__buf=0x7ffe4dca61c8)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:716
#18 0x0000000013ac9556 in std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const (this=0x7ffe4dca61c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:848
#19 0x0000000013ac8a35 in std::__1::function<void ()>::operator()() const (this=0x7ffe4dca61c8) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:1187
#20 0x000000001ee0a076 in DB::runStep(std::__1::function<void ()>, DB::ThreadStatus*, std::__1::atomic<unsigned long>*) (step=..., thread_status=0x0, elapsed_ms=0x0) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:114
#21 0x000000001ee09abe in DB::ExceptionKeepingTransform::work (this=0x7ffe8906cc58) at /ssd/ClickHouse/src/Processors/Transforms/ExceptionKeepingTransform.cpp:150
#22 0x000000001e8f2ca3 in DB::executeJob (node=0x7ffe890c2400, read_progress_callback=0x7ffe89056b40) at /ssd/ClickHouse/src/Processors/Executors/ExecutionThreadContext.cpp:47
#23 0x000000001e8f29e0 in DB::ExecutionThreadContext::executeTask (this=0x7ffe890c2b00) at /ssd/ClickHouse/src/Processors/Executors/ExecutionThreadContext.cpp:95
#24 0x000000001e8d7761 in DB::PipelineExecutor::executeStepImpl (this=0x7ffe8906dc18, thread_num=0, yield_flag=0x0) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:273
#25 0x000000001e8d7259 in DB::PipelineExecutor::executeStep (this=0x7ffe8906dc18, yield_flag=0x0) at /ssd/ClickHouse/src/Processors/Executors/PipelineExecutor.cpp:148
#26 0x000000001e90193e in DB::PushingPipelineExecutor::finish (this=0x7ffe4dca6910) at /ssd/ClickHouse/src/Processors/Executors/PushingPipelineExecutor.cpp:122
#27 0x000000001d0c7e9d in DB::SystemLog<DB::AsynchronousMetricLogElement>::flushImpl (this=0x7ffe70ee4018, to_flush=..., to_flush_end=2074784) at /ssd/ClickHouse/src/Interpreters/SystemLog.cpp:516
#28 0x000000001d0c6e2e in DB::SystemLog<DB::AsynchronousMetricLogElement>::savingThreadFunction (this=0x7ffe70ee4018) at /ssd/ClickHouse/src/Interpreters/SystemLog.cpp:456
#29 0x0000000013c566d9 in DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}::operator()() const (this=0x7ffe4dca77e0) at /ssd/ClickHouse/src/Common/SystemLogBase.cpp:248
#30 0x0000000013c566b5 in std::__1::__invoke[abi:v15000]<DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&>(DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&) (__f=...)
at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:394
#31 0x0000000013c56699 in std::__1::__apply_tuple_impl[abi:v15000]<DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&, std::__1::tuple<>&>(DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&, std::__1::tuple<>&, std::__1::__tuple_indices<>) (__f=..., __t=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/tuple:1789
#32 0x0000000013c565fd in std::__1::apply[abi:v15000]<DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&, std::__1::tuple<>&>(DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&, std::__1::tuple<>&) (__f=...,
__t=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/tuple:1798
#33 0x0000000013c56525 in ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}>(DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&&)::{lambda()#1}::operator()() (this=0x7ffe890fa140) at /ssd/ClickHouse/src/Common/ThreadPool.h:242
#34 0x0000000013c56495 in std::__1::__invoke[abi:v15000]<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}>(DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&&)::{lambda()#1}&>(DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&&) (__f=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:394
#35 0x0000000013c56475 in std::__1::__invoke_void_return_wrapper<void, true>::__call<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}>(DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&&)::{lambda()#1}&>(ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}>(DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&&)::{lambda()#1}&) (__args=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:479
#36 0x0000000013c56455 in std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}>(DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&&)::{lambda()#1}, void ()>::operator()[abi:v15000]() (this=0x7ffe890fa140) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:235
#37 0x0000000013c56420 in std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<ThreadFromGlobalPoolImpl<true>::ThreadFromGlobalPoolImpl<DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}>(DB::SystemLogBase<DB::AsynchronousMetricLogElement>::startup()::{lambda()#1}&&)::{lambda()#1}, void ()> >(std::__1::__function::__policy_storage const*) (__buf=0x7ffe4dca7a98) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:716
#38 0x0000000013ac9556 in std::__1::__function::__policy_func<void ()>::operator()[abi:v15000]() const (this=0x7ffe4dca7a98) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:848
#39 0x0000000013ac8a35 in std::__1::function<void ()>::operator()() const (this=0x7ffe4dca7a98) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/function.h:1187
#40 0x0000000013bd9f23 in ThreadPoolImpl<std::__1::thread>::worker (this=0x7ffff7022100, thread_it=...) at /ssd/ClickHouse/src/Common/ThreadPool.cpp:426
#41 0x0000000013be21c4 in ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::{lambda()#2}::operator()() const (this=0x7ffff6206c48) at /ssd/ClickHouse/src/Common/ThreadPool.cpp:179
--Type <RET> for more, q to quit, c to continue without paging--
#42 0x0000000013be2175 in std::__1::__invoke[abi:v15000]<ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::{lambda()#2}&&) (__f=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/__functional/invoke.h:394
#43 0x0000000013be209d in std::__1::__thread_execute[abi:v15000]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::{lambda()#2}>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::{lambda()#2}>&, std::__1::__tuple_indices<>) (__t=...) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/thread:284
#44 0x0000000013be1b82 in std::__1::__thread_proxy[abi:v15000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, Priority, std::__1::optional<unsigned long>, bool)::{lambda()#2}> >(void*) (__vp=0x7ffff6206c40) at /ssd/ClickHouse/contrib/llvm-project/libcxx/include/thread:295
#45 0x00007ffff7c94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#46 0x00007ffff7d26a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

相关阅读

· One min read

SimpleDatetimeFormat 线程不安全是因为这个format持有一个对象,这个对象会被多个线程修改

DateTimeFormatter 线程安全是因为是一个immutable , 不变的量在不同线程是不会有线程安全问题

相关阅读

· 2 min read

背景

堆栈:

setNonNullParameter:33, DateTypeHandler (org.apache.ibatis.type)
setNonNullParameter:28, DateTypeHandler (org.apache.ibatis.type)
setParameter:73, BaseTypeHandler (org.apache.ibatis.type)
setNonNullParameter:67, UnknownTypeHandler (org.apache.ibatis.type)
setParameter:73, BaseTypeHandler (org.apache.ibatis.type)
setParameters:232, MybatisParameterHandler (com.baomidou.mybatisplus.core)
parameterize:94, PreparedStatementHandler (org.apache.ibatis.executor.statement)
parameterize:64, RoutingStatementHandler (org.apache.ibatis.executor.statement)
invoke0:-1, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:62, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:43, DelegatingMethodAccessorImpl (jdk.internal.reflect)
invoke:566, Method (java.lang.reflect)
invoke:64, Plugin (org.apache.ibatis.plugin)
parameterize:-1, $Proxy255 (com.sun.proxy)
prepareStatement:88, SimpleExecutor (org.apache.ibatis.executor)
doQuery:62, SimpleExecutor (org.apache.ibatis.executor)
queryFromDatabase:325, BaseExecutor (org.apache.ibatis.executor)
query:156, BaseExecutor (org.apache.ibatis.executor)
query:109, CachingExecutor (org.apache.ibatis.executor)
intercept:81, MybatisPlusInterceptor (com.baomidou.mybatisplus.extension.plugins)
invoke:62, Plugin (org.apache.ibatis.plugin)
query:-1, $Proxy254 (com.sun.proxy)
selectList:151, DefaultSqlSession (org.apache.ibatis.session.defaults)
selectList:145, DefaultSqlSession (org.apache.ibatis.session.defaults)
selectList:140, DefaultSqlSession (org.apache.ibatis.session.defaults)
invoke0:-1, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:62, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:43, DelegatingMethodAccessorImpl (jdk.internal.reflect)
invoke:566, Method (java.lang.reflect)
invoke:427, SqlSessionTemplate$SqlSessionInterceptor (org.mybatis.spring)
selectList:-1, $Proxy146 (com.sun.proxy)
selectList:224, SqlSessionTemplate (org.mybatis.spring)
executeForMany:166, MybatisMapperMethod (com.baomidou.mybatisplus.core.override)
execute:77, MybatisMapperMethod (com.baomidou.mybatisplus.core.override)
invoke:148, MybatisMapperProxy$PlainMethodInvoker (com.baomidou.mybatisplus.core.override)
invoke:89, MybatisMapperProxy (com.baomidou.mybatisplus.core.override)
getUserAndSkuByDay:-1, $Proxy215 (com.sun.proxy)
invoke0:-1, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:62, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:43, DelegatingMethodAccessorImpl (jdk.internal.reflect)
invoke:566, Method (java.lang.reflect)
invokeJoinpointUsingReflection:344, AopUtils (org.springframework.aop.support)
invokeJoinpoint:198, ReflectiveMethodInvocation (org.springframework.aop.framework)
proceed:163, ReflectiveMethodInvocation (org.springframework.aop.framework)
invoke:50, DynamicDataSourceAnnotationInterceptor (com.baomidou.dynamic.datasource.aop)
proceed:186, ReflectiveMethodInvocation (org.springframework.aop.framework)
invoke:212, JdkDynamicAopProxy (org.springframework.aop.framework)
getUserAndSkuByDay:-1, $Proxy216 (com.sun.proxy)
testQuery:23, CdpUserBehaviorDataMapperTest (com.patpat.mms.mdp.base.core.service.mapper.cdp)
invoke0:-1, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:62, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:43, DelegatingMethodAccessorImpl (jdk.internal.reflect)
invoke:566, Method (java.lang.reflect)
runReflectiveCall:59, FrameworkMethod$1 (org.junit.runners.model)
run:12, ReflectiveCallable (org.junit.internal.runners.model)
invokeExplosively:56, FrameworkMethod (org.junit.runners.model)
evaluate:17, InvokeMethod (org.junit.internal.runners.statements)
evaluate:74, RunBeforeTestExecutionCallbacks (org.springframework.test.context.junit4.statements)
evaluate:84, RunAfterTestExecutionCallbacks (org.springframework.test.context.junit4.statements)
evaluate:75, RunBeforeTestMethodCallbacks (org.springframework.test.context.junit4.statements)
evaluate:86, RunAfterTestMethodCallbacks (org.springframework.test.context.junit4.statements)
evaluate:84, SpringRepeat (org.springframework.test.context.junit4.statements)
runLeaf:366, ParentRunner (org.junit.runners)
runChild:251, SpringJUnit4ClassRunner (org.springframework.test.context.junit4)
runChild:97, SpringJUnit4ClassRunner (org.springframework.test.context.junit4)
run:331, ParentRunner$4 (org.junit.runners)
schedule:79, ParentRunner$1 (org.junit.runners)
runChildren:329, ParentRunner (org.junit.runners)
access$100:66, ParentRunner (org.junit.runners)
evaluate:293, ParentRunner$2 (org.junit.runners)
evaluate:61, RunBeforeTestClassCallbacks (org.springframework.test.context.junit4.statements)
evaluate:70, RunAfterTestClassCallbacks (org.springframework.test.context.junit4.statements)
evaluate:306, ParentRunner$3 (org.junit.runners)
run:413, ParentRunner (org.junit.runners)
run:190, SpringJUnit4ClassRunner (org.springframework.test.context.junit4)
run:137, JUnitCore (org.junit.runner)
startRunnerWithArgs:69, JUnit4IdeaTestRunner (com.intellij.junit4)
execute:38, IdeaTestRunner$Repeater$1 (com.intellij.rt.junit)
repeat:11, TestsRepeater (com.intellij.rt.execution.junit)
startRunnerWithArgs:35, IdeaTestRunner$Repeater (com.intellij.rt.junit)
prepareStreamsAndStart:232, JUnitStarter (com.intellij.rt.junit)
main:55, JUnitStarter (com.intellij.rt.junit)