This message was deleted.
# troubleshooting
s
This message was deleted.
b
Yes, taskCount = # of shards per Kafka / Kinesis as a best practice
j
Thank you, Brandon
šŸ‘ 1
g
hmm. even with 10 shards -> 1 task, a GB heap is intended to be enough. it would just go slower than 10 tasks; the idea is you should be scaling up your tasks for perf reasons not memory reasons
do you know what is in the 10 GB (do you have any heap dumps, for example)?
could indicate something we need to improve
j
I don’t have any heap dumps, though I suspect these would be very useful. I’ll look into this into the future. Though just recently, I discovered that reducing the recordsPerFetch from default 4000 -> 10 and recordBufferSize from 10000 -> 100 allowed for a 1GB heap
We use KPL aggregation on our records and I’m lead to believe the internal buffer for records between the fetch threads and the indexer thread is causing the OOMs
g
ah, maybe that's it! those, i bet, are per-shard
oh, and you're also saying something else, that your messages are huge because of aggregation
j
By ā€œthoseā€ you mean the internal record buffers?
Messages are max 1MB; they still abide to Kinesis shard limits
Though the average size of our messages are 500KB
g
are you using the
deaggregate
setting in your druid kinesis supervisor?
j
yep
g
nvm, those settings are not per-shard. just checked. so i think you're right that it's deaggregation related
j
OH I see what you mean
Yeah, my earlier read through the source-code revealed the recordBufferSize counts an aggregated record as 1 count, rather than counting the individual exploded records. Which makes it consistent with recordsPerFetch I suppose, but it was counter to my initial thoughts
g
raised a patch to set the defaults better, and clarify the docs: https://github.com/apache/druid/pull/13539
j
You legend! Thanks, Gian