From 897532c88de8bd61de140f2bd5c8c4f61fbd2b9e Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Tue, 2 Feb 2021 08:10:28 +0100 Subject: [PATCH] synchronized thread --- .../manager/controller/MDStoreController.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/MDStoreController.java b/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/MDStoreController.java index b17e9e81..185e3b34 100644 --- a/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/MDStoreController.java +++ b/apps/dhp-mdstore-manager/src/main/java/eu/dnetlib/data/mdstore/manager/controller/MDStoreController.java @@ -152,20 +152,21 @@ public class MDStoreController extends AbstractDnetController { @ApiOperation("Delete expired versions") @DeleteMapping("/versions/expired") public StatusResponse deleteExpiredVersions() { - new Thread(() -> { - for (final String versionId : databaseUtils.listExpiredVersions()) { - try { - final String hdfsPath = databaseUtils.deleteMdStoreVersion(versionId, true); - hdfsClient.deletePath(hdfsPath); - } catch (final MDStoreManagerException e) { - log.warn("Error deleteting version " + versionId, e); - } - } - }).start(); - + new Thread(this::performDeleteOfExpiredVersions).start(); return StatusResponse.DELETING; } + private synchronized void performDeleteOfExpiredVersions() { + for (final String versionId : databaseUtils.listExpiredVersions()) { + try { + final String hdfsPath = databaseUtils.deleteMdStoreVersion(versionId, true); + hdfsClient.deletePath(hdfsPath); + } catch (final MDStoreManagerException e) { + log.warn("Error deleteting version " + versionId, e); + } + } + } + @ApiOperation("Fix the inconsistencies on HDFS") @GetMapping("/hdfs/inconsistencies") public Set fixHdfsInconsistencies(