I understand and agree with the idea of removing the Row Cache as likely to be hazardous to most users.
I do not, however, understand removing the on-heap Row Cache and keeping the off-heap one.
Problems with on-heap cache :
1) if you make it too big, you consume too much heap
Problems with off-heap cache :
1) still consumes heap despite being off-heap, including marginal heap on each read/write
2) serialize-deserialize penalty on read/write
3) invalidates on write
Other than the fact that the on-heap is more likely to cause you problems by running out of heap if it is too large, it seems on its face to be a better implementation of the row cache concept than the off-heap row cache. If we already accept that the Row Cache is for use by people who know what they are doing... aren't those users likely to actually prefer the on-heap cache, especially in 2.0 where heap pressure is the least severe it has ever been? Is there something I'm missing about what makes the on-heap cache so bad?
tl;dr : I +1 sylvain's comments above, but with some questions re on-heap vs. off-heap.