In RollingCalendar method periodBarriersCrossed, when periods are computed for TOP_OF_HOUR periodicity, unnecessary (and invalid) type cast is performed:
in case diff > MAX_INT, return from method is wrong.
After i start application, method TimeBasedArchiverRemover.clean(Date now) is in some point called. Then, computation of period elapsed since last clean is called with parameters:
where nowInMillis = 1507034734848 (date = Tue Oct 03 14:45:34 CEST 2017)
In method, diff is computed (diff = 2761200000). This value > MAX_INT, so expression
so no clean up is performed