>>> Using MemoryMeter on a hot path like cache updates scares me a bit – it's pretty slow. Might want to switch to using the dataSize * liveRatio measurement that memtables use.
>>> So basically current 1.1 CLHM is totally broken since it has a capacity of X MB but weighs each item as one byte?
No we assume that the KeyCache to be 48 byte long average size (CacheService.AVERAGE_KEY_CACHE_ROW_SIZE)...
basically, cache capacity = keyCacheInMemoryCapacity / AVERAGE_KEY_CACHE_ROW_SIZE
hence each entry is considered to be 1 byte/one entry. (Kind of hackie may be we didn't have EntryWeigher i guess, now that we have it we can get rid of that logic).
>>> I don't see any use of IRCP with useMemoryWeigher=false, looks like we can remove that parameter
We still need it if we dont have Jamm Enabled.
>>> would prefer to assert value.size() < Integer.MAX_VALUE in SC.Weigher
Will do, Plz let me know if everything else is fine...
>>>If that's the case, we should target this for 1.1.1
Either ways we have to target for 1.1.1 because the serialized cache is broken