@Override public Void call() { long startTime = System.currentTimeMillis(); LOG.info("Starting stores in task instance {}", this.taskName.getTaskName()); taskRestoreManager.restoreStores(); // Stop all persistent stores after restoring. Certain persistent stores opened in BulkLoad mode are compacted // on stop, so paralleling stop() also parallelizes their compaction (a time-intensive operation). taskRestoreManager.stopPersistentStores(); long timeToRestore = System.currentTimeMillis() - startTime; if (this.samzaContainerMetrics != null) { Gauge taskGauge = this.samzaContainerMetrics.taskStoreRestorationMetrics().getOrDefault(this.taskName, null); if (taskGauge != null) { taskGauge.set(timeToRestore); } } return null; } }