Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[fix](taskgroup) Fix task group overcommit memory GC profile #22764

Merged
merged 3 commits into from
Aug 9, 2023

Conversation

xinyiZzz
Copy link
Contributor

@xinyiZzz xinyiZzz commented Aug 9, 2023

Proposed changes

Print log after task group overcommit memory GC ends

0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at doris/be/src/common/signal_handler.h:413                                                                                                                                                                    
 1# os::Linux::chained_handler(int, siginfo*, void*) in /opt/jdk1.8.0_211/jre/lib/amd64/server/[libjvm.so](http://libjvm.so/)                                                              
 2# JVM_handle_linux_signal in /opt/jdk1.8.0_211/jre/lib/amd64/server/[libjvm.so](http://libjvm.so/)                                                                                       
 3# signalHandler(int, siginfo*, void*) in /opt/jdk1.8.0_211/jre/lib/amd64/server/[libjvm.so](http://libjvm.so/)                                                                           
 4# 0x00007FCDDEFA5280 in /lib64/libc.so.6                                                                                                                            
 5# __pthread_mutex_lock in /lib64/libpthread.so.0                                                                                                                    
 6# pthread_mutex_lock in /opt/doris-service/doris-branch-2.0/be/lib/doris_be                                                                                         
 7# doris::RuntimeProfile::merge(doris::RuntimeProfile*) at doris/be/src/util/runtime_profile.cpp:69                             
 8# long doris::MemTrackerLimiter::free_top_overcommit_query(long, doris::MemTrackerLimiter::Type, std::vector
up::TgTrackerLimiterGroup, std::allocator >&, std::function, std::all
ocator > (long, std::__cxx11::basic_string, std::allocator > const&)> const&, doris::RuntimeProfile*) in /opt/doris-service/d
oris-branch-2.0/be/lib/doris_be                                                                                                                                       
 9# doris::MemTrackerLimiter::tg_memory_limit_gc(long, long, unsigned long, std::__cxx11::basic_string, std::allocator > const&, lo
ng, std::vector >&, doris::RuntimeProfile*) in /opt/doris-service/dor
is-branch-2.0/be/lib/doris_be                                                                                                                                         
10# doris::MemInfo::tg_hard_memory_limit_gc() in /opt/doris-service/doris-branch-2.0/be/lib/doris_be                                                                  
11# doris::Daemon::memory_gc_thread() at doris/be/src/common/daemon.cpp:241                                                      
12# doris::Thread::supervise_thread(void*) at doris/be/src/util/thread.cpp:466                                                   
13# start_thread in /lib64/libpthread.so.0                                                                                                                            
14# __clone in /lib64/libc.so.6

Further comments

If this is a relatively large or complex change, kick off the discussion at [email protected] by explaining why you chose the solution you did and what alternatives you considered, etc...

@xinyiZzz
Copy link
Contributor Author

xinyiZzz commented Aug 9, 2023

run buildall

@github-actions
Copy link
Contributor

github-actions bot commented Aug 9, 2023

clang-tidy review says "All clean, LGTM! 👍"

LOG(INFO) << fmt::format(
"End Task Group Overcommit Memory GC, Free Memory {} Bytes. cost(us): {}, "
"details: {}",
total_free_memory, watch.elapsed_time() / 1000, ss.str());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we can use PrettyPrinter?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@hello-stephen
Copy link
Contributor

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.39 seconds
stream load tsv: 511 seconds loaded 74807831229 Bytes, about 139 MB/s
stream load json: 21 seconds loaded 2358488459 Bytes, about 107 MB/s
stream load orc: 65 seconds loaded 1101869774 Bytes, about 16 MB/s
stream load parquet: 31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select: 29.3 seconds inserted 10000000 Rows, about 341K ops/s
storage size: 17162140060 Bytes

@github-actions
Copy link
Contributor

github-actions bot commented Aug 9, 2023

clang-tidy review says "All clean, LGTM! 👍"

@xinyiZzz
Copy link
Contributor Author

xinyiZzz commented Aug 9, 2023

run buildall

Copy link
Contributor

@wangbo wangbo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Aug 9, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Aug 9, 2023

PR approved by at least one committer and no changes requested.

@github-actions
Copy link
Contributor

github-actions bot commented Aug 9, 2023

PR approved by anyone and no changes requested.

@github-actions
Copy link
Contributor

github-actions bot commented Aug 9, 2023

clang-tidy review says "All clean, LGTM! 👍"

@hello-stephen
Copy link
Contributor

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.29 seconds
stream load tsv: 513 seconds loaded 74807831229 Bytes, about 139 MB/s
stream load json: 20 seconds loaded 2358488459 Bytes, about 112 MB/s
stream load orc: 65 seconds loaded 1101869774 Bytes, about 16 MB/s
stream load parquet: 32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select: 29.1 seconds inserted 10000000 Rows, about 343K ops/s
storage size: 17162439679 Bytes

Copy link
Contributor

@yiguolei yiguolei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@yiguolei yiguolei added the usercase Important user case type label label Aug 9, 2023
@yiguolei yiguolei merged commit 21beebd into apache:master Aug 9, 2023
20 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by one committer. dev/2.0.1-merged merge_conflict reviewed usercase Important user case type label workload-group
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants