Slackbot
09/21/2022, 5:14 PMAmatya Avadhanula
09/21/2022, 5:18 PMJulian Reyes
09/21/2022, 5:20 PM{
"type": "kinesis",
"spec": {
"dataSchema": {
"dataSource": "test_dev",
"timestampSpec": {
"column": "ts",
"format": "millis",
"missingValue": null
},
"dimensionsSpec": {
"dimensions": [
{
"type": "string",
"name": "user_id",
"multiValueHandling": "SORTED_ARRAY",
"createBitmapIndex": true
},
{
"type": "string",
"name": "network",
"multiValueHandling": "SORTED_ARRAY",
"createBitmapIndex": true
},
{
"type": "string",
"name": "proxy",
"multiValueHandling": "SORTED_ARRAY",
"createBitmapIndex": true
},
{
"type": "string",
"name": "status_code",
"multiValueHandling": "SORTED_ARRAY",
"createBitmapIndex": true
}
],
"dimensionExclusions": [
"__time",
"count",
"ts"
],
"includeAllDimensions": false
},
"metricsSpec": [
{
"type": "count",
"name": "count"
}
],
"granularitySpec": {
"type": "uniform",
"segmentGranularity": "DAY",
"queryGranularity": "MINUTE",
"rollup": true,
"intervals": []
}
},
"ioConfig": {
"stream": "test_dev",
"inputFormat": {
"type": "json",
"flattenSpec": {
"useFieldDiscovery": true,
"fields": []
},
"featureSpec": {},
"keepNullColumns": true
},
"endpoint": "<http://kinesis.us-east-1.amazonaws.com|kinesis.us-east-1.amazonaws.com>",
"replicas": 1,
"taskCount": 1,
"taskDuration": "PT3600S",
"startDelay": "PT5S",
"period": "PT30S",
"useEarliestSequenceNumber": true,
"completionTimeout": "PT1800S",
"lateMessageRejectionPeriod": null,
"earlyMessageRejectionPeriod": null,
"lateMessageRejectionStartDateTime": null,
"recordsPerFetch": 1000,
"fetchDelayMillis": 0,
"awsAssumedRoleArn": null,
"awsExternalId": null,
"autoScalerConfig": null,
"deaggregate": false,
"type": "kinesis"
},
"tuningConfig": {
"type": "kinesis",
"appendableIndexSpec": {
"type": "onheap",
"preserveExistingMetrics": false
},
"maxRowsInMemory": 1000000,
"maxBytesInMemory": 0,
"skipBytesInMemoryOverheadCheck": false,
"maxRowsPerSegment": 5000000,
"maxTotalRows": null,
"intermediatePersistPeriod": "PT10M",
"basePersistDirectory": "/opt/druid/var/tmp/druid-realtime-persist7423828671201627472",
"maxPendingPersists": 0,
"indexSpec": {
"bitmap": {
"type": "roaring",
"compressRunOnSerialization": true
},
"dimensionCompression": "lz4",
"metricCompression": "lz4",
"longEncoding": "longs",
"segmentLoader": null
},
"indexSpecForIntermediatePersists": {
"bitmap": {
"type": "roaring",
"compressRunOnSerialization": true
},
"dimensionCompression": "lz4",
"metricCompression": "lz4",
"longEncoding": "longs",
"segmentLoader": null
},
"reportParseExceptions": false,
"handoffConditionTimeout": 0,
"resetOffsetAutomatically": false,
"skipSequenceNumberAvailabilityCheck": true,
"segmentWriteOutMediumFactory": null,
"workerThreads": null,
"chatThreads": null,
"chatRetries": 8,
"httpTimeout": "PT10S",
"shutdownTimeout": "PT80S",
"recordBufferSize": 10000,
"recordBufferOfferTimeout": 5000,
"recordBufferFullWait": 5000,
"fetchThreads": null,
"logParseExceptions": false,
"maxParseExceptions": 2147483647,
"maxSavedParseExceptions": 0,
"maxRecordsPerPoll": 100,
"intermediateHandoffPeriod": "P2147483647D",
"repartitionTransitionDuration": "PT120S",
"offsetFetchPeriod": "PT30S",
"useListShards": true,
"skipIgnorableShards": false
}
},
"context": null
}Amatya Avadhanula
09/21/2022, 5:20 PMJulian Reyes
09/21/2022, 5:20 PMAmatya Avadhanula
09/21/2022, 5:21 PMJulian Reyes
09/21/2022, 5:22 PMAmatya Avadhanula
09/21/2022, 5:23 PMJulian Reyes
09/21/2022, 5:23 PMAmatya Avadhanula
09/21/2022, 5:24 PMAmatya Avadhanula
09/21/2022, 5:24 PMJulian Reyes
09/21/2022, 5:25 PMAmatya Avadhanula
09/21/2022, 5:25 PMfetchDelayMillis can be set to 100 or 200msAmatya Avadhanula
09/21/2022, 5:25 PMAmatya Avadhanula
09/21/2022, 5:25 PMJulian Reyes
09/21/2022, 5:38 PMJulian Reyes
09/21/2022, 5:38 PMJulian Reyes
09/21/2022, 6:18 PMAmatya Avadhanula
09/21/2022, 6:19 PMJulian Reyes
09/21/2022, 6:21 PMtransformations: [(obj, opts): void => {
// Link service account to IAM role we created
if (obj.kind === 'Deployment') {
obj.spec.template.spec.serviceAccountName = serviceAccountName;
}
}],
that result in following deployments having the serviceaccount:
druid-cluster-test-broker
druid-cluster-test-coordinator
druid-cluster-test-router
they are the only deploymentsSergio Ferragut
09/21/2022, 6:28 PMJulian Reyes
09/21/2022, 6:33 PMJulian Reyes
09/21/2022, 6:49 PMJulian Reyes
09/21/2022, 6:52 PM2022-09-21T18:51:09,629 WARN [KinesisRecordSupplier-Worker-1] org.apache.druid.indexing.kinesis.KinesisRecordSupplier - encounted ProvisionedThroughputExceededException while fetching records, this means that the request rate for the stream is too high, or the requested data is too large for the available throughput. Reduce the frequency or size of your requests.
com.amazonaws.services.kinesis.model.ProvisionedThroughputExceededException: Rate exceeded for Shard - 123756343567/test_dev/shardId-000000000014 (Service: AmazonKinesis; Status Code: 400; Error Code: ProvisionedThroughputExceededException; Request ID: c1db5b18-274a-13db-9a7e-0445eb3dab18; Proxy: null)
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1879) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1418) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1387) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1157) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:814) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:781) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:755) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:715) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:697) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:561) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:541) ~[aws-java-sdk-core-1.12.264.jar:?]
at com.amazonaws.services.kinesis.AmazonKinesisClient.doInvoke(AmazonKinesisClient.java:2980) ~[?:?]
at com.amazonaws.services.kinesis.AmazonKinesisClient.invoke(AmazonKinesisClient.java:2947) ~[?:?]
at com.amazonaws.services.kinesis.AmazonKinesisClient.invoke(AmazonKinesisClient.java:2936) ~[?:?]
at com.amazonaws.services.kinesis.AmazonKinesisClient.executeGetRecords(AmazonKinesisClient.java:1330) ~[?:?]
at com.amazonaws.services.kinesis.AmazonKinesisClient.getRecords(AmazonKinesisClient.java:1299) ~[?:?]
at org.apache.druid.indexing.kinesis.KinesisRecordSupplier$PartitionResource.lambda$fetchRecords$1(KinesisRecordSupplier.java:240) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_275]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_275]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_275]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_275]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_275]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_275]
at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_275]Amatya Avadhanula
09/21/2022, 6:54 PMJulian Reyes
09/21/2022, 6:54 PMJulian Reyes
09/21/2022, 6:55 PM"fetchDelayMillis": 200,Sergio Ferragut
09/21/2022, 7:35 PM"recordsPerFetch": 1000 but maybe you are hitting the 10MB limit on the fetch?Julian Reyes
09/21/2022, 7:51 PMJulian Reyes
09/21/2022, 7:51 PMSergio Ferragut
09/21/2022, 7:55 PM"fetchDelayMillis": 200 puts you right at the limit for a single ingestion, if you have two of them, maybe that's the issue. If you need to have both running, I think you need to set that to 400 on both of them?Julian Reyes
09/21/2022, 8:50 PM