From 19951b804ed3700de8a66241cd25a72b6a7f4490 Mon Sep 17 00:00:00 2001 From: Fabio Sinibaldi Date: Thu, 7 Oct 2021 14:44:15 +0200 Subject: [PATCH] Downgrade to legacy storage implementation --- pom.xml | 5 +- .../cms/usecases/ClearConcessioni.java | 60 ++++++++++++------- 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index 2bec794..05d5a63 100644 --- a/pom.xml +++ b/pom.xml @@ -107,13 +107,12 @@ org.gcube.contentmanagement storage-manager-core - - [2.0.0, 2.9.0-SNAPSHOT) + [2.0.0, 3.0.0-SNAPSHOT) org.gcube.contentmanagement storage-manager-wrapper - [2.0.0, 2.9.0-SNAPSHOT) + [2.0.0, 3.0.0-SNAPSHOT) diff --git a/use-cases/src/test/java/org/gcube/application/cms/usecases/ClearConcessioni.java b/use-cases/src/test/java/org/gcube/application/cms/usecases/ClearConcessioni.java index 40161a5..7103a6e 100644 --- a/use-cases/src/test/java/org/gcube/application/cms/usecases/ClearConcessioni.java +++ b/use-cases/src/test/java/org/gcube/application/cms/usecases/ClearConcessioni.java @@ -1,5 +1,6 @@ package org.gcube.application.cms.usecases; +import lombok.extern.slf4j.Slf4j; import org.gcube.application.cms.tests.TokenSetter; import org.gcube.application.geoportal.client.legacy.ConcessioniManagerI; @@ -7,10 +8,14 @@ import org.gcube.application.geoportal.common.model.legacy.Concessione; import java.util.ArrayList; import java.util.Iterator; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.statefulMongoConcessioni; +@Slf4j public class ClearConcessioni { public static void main(String[] args) throws Exception { @@ -26,34 +31,49 @@ public class ClearConcessioni { AtomicLong count=new AtomicLong(0); AtomicLong nullCount=new AtomicLong(0); AtomicLong errCount=new AtomicLong(0); - + AtomicLong found=new AtomicLong(0); Iterator it=null; // it=manager.getList(); - it=manager.search("{\"nome\" : {\"$regex\" : \"Mock.*\"}}"); + it=manager.search("{\"creationUser\" : {\"$ne\" : \"francesco.mangiacrapa\"}}"); + + ExecutorService service = Executors.newFixedThreadPool(10); + it.forEachRemaining((Concessione c)->{ - try{ - String currentId=c.getMongo_id(); - if(currentId==null) { - System.out.println("ID IS NULL " + c); - nullCount.incrementAndGet(); - } - else - if(toSkipIds.contains(currentId)) - System.out.println("Skipping "+currentId); - else { - System.out.println("Deleting " + c.getMongo_id()); - manager.deleteById(c.getMongo_id(),true); + found.incrementAndGet(); + service.submit(new Runnable() { + @Override + public void run() { + try{ + TokenSetter.set("/gcube/devsec/devVRE"); + String currentId=c.getMongo_id(); + if(currentId==null) { + System.out.println("ID IS NULL " + c); + nullCount.incrementAndGet(); + } + else + if(toSkipIds.contains(currentId)) + System.out.println("Skipping "+currentId); + else { + System.out.println("Deleting " + c.getMongo_id()); + manager.deleteById(c.getMongo_id(),true); + } + }catch(Throwable throwable){ + System.err.println(throwable); + errCount.incrementAndGet(); + }finally { + count.incrementAndGet(); } - }catch(Throwable throwable){ - System.err.println(throwable); - errCount.incrementAndGet(); - }finally { - count.incrementAndGet(); - } + } + }); }); + while (!service.awaitTermination(2, TimeUnit.MINUTES)) { + log.info("Waiting .. completed {}, out of {} ",count.get(),found.get()); + if(found.get()==count.get()) service.shutdown(); + } + System.out.println("Done "+count.get()+" [null : "+nullCount.get()+", err : "+errCount.get()+"]"); }