João Comini
12/04/2020, 3:10 PM[BaseBrokerRequestHandler] [jersey-server-managed-async-executor-1] Failed to find time boundary info for hybrid table: transaction
When I try to run a query, i get a timeout. Server log:
Timed out while polling results block, numBlocksMerged: 0 (query: QueryContext{_tableName='transaction_REALTIME', _selectExpressions=[count(*)], _aliasMap={}, _filter=transactionDate > '1606971455132', _groupByExpressions=null, _havingFilter=null, _orderByExpressions=null, _limit=10, _offset=0, _queryOptions={responseFormat=sql, groupByMode=sql, timeoutMs=9999}, _debugOptions=null, _brokerRequest=BrokerRequest(querySource:QuerySource(tableName:transaction_REALTIME), filterQuery:FilterQuery(id:0, column:transactionDate, value:[(1606971455132 *)], operator:RANGE, nestedFilterQueryIds:[]), aggregationsInfo:[AggregationInfo(aggregationType:COUNT, aggregationParams:{column=*}, isInSelectList:true, expressions:[*])], filterSubQueryMap:FilterQueryMap(filterQueryMap:{0=FilterQuery(id:0, column:transactionDate, value:[(1606971455132 *)], operator:RANGE, nestedFilterQueryIds:[])}), queryOptions:{responseFormat=sql, groupByMode=sql, timeoutMs=9999}, pinotQuery:PinotQuery(dataSource:DataSource(tableName:transaction_REALTIME), selectList:[Expression(type:FUNCTION, functionCall:Function(operator:COUNT, operands:[Expression(type:IDENTIFIER, identifier:Identifier(name:*))]))], filterExpression:Expression(type:FUNCTION, functionCall:Function(operator:GREATER_THAN, operands:[Expression(type:IDENTIFIER, identifier:Identifier(name:transactionDate)), Expression(type:LITERAL, literal:<Literal longValue:1606971455132>)]))), limit:10)})
If I try to use Tracing
i get a NPE in the offline servers:
ERROR [QueryScheduler] [pqr-0] Encountered exception while processing requestId 83 from broker Broker_pinot-broker-0.pinot-broker-headless.pinot.svc.cluster.local_8099
java.lang.NullPointerException: null
at org.apache.pinot.core.util.trace.TraceContext.getTraceInfo(TraceContext.java:188) ~[pinot-all-0.6.0-jar-with-dependencies.jar:0.6.0-bb646baceafcd9b849a1ecdec7a11203c7027e21]
at org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:235) ~[pinot-all-0.6.0-jar-with-dependencies.jar:0.6.0-bb646baceafcd9b849a1ecdec7a11203c7027e21]
at org.apache.pinot.core.query.executor.QueryExecutor.processQuery(QueryExecutor.java:60) ~[pinot-all-0.6.0-jar-with-dependencies.jar:0.6.0-bb646baceafcd9b849a1ecdec7a11203c7027e21]
at org.apache.pinot.core.query.scheduler.QueryScheduler.processQueryAndSerialize(QueryScheduler.java:155) ~[pinot-all-0.6.0-jar-with-dependencies.jar:0.6.0-bb646baceafcd9b849a1ecdec7a11203c7027e21]
I'm running Pinot 0.6.0 btw,João Comini
12/04/2020, 3:14 PMMayank
João Comini
12/04/2020, 3:24 PM{
"tableName": "transaction",
"tableType": "OFFLINE",
"tenants": {
"broker": "fraud",
"server": "fraud"
},
"segmentsConfig": {
"schemaName": "transaction",
"timeColumnName": "transactionDate",
"timeType": "MILLISECONDS",
"replication": "2",
"segmentPushType": "APPEND",
"retentionTimeUnit": "DAYS",
"retentionTimeValue": "365"
},
"tableIndexConfig": {
"loadMode": "MMAP",
"invertedIndexColumns": [
"customerUuid"
],
"noDictionaryColumns": [
"totalValue"
],
"sortedColumn": [
"customerUuid"
],
"segmentPartitionConfig": {
"columnPartitionMap": {
"customerUuid": {
"functionName": "Murmur",
"numPartitions": 4
}
}
}
},
"metadata": {},
"routing": {
"segmentPrunerTypes": [
"partition"
]
}
}
Realtime table config:
{
"tableName": "transaction",
"tableType": "REALTIME",
"tenants": {
"broker": "fraud",
"server": "fraud",
"tagOverrideConfig": {
"realtimeConsuming": "fraud_REALTIME",
"realtimeCompleted": "fraud_OFFLINE"
}
},
"segmentsConfig": {
"schemaName": "transaction",
"timeColumnName": "transactionDate",
"timeType": "MILLISECONDS",
"replicasPerPartition": "2",
"segmentPushType": "APPEND",
"segmentPushFrequency": "DAILY",
"retentionTimeUnit": "DAYS",
"retentionTimeValue": "365",
"completionConfig": {
"completionMode": "DOWNLOAD"
},
"peerSegmentDownloadScheme": "http"
},
"tableIndexConfig": {
"loadMode": "MMAP",
"streamConfigs": {
"streamType": "kafka",
"stream.kafka.consumer.type": "LowLevel",
"stream.kafka.consumer.prop.auto.offset.reset": "smallest",
"stream.kafka.consumer.factory.class.name": "org.apache.pinot.plugin.stream.kafka20.KafkaConsumerFactory",
"stream.kafka.decoder.class.name": "org.apache.pinot.plugin.inputformat.avro.confluent.KafkaConfluentSchemaRegistryAvroMessageDecoder",
"realtime.segment.flush.threshold.rows": "0",
"realtime.segment.flush.threshold.time": "4h",
"realtime.segment.flush.segment.size": "10M"
},
"invertedIndexColumns": [
"customerUuid"
],
"noDictionaryColumns": [
"totalValue"
],
"sortedColumn": [
"customerUuid"
],
"aggregateMetrics": true,
"segmentPartitionConfig": {
"columnPartitionMap": {
"customerUuid": {
"functionName": "Murmur",
"numPartitions": 4
}
}
}
},
"metadata": {},
"routing": {
"segmentPrunerTypes": [
"partition"
]
}
}
Schema:
{
"schemaName": "transaction",
"dimensionFieldSpecs": [
{
"name": "customerUuid",
"dataType": "STRING"
}
],
"metricFieldSpecs": [
{
"name": "totalValue",
"dataType": "DOUBLE"
}
],
"dateTimeFieldSpecs": [
{
"name": "transactionDate",
"dataType": "LONG",
"format": "1:MILLISECONDS:EPOCH",
"granularity": "1:MILLISECONDS"
}
]
}
Ommited some things for security reasons 🙂João Comini
12/04/2020, 3:26 PMMayank
Failed to find segment with valid end time for table: {}, no time boundary generated
João Comini
12/04/2020, 4:58 PM[TimeBoundaryManager] [ClusterChangeHandlingThread] Failed to find segment with valid end time for table: transaction_OFFLINE, no time boundary generated
João Comini
12/04/2020, 4:59 PM2020/12/04 16:43:50.103 WARN [ZkBaseDataAccessor] [HelixController-pipeline-default-pinot-(afa2c547_DEFAULT)] Fail to read record for paths: {/pinot/INSTANCES/Server_pinot-server-1.pinot-server-headless.pinot.svc.cluster.local_8098/CURRENTSTATES/102888f0a96000a/transaction_OFFLINE=-101}
2020/12/04 16:43:50.104 WARN [AbstractDataCache] [HelixController-pipeline-default-pinot-(afa2c547_DEFAULT)] znode is null for key: /pinot/INSTANCES/Server_pinot-server-1.pinot-server-headless.pinot.svc.cluster.local_8098/CURRENTSTATES/102888f0a96000a/transaction_OFFLINE
2020/12/04 16:55:24.471 WARN [TopStateHandoffReportStage] [HelixController-pipeline-default-pinot-(cfba642e_DEFAULT)] Event cfba642e_DEFAULT : Cannot confirm top state missing start time. Use the current system time as the start time.
Mayank
select max(time)..
?João Comini
12/04/2020, 5:06 PM1607100225939
ERROR [ServerQueryExecutorV1Impl] [pqr-1] Exception processing requestId 179
java.lang.RuntimeException: Caught exception while running CombinePlanNode.
at org.apache.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:151) ~[pinot-all-0.6.0-jar-with-dependencies.jar:0.6.0-bb646baceafcd9b849a1ecdec7a11203c7027e21]
at org.apache.pinot.core.plan.InstanceResponsePlanNode.run(InstanceResponsePlanNode.java:33) ~[pinot-all-0.6.0-jar-with-dependencies.jar:0.6.0-bb646baceafcd9b849a1ecdec7a11203c7027e21]
at org.apache.pinot.core.plan.GlobalPlanImplV0.execute(GlobalPlanImplV0.java:45) ~[pinot-all-0.6.0-jar-with-dependencies.jar:0.6.0-bb646baceafcd9b849a1ecdec7a11203c7027e21]
at org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:294) ~[pinot-all-0.6.0-jar-with-dependencies.jar:0.6.0-bb646baceafcd9b849a1ecdec7a11203c7027e21]
Mayank
João Comini
12/04/2020, 5:07 PMselect max(transactionDate) from transaction_OFFLINE
, it just timeoutsJoão Comini
12/04/2020, 5:08 PMWhat is the exact query you are running? Do you have both offline and realtime tables right now?
select max(transactionDate) from transaction
Mayank
select max(transactionDate) from transaction_OFFLINE
should be really fast as it only looks at metadata.Mayank
max
without predicate from _OFFLINE/_REALTIME tableJoão Comini
12/04/2020, 5:10 PMMayank
Mayank
Mayank
João Comini
12/04/2020, 5:11 PMERROR [BaseCombineOperator] [pqr-0] Timed out while polling results block, numBlocksMerged: 0 (query: QueryContext{_tableName='transaction_OFFLINE', _selectExpressions=[max(transactionDate)], _aliasMap={}, _filter=null, _groupByExpressions=null, _havingFilter=null, _orderByExpressions=null, _limit=10, _offset=0, _queryOptions={responseFormat=sql, groupByMode=sql, timeoutMs=9999}, _debugOptions=null, _brokerRequest=BrokerRequest(querySource:QuerySource(tableName:transaction_OFFLINE), aggregationsInfo:[AggregationInfo(aggregationType:MAX, aggregationParams:{column=transactionDate}, isInSelectList:true, expressions:[transactionDate])], queryOptions:{responseFormat=sql, groupByMode=sql, timeoutMs=9999}, pinotQuery:PinotQuery(dataSource:DataSource(tableName:transaction_OFFLINE), selectList:[Expression(type:FUNCTION, functionCall:Function(operator:MAX, operands:[Expression(type:IDENTIFIER, identifier:Identifier(name:transactionDate))]))]), limit:10)})
Mayank
João Comini
12/04/2020, 5:12 PMMayank
João Comini
12/04/2020, 5:13 PMJoão Comini
12/04/2020, 5:13 PMMayank
João Comini
12/04/2020, 5:14 PMJoão Comini
12/04/2020, 5:14 PMMayank
Mayank
Mayank
Failed to find segment with valid end time for table: {}, no time boundary generated"
because the query to get max time from offline is timing outMayank
Mayank
João Comini
12/04/2020, 5:17 PMMayank
Mayank
João Comini
12/04/2020, 5:17 PMMayank
João Comini
12/04/2020, 5:20 PMMayank
João Comini
12/04/2020, 5:20 PMMayank
metadata.properties
file in segment folderJoão Comini
12/04/2020, 5:28 PMMayank
João Comini
12/04/2020, 5:29 PMJoão Comini
12/04/2020, 5:30 PMMayank
Mayank
João Comini
12/04/2020, 5:31 PMJoão Comini
12/04/2020, 5:35 PMsegment.padding.character = \u0000
segment.name = transaction_OFFLINE_1607011097024_1607097496995_0
segment.table.name = transaction_OFFLINE
segment.dimension.column.names = customerUuid,transactionId
segment.datetime.column.names = transactionDate
segment.time.column.name = transactionDate
segment.total.docs = 4198229
segment.start.time = 1607011097024
segment.end.time = 1607097496995
segment.time.unit = MILLISECONDS
column.customerUuid.cardinality = 1523662
column.customerUuid.totalDocs = 4198229
column.customerUuid.dataType = STRING
column.customerUuid.bitsPerElement = 21
column.customerUuid.lengthOfEachEntry = 36
column.customerUuid.columnType = DIMENSION
column.customerUuid.isSorted = false
column.customerUuid.hasNullValue = false
column.customerUuid.hasDictionary = true
column.customerUuid.textIndexType = NONE
column.customerUuid.hasInvertedIndex = true
column.customerUuid.isSingleValues = true
column.customerUuid.maxNumberOfMultiValues = 0
column.customerUuid.totalNumberOfEntries = 4198229
column.customerUuid.isAutoGenerated = false
column.customerUuid.partitionFunction = Murmur
column.customerUuid.numPartitions = 20
column.customerUuid.partitionValues = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
column.customerUuid.minValue = 0000167e-d426-4686-b315-31b756daace3
column.customerUuid.maxValue = fffffca6-52a8-4324-bd1c-c26ab3511720
column.customerUuid.defaultNullValue = null
column.transactionDate.cardinality = 3769234
column.transactionDate.totalDocs = 4198229
column.transactionDate.dataType = LONG
column.transactionDate.bitsPerElement = 22
column.transactionDate.lengthOfEachEntry = 0
column.transactionDate.columnType = DATE_TIME
column.transactionDate.isSorted = true
column.transactionDate.hasNullValue = false
column.transactionDate.hasDictionary = true
column.transactionDate.textIndexType = NONE
column.transactionDate.hasInvertedIndex = true
column.transactionDate.isSingleValues = true
column.transactionDate.maxNumberOfMultiValues = 0
column.transactionDate.totalNumberOfEntries = 4198229
column.transactionDate.isAutoGenerated = false
column.transactionDate.datetimeFormat = 1:MILLISECONDS:EPOCH
column.transactionDate.datetimeGranularity = 1:MILLISECONDS
column.transactionDate.minValue = 1607011097024
column.transactionDate.maxValue = 1607097496995
column.transactionDate.defaultNullValue = -9223372036854775808
column.transactionId.cardinality = 4198229
column.transactionId.totalDocs = 4198229
column.transactionId.dataType = LONG
column.transactionId.bitsPerElement = 23
column.transactionId.lengthOfEachEntry = 0
column.transactionId.columnType = DIMENSION
column.transactionId.isSorted = false
column.transactionId.hasNullValue = false
column.transactionId.hasDictionary = true
column.transactionId.textIndexType = NONE
column.transactionId.hasInvertedIndex = true
column.transactionId.isSingleValues = true
column.transactionId.maxNumberOfMultiValues = 0
column.transactionId.totalNumberOfEntries = 4198229
column.transactionId.isAutoGenerated = false
column.transactionId.minValue = 1956565750
column.transactionId.maxValue = 1960763978
column.transactionId.defaultNullValue = -9223372036854775808
segment.index.version = v3
Mayank
column.transactionDate.minValue = 1607011097024
column.transactionDate.maxValue = 1607097496995
Mayank
Mayank
Mayank
João Comini
12/04/2020, 5:36 PMJoão Comini
12/04/2020, 5:36 PMJoão Comini
12/04/2020, 5:37 PM"OFFLINE": {
"transaction_OFFLINE_1607011097024_1607097496995_0": {
"Server_pinot-server-0.pinot-server-headless.pinot.svc.cluster.local_8098": "ONLINE",
"Server_pinot-server-1.pinot-server-headless.pinot.svc.cluster.local_8098": "ONLINE"
}
}
Mayank
João Comini
12/04/2020, 5:42 PMMayank
João Comini
12/04/2020, 5:42 PMMayank
Mayank
João Comini
12/04/2020, 5:44 PMJoão Comini
12/04/2020, 5:44 PMMayank
Mayank
1607011097024
?João Comini
12/04/2020, 5:46 PMMayank
Mayank
Mayank
João Comini
12/04/2020, 5:47 PMMayank
João Comini
12/04/2020, 5:48 PMJoão Comini
12/04/2020, 5:48 PMjvmOpts: "-Xms512M -Xmx1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xloggc:/opt/pinot/gc-pinot-server.log"
João Comini
12/04/2020, 5:48 PMMayank
João Comini
12/04/2020, 5:48 PMMayank
João Comini
12/04/2020, 5:52 PMJoão Comini
12/04/2020, 5:55 PMMayank
João Comini
12/04/2020, 5:55 PMMayank
Mayank
João Comini
12/04/2020, 5:56 PMMayank
João Comini
12/04/2020, 5:57 PMJoão Comini
12/04/2020, 5:57 PMMayank
Mayank
João Comini
12/04/2020, 5:58 PMMayank
João Comini
12/04/2020, 5:58 PMselect count(*) from transaction_REALTIME
, i get 14226
João Comini
12/04/2020, 5:58 PMMayank
Mayank
João Comini
12/04/2020, 5:59 PMTracing
João Comini
12/04/2020, 6:00 PMJoão Comini
12/04/2020, 6:00 PMJoão Comini
12/04/2020, 6:09 PMMINUTES
granularityJoão Comini
12/04/2020, 6:24 PMMINUTES
granularityMayank
Subbu Subramaniam
12/04/2020, 6:50 PMMayank
João Comini
12/04/2020, 6:51 PM2020/12/04 18:38:42.604 WARN [TimeBoundaryManager] [HelixTaskExecutor-message_handle_thread] Failed to find segment with valid end time for table: transaction_OFFLINE, no time boundary generated
2020/12/04 18:38:56.598 WARN [BaseBrokerRequestHandler] [jersey-server-managed-async-executor-1] Failed to find time boundary info for hybrid table: transaction
João Comini
12/04/2020, 6:52 PMMayank
João Comini
12/04/2020, 6:55 PMJoão Comini
12/04/2020, 6:56 PMselect count(*) from transaction_REALTIME
returns 14243
• select count(*) from transaction_OFFLINE
returns 4198229
• select count(*) from transaction
returns 2406
João Comini
12/04/2020, 6:57 PMSubbu Subramaniam
12/04/2020, 6:58 PMJoão Comini
12/04/2020, 6:59 PMtransactionDate
is a LONG
. The offline segment is populated in MINUTES
nowJoão Comini
12/04/2020, 7:00 PM"ingestionConfig": {
"transformConfigs": [
{
"columnName": "minutesSinceEpoch",
"transformFunction": "toEpochMinutes(transactionDate)"
}
]
},
João Comini
12/04/2020, 7:04 PMsegmentPartitionConfig
has to be the same for both realtime and offline tables?João Comini
12/04/2020, 7:10 PMMINUTE
, tracing is not breaking the server anymoreMayank
João Comini
12/04/2020, 7:24 PMJoão Comini
12/05/2020, 1:06 AMsegmentPushFrequency
and segmentPushType
configs influence time boundary management?
There's something i should care about when pushing offline segments?Mayank
Mayank
Jackie
12/05/2020, 1:15 AMJoão Comini
12/05/2020, 1:15 AM2020-12-04 11:23:00
to 2020-11-23 18:46:00
as i created it today, and the offline segment that i pushed is a daily segment from day 2020-12-03
to 2020-12-04
Jackie
12/05/2020, 1:18 AMJackie
12/05/2020, 1:18 AMJoão Comini
12/05/2020, 1:19 AM{
"id": "transaction_OFFLINE_26781300_26782739_0",
"simpleFields": {
"segment.crc": "2804350904",
"segment.creation.time": "1607129889618",
"segment.end.time": "26782739",
"segment.index.version": "v3",
"segment.name": "transaction_OFFLINE_26781300_26782739_0",
"segment.offline.download.url": "<s3://dev-pinot-deep-store/controller-data/transaction/transaction_OFFLINE_26781300_26782739_0>",
"segment.offline.push.time": "1607129929914",
"segment.offline.refresh.time": "-9223372036854775808",
"segment.partition.metadata": "{\"columnPartitionMap\":{\"customerUuid\":{\"numPartitions\":5,\"partitions\":[0,1,2,3,4],\"functionName\":\"Murmur\"}}}",
"segment.start.time": "26781300",
"segment.table.name": "transaction_OFFLINE",
"segment.time.unit": "MINUTES",
"segment.total.docs": "3736571",
"segment.type": "OFFLINE"
},
"mapFields": {},
"listFields": {}
}
João Comini
12/05/2020, 1:20 AM{
"id": "transaction__0__0__20201205T0031Z",
"simpleFields": {
"segment.crc": "-1",
"segment.creation.time": "1607128311373",
"segment.end.time": "-1",
"segment.flush.threshold.size": "100000",
"segment.flush.threshold.time": null,
"segment.index.version": null,
"segment.name": "transaction__0__0__20201205T0031Z",
"segment.partition.metadata": "{\"columnPartitionMap\":{\"customerUuid\":{\"numPartitions\":20,\"partitions\":[0],\"functionName\":\"Murmur\"}}}",
"segment.realtime.download.url": null,
"segment.realtime.endOffset": "9223372036854775807",
"segment.realtime.numReplicas": "2",
"segment.realtime.startOffset": "8407",
"segment.realtime.status": "IN_PROGRESS",
"segment.start.time": "-1",
"segment.table.name": "transaction_REALTIME",
"segment.time.unit": "null",
"segment.total.docs": "-1",
"segment.type": "REALTIME"
},
"mapFields": {},
"listFields": {}
}
João Comini
12/05/2020, 1:20 AMJackie
12/05/2020, 1:20 AMJoão Comini
12/05/2020, 1:23 AMJoão Comini
12/05/2020, 1:26 AM{
"id": "transaction__10__0__20201205T0031Z",
"simpleFields": {
"segment.crc": "-1",
"segment.creation.time": "1607128311373",
"segment.end.time": "-1",
"segment.flush.threshold.size": "100000",
"segment.flush.threshold.time": null,
"segment.index.version": null,
"segment.name": "transaction__10__0__20201205T0031Z",
"segment.partition.metadata": "{\"columnPartitionMap\":{\"customerUuid\":{\"numPartitions\":20,\"partitions\":[10],\"functionName\":\"Murmur\"}}}",
"segment.realtime.download.url": null,
"segment.realtime.endOffset": "9223372036854775807",
"segment.realtime.numReplicas": "2",
"segment.realtime.startOffset": "8509",
"segment.realtime.status": "IN_PROGRESS",
"segment.start.time": "-1",
"segment.table.name": "transaction_REALTIME",
"segment.time.unit": "null",
"segment.total.docs": "-1",
"segment.type": "REALTIME"
},
"mapFields": {},
"listFields": {}
}
João Comini
12/05/2020, 1:27 AM2020/12/05 00:55:04.939 WARN [TimeBoundaryManager] [HelixTaskExecutor-message_handle_thread] Failed to find segment with valid end time for table: transaction_OFFLINE, no time boundary generated
2020/12/05 00:55:04.975 WARN [TimeBoundaryManager] [ClusterChangeHandlingThread] Failed to find segment with valid end time for table: transaction_OFFLINE, no time boundary generated
Jackie
12/05/2020, 1:27 AMJackie
12/05/2020, 1:28 AMJoão Comini
12/05/2020, 1:29 AMJoão Comini
12/05/2020, 1:29 AM2020/12/05 00:58:49.971 WARN [TopStateHandoffReportStage] [HelixController-pipeline-default-pinot-(c508fcc8_DEFAULT)] Event c508fcc8_DEFAULT : Cannot confirm top state missing start time. Use the current system time as the start time.
2020/12/05 00:58:50.004 WARN [ZkBaseDataAccessor] [ZkClient-EventThread-31-pinot-zookeeper:2181] Fail to read record for paths: {/pinot/INSTANCES/Server_pinot-server-1.pinot-server-headless.pinot.svc.cluster.local_8098/CURRENTSTATES/102888f0a96001c/transaction_OFFLINE=-101}
2020/12/05 00:58:50.005 WARN [ZkBaseDataAccessor] [HelixController-pipeline-task-pinot-(c508fcc8_TASK)] Fail to read record for paths: {/pinot/INSTANCES/Server_pinot-server-1.pinot-server-headless.pinot.svc.cluster.local_8098/CURRENTSTATES/102888f0a96001c/transaction_OFFLINE=-101}
2020/12/05 00:58:50.005 WARN [AbstractDataCache] [HelixController-pipeline-task-pinot-(c508fcc8_TASK)] znode is null for key: /pinot/INSTANCES/Server_pinot-server-1.pinot-server-headless.pinot.svc.cluster.local_8098/CURRENTSTATES/102888f0a96001c/transaction_OFFLINE
João Comini
12/05/2020, 1:29 AMJackie
12/05/2020, 1:32 AMJackie
12/05/2020, 1:33 AMJackie
12/05/2020, 1:34 AMselect min(transactionDate) from transaction_REALTIME
and also select min(transactionDate) from transaction
?Jackie
12/05/2020, 1:36 AMJackie
12/05/2020, 1:37 AMoffline end time - 1DAY
= Dec 2nd, 2:59:00 AM
Jackie
12/05/2020, 1:38 AMJoão Comini
12/05/2020, 1:52 AMJackie
12/05/2020, 1:56 AMselect min(transactionDate) from transaction_REALTIME where transactionDate > 26781299
? I think it should return the same result as querying bothJoão Comini
12/05/2020, 1:57 AM26781777
Jackie
12/05/2020, 1:58 AMJoão Comini
12/05/2020, 1:59 AMJackie
12/05/2020, 1:59 AM26781300 to 26782739
), the realtime table should have the same data already consumedMayank
Jackie
12/05/2020, 2:00 AMselect count(*) from transaction_REALTIME returns 14243
select count(*) from transaction_OFFLINE returns 4198229
Jackie
12/05/2020, 2:00 AMJoão Comini
12/05/2020, 2:00 AMMayank
Jackie
12/05/2020, 2:01 AMsmallest
per the configJoão Comini
12/05/2020, 2:02 AMJackie
12/05/2020, 2:02 AMMayank
João Comini
12/05/2020, 2:02 AMJoão Comini
12/05/2020, 2:03 AMJackie
12/05/2020, 2:04 AMMayank
João Comini
12/05/2020, 2:05 AMMayank
João Comini
12/05/2020, 2:05 AMJackie
12/05/2020, 2:06 AMMayank
Jackie
12/05/2020, 2:07 AMJackie
12/05/2020, 2:08 AMJackie
12/05/2020, 2:10 AMOffline: |[ ] |
Realtime: | [ ]|
Jackie
12/05/2020, 2:10 AMOffline: | [ ] |
Realtime: |[ ]|
João Comini
12/05/2020, 2:11 AMJoão Comini
12/05/2020, 2:11 AMJackie
12/05/2020, 2:12 AMJackie
12/05/2020, 2:13 AMJoão Comini
12/05/2020, 2:14 AMJoão Comini
12/05/2020, 2:15 AMJackie
12/05/2020, 2:20 AMJackie
12/05/2020, 2:23 AMJoão Comini
12/05/2020, 2:24 AMMayank
João Comini
12/05/2020, 2:25 AMJoão Comini
12/05/2020, 2:25 AMMayank