Anish Nair
02/01/2022, 2:21 PMSELECT
lookUp('dim_tabl1', 'display_name', 'dim_joinkey', fact_joinkey),
sum(metric1) AS sum_1
FROM reporting_aggregations
WHERE stats_date_hour between '2022012000' and '2022012223'
GROUP BY lookUp('dim_tabl1', 'display_name', 'dim_joinkey', fact_joinkey)
ORDER BY sum(metric1)
DESC LIMIT 10000Kishore G
Anish Nair
02/01/2022, 2:46 PMtimeUsedMs:12581
numDocsScanned:42834397
totalDocs:4017929622
numServersQueried:2
numServersResponded:2
numSegmentsQueried:444
numSegmentsMatched:3
numConsumingSegmentsQueried:3
numEntriesScannedInFilter:1
numEntriesScannedPostFilter:85668794
numGroupsLimitReached:false
partialResponse:-
minConsumingFreshnessTimeMs:1643726394648
offlineThreadCpuTimeNs:0
realtimeThreadCpuTimeNs:0Kishore G
Sanjay Aswani
02/01/2022, 3:03 PMMark Needham
Kishore G
Kishore G
Kishore G
Anish Nair
02/01/2022, 3:25 PMRichard Startin
02/01/2022, 3:26 PMjcmd <pid> JFR.start duration=60s settings=profile filename=slow_lookups.jfr while querying the server with lookup queries please?Anish Nair
02/01/2022, 3:27 PMRichard Startin
02/01/2022, 3:30 PMAnish Nair
02/01/2022, 3:31 PMSumit Lakra
02/01/2022, 3:52 PMRichard Startin
02/01/2022, 3:53 PMRichard Startin
02/01/2022, 3:53 PMSumit Lakra
02/01/2022, 3:56 PMRichard Startin
02/01/2022, 3:58 PMDimensionTableDataManager
2. it's not the bottleneck because point 1. is throttling progress, but the top allocations come from unnecessary boxing in the lookup function implementation itself, if 1. were fixed this would become limitingRichard Startin
02/01/2022, 3:59 PMSumit Lakra
02/01/2022, 4:00 PMAnish Nair
02/01/2022, 4:06 PMAnish Nair
02/01/2022, 4:24 PMKishore G
Richard Startin
02/01/2022, 8:15 PMAnish Nair
02/02/2022, 6:52 AMSumit Lakra
02/02/2022, 8:44 AMSumit Lakra
02/02/2022, 8:48 AMRichard Startin
02/02/2022, 9:39 AMAnish Nair
02/02/2022, 9:51 AMRichard Startin
02/02/2022, 9:52 AMAnish Nair
02/02/2022, 11:19 AMRichard Startin
02/02/2022, 11:19 AMRichard Startin
02/02/2022, 11:21 AMRichard Startin
02/02/2022, 11:21 AMSumit Lakra
02/02/2022, 11:33 AMRichard Startin
02/02/2022, 11:35 AMRichard Startin
02/02/2022, 11:36 AMSumit Lakra
02/02/2022, 11:38 AM<https://github.com/apache/pinot.git>Richard Startin
02/02/2022, 11:38 AMRichard Startin
02/02/2022, 11:38 AMRichard Startin
02/02/2022, 11:39 AMSumit Lakra
02/02/2022, 11:40 AMRichard Startin
02/02/2022, 11:41 AMSumit Lakra
02/02/2022, 11:44 AMRichard Startin
02/02/2022, 11:45 AMSumit Lakra
02/02/2022, 11:45 AMSumit Lakra
02/02/2022, 11:46 AMRichard Startin
02/02/2022, 11:46 AMRichard Startin
02/02/2022, 11:46 AMSumit Lakra
02/02/2022, 11:47 AMRichard Startin
02/02/2022, 11:48 AMRichard Startin
02/02/2022, 11:50 AMSumit Lakra
02/02/2022, 11:53 AM{
"pinot-protobuf": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-kafka-2.0": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-avro": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-distribution": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-csv": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-s3": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-segment-uploader-default": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-yammer": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-thrift": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-confluent-avro": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-batch-ingestion-standalone": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-orc": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-azure": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-gcs": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-dropwizard": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-hdfs": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-adls": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-kinesis": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-json": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-minion-builtin-tasks": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-parquet": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438",
"pinot-segment-writer-file-based": "0.10.0-SNAPSHOT-ea2f0aa641e17301293662c8e79dfd94d8568438"
}Sumit Lakra
02/02/2022, 11:53 AMRichard Startin
02/02/2022, 11:54 AMRichard Startin
02/02/2022, 11:55 AMRichard Startin
02/02/2022, 11:55 AMRichard Startin
02/02/2022, 11:55 AMRichard Startin
02/02/2022, 11:57 AMCLASSPATH_PREFIX /pinot/hadoop-3.0.0/share/hadoop/hdfs/hadoop-hdfs-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/hdfs/hadoop-hdfs-client-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/hdfs/hadoop-hdfs-httpfs-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/hdfs/hadoop-hdfs-native-client-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/hdfs/hadoop-hdfs-nfs-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/common/hadoop-common-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/guava-11.0.2.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/hadoop-annotations-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/hadoop-auth-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/gson-2.2.4.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/commons-configuration2-2.1.1.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/htrace-core4-4.1.0-incubating.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-databind-2.7.8.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-annotations-2.7.8.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-core-2.7.8.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-core-asl-1.9.13.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-jaxrs-1.9.13.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-mapper-asl-1.9.13.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-xc-1.9.13.jarRichard Startin
02/02/2022, 11:58 AMRichard Startin
02/02/2022, 11:58 AMjava.class.path /pinot/hadoop-3.0.0/share/hadoop/hdfs/hadoop-hdfs-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/hdfs/hadoop-hdfs-client-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/hdfs/hadoop-hdfs-httpfs-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/hdfs/hadoop-hdfs-native-client-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/hdfs/hadoop-hdfs-nfs-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/common/hadoop-common-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/guava-11.0.2.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/hadoop-annotations-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/hadoop-auth-3.0.0.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/gson-2.2.4.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/commons-configuration2-2.1.1.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/htrace-core4-4.1.0-incubating.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-databind-2.7.8.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-annotations-2.7.8.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-core-2.7.8.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-core-asl-1.9.13.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-jaxrs-1.9.13.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-mapper-asl-1.9.13.jar:/pinot/hadoop-3.0.0/share/hadoop/common/lib/jackson-xc-1.9.13.jar:/pinot/lib/pinot-all-0.9.0-jar-with-dependencies.jar:/pinot/lib/jmx_prometheus_javaagent-0.12.0.jar:/pinot/lib/jmx_prometheus_javaagent-0.16.1.jar:/pinot/lib/pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:/pinot/plugins/pinot-input-format/pinot-csv/pinot-csv-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-input-format/pinot-csv/pinot-csv-0.9.0-shaded.jar:/pinot/plugins/pinot-input-format/pinot-avro/pinot-avro-0.9.0-shaded.jar:/pinot/plugins/pinot-input-format/pinot-avro/pinot-avro-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-input-format/pinot-parquet/pinot-parquet-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-input-format/pinot-parquet/pinot-parquet-0.9.0-shaded.jar:/pinot/plugins/pinot-input-format/pinot-thrift/pinot-thrift-0.9.0-shaded.jar:/pinot/plugins/pinot-input-format/pinot-thrift/pinot-thrift-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-input-format/pinot-json/pinot-json-0.9.0-shaded.jar:/pinot/plugins/pinot-input-format/pinot-json/pinot-json-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-input-format/pinot-protobuf/pinot-protobuf-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-input-format/pinot-protobuf/pinot-protobuf-0.9.0-shaded.jar:/pinot/plugins/pinot-input-format/pinot-orc/pinot-orc-0.9.0-shaded.jar:/pinot/plugins/pinot-input-format/pinot-orc/pinot-orc-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-input-format/pinot-confluent-avro/pinot-confluent-avro-0.9.0-shaded.jar:/pinot/plugins/pinot-input-format/pinot-confluent-avro/pinot-confluent-avro-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-batch-ingestion/pinot-batch-ingestion-standalone/pinot-batch-ingestion-standalone-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-batch-ingestion/pinot-batch-ingestion-standalone/pinot-batch-ingestion-standalone-0.9.0-shaded.jar:/pinot/plugins/pinot-batch-ingestion/pinot-batch-ingestion-spark/pinot-batch-ingestion-spark-0.9.0-shaded.jar:/pinot/plugins/pinot-batch-ingestion/pinot-batch-ingestion-hadoop/pinot-batch-ingestion-hadoop-0.9.0-shaded.jar:/pinot/plugins/pinot-segment-uploader/pinot-segment-uploader-default/pinot-segment-uploader-default-0.10.0-SNAPSHOT.jar:/pinot/plugins/pinot-segment-uploader/pinot-segment-uploader-default/pinot-segment-uploader-default-0.9.0.jar:/pinot/plugins/pinot-stream-ingestion/pinot-kafka-2.0/pinot-kafka-2.0-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-stream-ingestion/pinot-kafka-2.0/pinot-kafka-2.0-0.9.0-shaded.jar:/pinot/plugins/pinot-stream-ingestion/pinot-kinesis/pinot-kinesis-0.9.0-shaded.jar:/pinot/plugins/pinot-stream-ingestion/pinot-kinesis/pinot-kinesis-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-segment-writer/pinot-segment-writer-file-based/pinot-segment-writer-file-based-0.10.0-SNAPSHOT.jar:/pinot/plugins/pinot-segment-writer/pinot-segment-writer-file-based/pinot-segment-writer-file-based-0.9.0.jar:/pinot/plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/pinot-minion-builtin-tasks-0.9.0.jar:/pinot/plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/pinot-minion-builtin-tasks-0.10.0-SNAPSHOT.jar:/pinot/plugins/pinot-environment/pinot-azure/pinot-azure-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-environment/pinot-azure/pinot-azure-0.9.0-shaded.jar:/pinot/plugins/pinot-metrics/pinot-dropwizard/pinot-dropwizard-0.9.0-shaded.jar:/pinot/plugins/pinot-metrics/pinot-dropwizard/pinot-dropwizard-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-metrics/pinot-yammer/pinot-yammer-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-metrics/pinot-yammer/pinot-yammer-0.9.0-shaded.jar:/pinot/plugins/pinot-file-system/pinot-hdfs/pinot-hdfs-0.9.0-shaded.jar:/pinot/plugins/pinot-file-system/pinot-hdfs/pinot-hdfs-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-file-system/pinot-adls/pinot-adls-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-file-system/pinot-adls/pinot-adls-0.9.0-shaded.jar:/pinot/plugins/pinot-file-system/pinot-gcs/pinot-gcs-0.9.0-shaded.jar:/pinot/plugins/pinot-file-system/pinot-gcs/pinot-gcs-0.10.0-SNAPSHOT-shaded.jar:/pinot/plugins/pinot-file-system/pinot-s3/pinot-s3-0.9.0-shaded.jar:/pinot/plugins/pinot-file-system/pinot-s3/pinot-s3-0.10.0-SNAPSHOT-shaded.jarRichard Startin
02/02/2022, 11:58 AMRichard Startin
02/02/2022, 11:59 AMRichard Startin
02/02/2022, 12:00 PMAnish Nair
02/02/2022, 12:09 PMAnish Nair
02/02/2022, 12:10 PMRichard Startin
02/02/2022, 12:12 PMAnish Nair
02/02/2022, 12:13 PMRichard Startin
02/02/2022, 12:14 PMAnish Nair
02/02/2022, 12:15 PMRichard Startin
02/02/2022, 12:15 PMRichard Startin
02/02/2022, 12:15 PMAnish Nair
02/02/2022, 12:16 PMRichard Startin
02/02/2022, 12:17 PMAnish Nair
02/02/2022, 12:18 PMRichard Startin
02/02/2022, 12:18 PMAnish Nair
02/02/2022, 12:19 PMRichard Startin
02/02/2022, 12:21 PMAnish Nair
02/02/2022, 12:21 PMRichard Startin
02/02/2022, 12:21 PMRichard Startin
02/02/2022, 12:22 PMRichard Startin
02/02/2022, 12:22 PMAnish Nair
02/02/2022, 12:23 PMRichard Startin
02/02/2022, 12:24 PMRichard Startin
02/02/2022, 12:24 PMRichard Startin
02/02/2022, 12:24 PMRichard Startin
02/02/2022, 12:25 PMDimensionDataTableManager you can see what's in _lookupTableAnish Nair
02/02/2022, 12:26 PMRichard Startin
02/02/2022, 12:27 PMjcmd <realtime_pid> GC.heap_dump filename=realtime
and
jcmd <offline_pid> GC.heap_dump filename=offlineAnish Nair
02/02/2022, 12:27 PMCaught temporary exception while pushing table: dim_partners segment: dim_partners_OFFLINE_0 to <http://d9-max-insert-2.srv:9000>, will retry
org.apache.pinot.common.exception.HttpErrorStatusException: Got error status code: 500 (Internal Server Error) with reason: "Exception while uploading segment: null" while sending request: <http://d9-max-insert-2.srv:9000/v2/segments?tableName=dim_partners&tableName=dim_partners&tableType=OFFLINE> to controller: d9-max-insert-2.srv, version: UnknownRichard Startin
02/02/2022, 12:29 PMRichard Startin
02/02/2022, 12:29 PMAnish Nair
02/02/2022, 12:29 PMSumit Lakra
02/02/2022, 2:10 PMRichard Startin
02/02/2022, 2:10 PMSumit Lakra
02/02/2022, 2:11 PMRichard Startin
02/02/2022, 2:12 PMDimensionDataTableManager you can see what's in _lookupTable instead?Sumit Lakra
02/02/2022, 2:12 PMRichard Startin
02/02/2022, 2:17 PMRichard Startin
02/02/2022, 2:18 PMSELECT
lookUp('dim_tabl1', 'display_name', 'dim_joinkey', fact_joinkey),
sum(metric1) AS sum_1
FROM reporting_aggregations
WHERE stats_date_hour between '2022012000' and '2022012223'
GROUP BY lookUp('dim_tabl1', 'display_name', 'dim_joinkey', fact_joinkey)
ORDER BY sum(metric1)
DESC LIMIT 10000
can you try to rewrite it as
SELECT
lookUp('dim_tabl1', 'display_name', 'dim_joinkey', fact_joinkey) as dim,
sum(metric1) AS sum_1
FROM reporting_aggregations
WHERE stats_date_hour between '2022012000' and '2022012223'
GROUP BY dim
ORDER BY sum(metric1)
DESC LIMIT 10000Anish Nair
02/02/2022, 2:22 PMRichard Startin
02/02/2022, 2:26 PMAnish Nair
02/02/2022, 2:28 PMRichard Startin
02/02/2022, 2:29 PMAnish Nair
02/02/2022, 2:29 PMRichard Startin
02/02/2022, 2:29 PMORDER by sum_1Richard Startin
02/02/2022, 2:50 PMRichard Startin
02/02/2022, 2:51 PMAnish Nair
02/02/2022, 2:52 PMRichard Startin
02/02/2022, 2:53 PMAnish Nair
02/02/2022, 2:53 PMAnish Nair
02/02/2022, 2:53 PMRichard Startin
02/02/2022, 3:02 PMAnish Nair
02/02/2022, 3:23 PMRichard Startin
02/02/2022, 3:27 PMAnish Nair
02/02/2022, 3:28 PMRichard Startin
02/02/2022, 3:29 PMAnish Nair
02/03/2022, 7:21 AMRichard Startin
02/03/2022, 9:23 AM_lookupTable in the class DimensionDataTableManager is empty or not, you can do this by introspecting a heap dump, you don't need to be running queries at the same timeSumit Lakra
02/03/2022, 9:37 AMRichard Startin
02/03/2022, 9:40 AMtableSumit Lakra
02/03/2022, 9:47 AMRichard Startin
02/03/2022, 9:47 AMRichard Startin
02/03/2022, 9:48 AMSumit Lakra
02/03/2022, 9:49 AMRichard Startin
02/03/2022, 9:50 AMSumit Lakra
02/03/2022, 9:50 AMRichard Startin
02/03/2022, 9:52 AMSumit Lakra
02/03/2022, 9:58 AMSumit Lakra
02/03/2022, 9:59 AMRichard Startin
02/03/2022, 10:00 AMRichard Startin
02/03/2022, 10:00 AMRichard Startin
02/03/2022, 10:01 AMRichard Startin
02/03/2022, 10:03 AMSumit Lakra
02/03/2022, 10:03 AMAnish Nair
02/03/2022, 10:05 AMRichard Startin
02/03/2022, 10:05 AMAnish Nair
02/03/2022, 10:05 AMRichard Startin
02/03/2022, 10:06 AMAnish Nair
02/03/2022, 10:08 AMRichard Startin
02/03/2022, 10:10 AMRichard Startin
02/03/2022, 10:11 AMRichard Startin
02/03/2022, 10:12 AMAnish Nair
02/03/2022, 10:13 AMRichard Startin
02/03/2022, 10:14 AMRichard Startin
02/03/2022, 10:15 AMSumit Lakra
02/03/2022, 10:25 AMAnish Nair
02/03/2022, 11:30 AMAnish Nair
02/03/2022, 11:31 AMAnish Nair
02/03/2022, 11:32 AMAnish Nair
02/03/2022, 11:34 AMRichard Startin
02/03/2022, 5:02 PMRichard Startin
02/03/2022, 5:03 PMAnish Nair
02/04/2022, 6:55 AMXiang Fu
Anish Nair
02/04/2022, 8:48 AMAnish Nair
02/04/2022, 9:59 AMAnish Nair
02/04/2022, 9:59 AMRichard Startin
02/04/2022, 3:11 PMAnish Nair
02/04/2022, 3:13 PMRichard Startin
02/04/2022, 3:13 PMRichard Startin
02/04/2022, 3:16 PMAnish Nair
02/04/2022, 3:40 PMAnish Nair
02/07/2022, 10:34 AMRichard Startin
02/07/2022, 10:36 AMAnish Nair
02/09/2022, 11:44 AMRichard Startin
02/09/2022, 11:56 AMRichard Startin
02/09/2022, 11:58 AM