Slackbot
12/02/2022, 11:11 PMJRob
12/02/2022, 11:19 PMGian Merlino
12/02/2022, 11:46 PMdruid.segmentCache.lazyLoadOnStart = true, which moves the work to query time instead of server startup timeGian Merlino
12/02/2022, 11:46 PMWhether or not to load segment columns metadata lazily during historical startup. When set to true, Historical startup time will be dramatically improved by deferring segment loading until the first time that segment takes part in a query, which will incur this cost instead.
JRob
12/03/2022, 12:29 AMJRob
12/03/2022, 12:38 AMJRob
12/03/2022, 12:39 AM2022-12-03T00:38:57,281 INFO [main] org.apache.druid.server.coordination.SegmentLoadDropHandler - Loading segment cache file [51944/76371] ...Gian Merlino
12/03/2022, 12:49 AMJRob
12/03/2022, 12:49 AM2022-12-03T00:34:26,200 INFO [main] org.apache.druid.cli.CliHistorical - * druid.segmentCache.lazyLoadOnStart: trueJRob
12/03/2022, 12:49 AMapache-druid-0.23.0JRob
12/03/2022, 12:51 AMGian Merlino
12/03/2022, 12:55 AMGian Merlino
12/03/2022, 12:56 AMGian Merlino
12/03/2022, 12:56 AMJRob
12/03/2022, 12:56 AMGian Merlino
12/03/2022, 12:59 AMJRob
12/03/2022, 12:59 AMJRob
12/03/2022, 1:00 AMdruid.segmentCache.numBootstrapThreads to num_coresJRob
12/03/2022, 1:02 AMJRob
12/03/2022, 1:04 AMJRob
12/03/2022, 1:12 AMGian Merlino
12/03/2022, 1:18 AMdruid.segmentCache.numThreadsToLoadSegmentsIntoPageCacheOnDownload or druid.segmentCache.numThreadsToLoadSegmentsIntoPageCacheOnBootstrap?Gian Merlino
12/03/2022, 1:19 AMGian Merlino
12/03/2022, 1:20 AMGian Merlino
12/03/2022, 1:21 AMJRob
12/03/2022, 1:21 AMGian Merlino
12/03/2022, 1:21 AMJRob
12/03/2022, 1:22 AM$ egrep segmentCache historical/runtime.properties
druid.segmentCache.locations=[{"path":"/data/tripstack/druid/segment-cache","maxSize":"1000g"}]
druid.segmentCache.lazyLoadOnStart = true
druid.segmentCache.numBootstrapThreads = 16Gian Merlino
12/03/2022, 1:27 AMLoading segment[x/y] that are taking time?Gian Merlino
12/03/2022, 1:28 AMJRob
12/03/2022, 1:29 AMGian Merlino
12/03/2022, 1:29 AMLoading segment cache file stuff would take so much time, since it isn't doing much. Just loading the descriptor json files from the info dirGian Merlino
12/03/2022, 1:29 AMLoading segment[x/y] parade is doing the actual segment loadingJRob
12/03/2022, 1:29 AM2022-12-03T01:29:46,685 INFO [main] org.apache.druid.server.coordination.SegmentLoadDropHandler - Loading segment cache file [55566/78304][/data/tripstack/druid/segment-cache/info_dir/best-booking-emails_2022-07-10T23:00:00.000Z_2022-07-11T00:00:00.000Z_2022-09-14T15:07:20.565Z_86].JRob
12/03/2022, 1:30 AMLoading segment[x/y] also takes some time but seems to go by MUCH fasterGian Merlino
12/03/2022, 1:31 AMLoading segment cache file lines, or just a parade of them with nothing in between?JRob
12/03/2022, 1:32 AMGian Merlino
12/03/2022, 1:33 AMinfo_dir?JRob
12/03/2022, 1:33 AMmain thread. However it does seem to be going faster now that we've increased the druid.segmentCache.numBootstrapThreadsGian Merlino
12/03/2022, 1:33 AMGian Merlino
12/03/2022, 1:34 AMGian Merlino
12/03/2022, 1:34 AMGian Merlino
12/03/2022, 1:34 AMJRob
12/03/2022, 1:35 AMJRob
12/03/2022, 1:36 AMJRob
12/03/2022, 1:36 AMJRob
12/03/2022, 1:37 AMGian Merlino
12/03/2022, 1:37 AMGian Merlino
12/03/2022, 1:37 AMGian Merlino
12/03/2022, 1:37 AMGian Merlino
12/03/2022, 1:39 AMfind [path to info_dir] -type f -exec cat {} \; > /dev/nullGian Merlino
12/03/2022, 1:39 AMJRob
12/03/2022, 1:39 AMLoading segment[x/y] took about 4 minutes so nearly all the work is done in Loading segment cache file [x/y]JRob
12/03/2022, 1:44 AM$ date; time find info_dir -type f -exec cat {} \; > /dev/null; date
Fri 02 Dec 2022 08:42:14 PM EST
real 1m56.704s
user 1m7.776s
sys 0m49.148s
Fri 02 Dec 2022 08:44:11 PM ESTGian Merlino
12/03/2022, 1:45 AMGian Merlino
12/03/2022, 1:46 AMJRob
12/03/2022, 1:52 AMGian Merlino
12/03/2022, 2:03 AMJRob
12/03/2022, 2:39 AMLoading segment cache file logs we had an error from ZK
2022-12-03T01:43:37,309 ERROR [main-EventThread] org.apache.curator.framework.imps.EnsembleTracker - Invalid config event received: {server.1=bidruid-zk01:2888:3888:participant, version=0, server.3=bidruid-zk03:2888:3888:participant, server.2=bidruid-zk02:2888:3888:participant}Abhishek Agarwal
12/03/2022, 10:45 AMJRob
12/05/2022, 2:33 PMGian Merlino
12/05/2022, 10:47 PMOlivier JOUSSET
03/01/2023, 2:41 PMdruid.segmentCache.numBootstrapThreads and lazy loading ?