RBlockingQueue currently is "unbounded" this is the reason why remainingCapacity returns Integer.MAX. But it's bounded only by Redis server memory size. I'm thinking about introduction a bounded queue with custom length.