Why can cache be set on realtime nodes but not middlemanager nodes?

According to docs, cache can be set on broker, historical and realtime nodes.
any reason why middle manager/peon nodes are excluded?

It can be set on middlemanagers too; they use the same config parameters as “realtime”. Would you be interested in doing a PR to fix the docs?

sure. i will make one shortly

The docs here talk about enabling caching for either broker or historical but not both.
it doesnt mention realtime/mm nodes. so i have no idea what is the recommendation there…

does enabling caching on historical mean you should also enable it on MM/realtime nodes always ?

Our default configs (in the package you download) enable caching on historicals but nowhere else. I think it’s a reasonable default because:

  1. Broker cache is off by default since enabling it means that historicals stop being able to merge segments, which can hurt the ability of the system to scale well.

  2. Realtime cache is off by default since realtime tasks tend to be more memory constrained than historicals, and tend to be able to process queries quicker, so spending memory on cache doesn’t tend to make as much sense.

However, we provide the options in case your particular situation differs from the ‘typical’ one.

Our default configs (in the package you download) enable caching on historicals
This is incorrect, just downloaded druid-0.12.1-bin.tar.gz and it in fact enables caching on broker instead of historical

Oh, you’re right. I got the Imply package and the Druid package confused (the Imply one works the way I said). Well, I think it’d make sense to change the Druid sample configs to match what I said, since I think it’s better that way :slight_smile: