From 78fbe396db174aa8bf2efa020c5430befbeca20a Mon Sep 17 00:00:00 2001 From: Costin Grigoras <costin.grigoras@cern.ch> Date: Wed, 3 Nov 2021 14:24:55 +0100 Subject: [PATCH] Upload to Grid the objects that don't have a replica yet --- .../o2/ccdb/servlets/RetryCopyToGrid.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/ch/alice/o2/ccdb/servlets/RetryCopyToGrid.java diff --git a/src/ch/alice/o2/ccdb/servlets/RetryCopyToGrid.java b/src/ch/alice/o2/ccdb/servlets/RetryCopyToGrid.java new file mode 100644 index 0000000..3c0fd6b --- /dev/null +++ b/src/ch/alice/o2/ccdb/servlets/RetryCopyToGrid.java @@ -0,0 +1,47 @@ +package ch.alice.o2.ccdb.servlets; + +import java.util.UUID; + +import alien.catalogue.GUIDUtils; +import lazyj.DBFunctions; + +/** + * Iterate through objects missing a Grid copy and upload them + * + * @author costing + * @since 2021-10-28 + */ +public class RetryCopyToGrid { + /** + * Entry point + * + * @param args + */ + public static void main(final String[] args) { + final String q = "SELECT * FROM ccdb where -1 != all(replicas)"; + + for (final String arg : args) { + try (DBFunctions db = SQLObject.getDB()) { + if (GUIDUtils.isValidGUID(arg)) { + db.query(q + " AND id=?", false, UUID.fromString(arg)); + } + else + if ("*".equals(arg)) { + db.query(q); + } + else { + System.err.println("Don't know how to process argument `" + arg + "`"); + continue; + } + + while (db.moveNext()) { + SQLObject obj = SQLObject.fromDb(db); + + System.err.println("Notifying with: " + obj); + + AsyncReplication.getInstance().newObject(obj); + } + } + } + } +} -- GitLab