Stav Gayer
12/21/2021, 3:37 PMpinot.max-rows-per-split-for-segment-queries=1000000
pinot.request-timeout=1m
)
as you can see, “broker jvm used” graph continues to rise and fall even when there are no requests to the server at all, and this did not stop until I deleted the pods
The same thing happened to the server
In addition, Trino is almost unusable
Simple query like
select * from bi_test_table where page_url like '%google%' and epoch_ts >= 1639440000
AND epoch_ts < 1640044800
get a timeout after a minute and sometimes crash the servers
Where am I wrong?Richard Startin
12/21/2021, 3:42 PMKishore G
Stav Gayer
12/21/2021, 4:05 PM{
"OFFLINE": {
"tableName": "bi_test_table_OFFLINE",
"tableType": "OFFLINE",
"segmentsConfig": {
"timeType": "MILLISECONDS",
"schemaName": "bi_test_table",
"retentionTimeUnit": "DAYS",
"retentionTimeValue": "365",
"segmentPushType": "REFRESH",
"replication": "1",
"timeColumnName": "epoch_ts",
"allowNullTimeValue": false
},
"tenants": {
"broker": "DefaultTenant",
"server": "DefaultTenant"
},
"tableIndexConfig": {
"rangeIndexVersion": 1,
"jsonIndexColumns": [
"json_array_column"
],
"autoGeneratedInvertedIndex": false,
"createInvertedIndexDuringSegmentGeneration": false,
"loadMode": "MMAP",
"invertedIndexColumns": [
"event_type_id"
],
"noDictionaryColumns": [
"json_array_column"
],
"enableDefaultStarTree": false,
"enableDynamicStarTreeCreation": false,
"aggregateMetrics": false,
"nullHandlingEnabled": false
},
"metadata": {
"customConfigs": {}
},
"ingestionConfig": {
"batchIngestionConfig": {
"segmentIngestionType": "REFRESH",
"segmentIngestionFrequency": "HOURLY"
},
"transformConfigs": [
{
"columnName": "json_array_column",
"transformFunction": "jsonFormat(\"array_column\")"
}
]
},
"isDimTable": false
}
}Richard Startin
12/21/2021, 4:06 PM"rangeIndexVersion":2,
"rangeIndexColumns": ["epoch_ts"]
to tableIndexConfigRichard Startin
12/21/2021, 4:07 PMepoch_ts your sorted columnRichard Startin
12/21/2021, 4:08 PMRichard Startin
12/21/2021, 4:08 PMpage_url tooRichard Startin
12/21/2021, 4:10 PMpage_url and what settings you recommend please?Stav Gayer
12/21/2021, 4:24 PMselect count(*) from consolidated where REGEXP_LIKE(page_url ,'/google/') and epoch_ts >= 1639440000
AND epoch_ts < 1640044800
and got this error
[
{
"message": "2 servers [10.20.155.230_O, 10.20.141.241_O] not responded",
"errorCode": 427
}
]
( i got 4 pinot servers)Richard Startin
12/21/2021, 4:26 PMRichard Startin
12/21/2021, 4:27 PMRichard Startin
12/21/2021, 4:28 PM"fstIndexColumns" : ["page_url"]
should do it, but I'm not 100% sure whether it will use lucene or native indexes because it's newStav Gayer
12/21/2021, 4:30 PMRichard Startin
12/21/2021, 4:30 PMRichard Startin
12/21/2021, 4:31 PMKishore G
Atri Sharma
12/21/2021, 4:31 PMRichard Startin
12/21/2021, 4:31 PMAtri Sharma
12/21/2021, 4:31 PMStav Gayer
12/21/2021, 4:51 PMselect count(*) from bi_test_table where page_url LIKE '%google%' and epoch_ts >= 1639440000
AND epoch_ts < 1640044800
But it’s not just in this query, I get timeouts all the time with all kinds of queriesRichard Startin
12/21/2021, 4:52 PMAtri Sharma
12/21/2021, 4:57 PMAtri Sharma
12/21/2021, 4:57 PMStav Gayer
12/21/2021, 5:04 PMreplicaCount: 4
resources:
requests:
cpu: 3
memory: 28G
limits:
cpu: 3
memory: 28G
jvmOpts: "-Xms1G -Xmx14G"
running on r5.xlargeStav Gayer
12/21/2021, 5:07 PMAtri Sharma
12/21/2021, 5:08 PMAtri Sharma
12/21/2021, 5:08 PMStav Gayer
12/21/2021, 5:16 PM{
"tableName": "bi_test_table",
"schema": {
"schemaName": "bi_test_table",
"dimensionFieldSpecs": [
// More fields
{
"name": "page_url",
"dataType": "STRING"
}
// More fields
],
"metricFieldSpecs": [
// More fields
],
"dateTimeFieldSpecs": [
{
"name": "epoch_ts",
"dataType": "LONG",
"format": "1:SECONDS:EPOCH",
"granularity": "1:MINUTES"
}
]
},
"offline": {
"tableName": "bi_test_table_OFFLINE",
"tableType": "OFFLINE",
"segmentsConfig": {
"timeType": "MILLISECONDS",
"schemaName": "consolidated",
"retentionTimeUnit": "DAYS",
"retentionTimeValue": "365",
"segmentPushType": "REFRESH",
"replication": "1",
"timeColumnName": "epoch_ts",
"allowNullTimeValue": false
},
"tenants": {
"broker": "DefaultTenant",
"server": "DefaultTenant"
},
"tableIndexConfig": {
"rangeIndexVersion": 2,
"jsonIndexColumns": [
"json_array_column"
],
"autoGeneratedInvertedIndex": false,
"createInvertedIndexDuringSegmentGeneration": false,
"sortedColumn": [
"epoch_ts"
],
"loadMode": "MMAP",
"invertedIndexColumns": [
"event_type_id"
],
"noDictionaryColumns": [
"json_array_column"
],
"fstIndexColumns" : ["page_url"],
"enableDefaultStarTree": false,
"enableDynamicStarTreeCreation": false,
"aggregateMetrics": false,
"nullHandlingEnabled": false
},
"metadata": {
"customConfigs": {}
},
"ingestionConfig": {
"batchIngestionConfig": {
"segmentIngestionType": "REFRESH",
"segmentIngestionFrequency": "HOURLY"
},
"transformConfigs": [
{
"columnName": "json_array_column",
"transformFunction": "jsonFormat(\"array_column\")"
}
]
},
"isDimTable": false
}
}Stav Gayer
12/21/2021, 5:17 PM{
"status": "TableConfigs updated for bi_test_table"
}Richard Startin
12/22/2021, 9:42 AMStav Gayer
12/22/2021, 3:16 PMRichard Startin
12/22/2021, 3:24 PMRichard Startin
12/22/2021, 3:24 PMRichard Startin
12/22/2021, 3:25 PMRichard Startin
12/22/2021, 3:25 PMjcmd <pid> JFR.start duration=60s filename=<filename>.jfr settings=profileAtri Sharma
12/22/2021, 3:31 PMRichard Startin
12/22/2021, 3:49 PMStav Gayer
12/22/2021, 3:50 PMRichard Startin
12/22/2021, 3:51 PMAtri Sharma
12/22/2021, 3:56 PMAtri Sharma
12/22/2021, 3:57 PMRichard Startin
12/22/2021, 4:05 PMRichard Startin
12/22/2021, 4:06 PMMayank
1. What's the smallest granularity you will query the data in? If something like hours, perhaps that's how you want to store the time (will reduce cardinality).
2. What's the broker response and metadata response for the query: select count(*) from bi_test_table where epoch_ts between 1639440000 AND 1640044800
3. Typically, you don't want to sort on time column, it is naturally in order (if events are chronological), you may pick another column for sorting (won't help this query, but might with others).Mayank