I'm experiencing an issue where the fetchDelayMillis and recordsPerFetch parameters in the tuningConfig of a Kinesis ingestion task are not being applied. These parameters seem to be ignored or removed when the task is submitted, resulting in the ingestion task exceeding Kinesis shard read throughput limits and causing ProvisionedThroughputExceededException errors.
Despite specifying these parameters in the ingestion spec, they do not appear in the running task's configuration, and the task continues to exceed the Kinesis API call limits.
Steps to Reproduce:
Set Up Kinesis Stream:
A Kinesis stream named imply_ranty_nrules_stream with 6 shards.
Approximately 2,000 records per second are entering the stream.
Create the Ingestion Spec:
Note: I've set fetchDelayMillis and recordsPerFetch in the tuningConfig.
Observe the Running Task Configuration:
Checked the task details in the Druid console under the Tasks section.
Noticed that the fetchDelayMillis and recordsPerFetch parameters are missing from the running task's tuningConfig.
Monitor Logs and Metrics:
.Despite the parameters being set in the ingestion spec, the ingestion task continues to exceed Kinesis read limits.
.The following errors appear in the MiddleManager logs:
com.amazonaws.services.kinesis.model.ProvisionedThroughputExceededException: Rate exceeded for Shard - [shard details] (Service: AmazonKinesis; Status Code: 400; Error Code: ProvisionedThroughputExceededException; ...)
Expected Behavior:
The ingestion task should apply the fetchDelayMillis and recordsPerFetch parameters from the tuningConfig.
The task should respect the Kinesis shard read throughput limits by throttling GetRecords calls according to the specified parameters.
The parameters should appear in the running task's configuration when inspected.
Actual Behavior:
The fetchDelayMillis and recordsPerFetch parameters are not applied.
These parameters are missing from the running task's tuningConfig.
The ingestion task exceeds Kinesis read throughput limits, resulting in ProvisionedThroughputExceededException errors.
Increasing taskCount or adjusting other parameters does not resolve the issue.
I'm experiencing an issue where the fetchDelayMillis and recordsPerFetch parameters in the tuningConfig of a Kinesis ingestion task are not being applied. These parameters seem to be ignored or removed when the task is submitted, resulting in the ingestion task exceeding Kinesis shard read throughput limits and causing ProvisionedThroughputExceededException errors.
Despite specifying these parameters in the ingestion spec, they do not appear in the running task's configuration, and the task continues to exceed the Kinesis API call limits.
Steps to Reproduce: Set Up Kinesis Stream:
A Kinesis stream named imply_ranty_nrules_stream with 6 shards. Approximately 2,000 records per second are entering the stream. Create the Ingestion Spec:
Here's the ingestion spec used:
Note: I've set fetchDelayMillis and recordsPerFetch in the tuningConfig.
Observe the Running Task Configuration:
Checked the task details in the Druid console under the Tasks section. Noticed that the fetchDelayMillis and recordsPerFetch parameters are missing from the running task's tuningConfig.
Monitor Logs and Metrics:
.Despite the parameters being set in the ingestion spec, the ingestion task continues to exceed Kinesis read limits. .The following errors appear in the MiddleManager logs:
Expected Behavior: The ingestion task should apply the fetchDelayMillis and recordsPerFetch parameters from the tuningConfig. The task should respect the Kinesis shard read throughput limits by throttling GetRecords calls according to the specified parameters. The parameters should appear in the running task's configuration when inspected. Actual Behavior: The fetchDelayMillis and recordsPerFetch parameters are not applied. These parameters are missing from the running task's tuningConfig. The ingestion task exceeds Kinesis read throughput limits, resulting in ProvisionedThroughputExceededException errors. Increasing taskCount or adjusting other parameters does not resolve the issue.