after turning on the feature "je.cleaner.useDeletedDir = true", when the cleaner finds files it can safely delete, if the 'ENV_HOME/deleted' directory is not present, then it will fail to delete the file, while spamming the logs with:
2016-04-26T02:42:40,499Z [Checkpointer] WARN c.s.j.c.Cleaner - - Cleaner deleteSafeToDeleteFiles Log file 0x4bf74 could not be renamed. This operation will be retried at the next checkpoint. State: files = {308568=status = TO_BE_CLEANED dbIds = null firstVlsn = -1 lastVlsn = -1, 308909=status = TO_BE_CLEANED dbIds = null firstVlsn = -1 lastVlsn = -1, 309286=status = TO_BE_CLEANED dbIds = null firstVlsn = -1 lastVlsn = -1, 309309=status = TO_BE_CLEANED dbIds = null firstVlsn = -1 lastVlsn = -1, 309313=status = TO_BE_CLEANED dbIds = null firstVlsn = -1 lastVlsn = -1, 309320=status = TO_BE_CLEANED dbIds = null firstVlsn = -1 lastVlsn = -1, 309486=status = TO_BE_CLEANED dbIds = null firstVlsn = -1 lastVlsn = -1, 3094.... (etc etc)
I believe it is just a missing call to ensure that the deleted directory has been created somewhere (perhaps on the Cleaner creation), because the final boolean success = oldFile.renameTo(newFile); call returns false (java.io.File)
example screenshot of com.sleepycat.je.log.FileManager#renameFile(long, java.lang.String, java.lang.String) :
