@Override public void run() { if (metadataTable == null || payloadTable == null || messageTable == null) { return; } long timeStamp = System.currentTimeMillis(); try (CloseableIterator<TopicMetadata> metadataIterator = metadataTable.scanTopics()) { while (metadataIterator.hasNext()) { TopicMetadata metadata = metadataIterator.next(); messageTable.pruneMessages(metadata, timeStamp); payloadTable.pruneMessages(metadata, timeStamp); } } catch (IOException ex) { LOG.debug("Unable to perform data cleanup in TMS LevelDB tables", ex); } } }
try { for (Map.Entry<TopicMetadata, LevelDBMessageTable> messageTableEntry : messageTableCache.asMap().entrySet()) { messageTableEntry.getValue().pruneMessages(messageTableEntry.getKey(), timeStamp);