The logic in CacheManager#checkLimit is not correct. In this method, it does with these three logic:
First, it will compute needed bytes for the specific path.
But the param replication is not used here. And the bytesNeeded is just one replication's vaue.
Second, then it should be multiply by the replication to compare the limit size because the method computeNeeded was not used replication.
Third, if we find the size was more than the limit value and then print warning info. It divided by replication here, while the stats.getBytesNeeded() was just one replication value.