[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [onionoo/master] Stop using a lock file.
commit 621fbbfcce67e63994fe67014a56147f2b5b2299
Author: Karsten Loesing <karsten.loesing@xxxxxxx>
Date: Wed Nov 16 12:09:05 2016 +0100
Stop using a lock file.
Chances of two concurrent runs are much lower since we switched to an
internal scheduler. Let's remove some complexity here.
Implements #20681.
---
.../java/org/torproject/onionoo/cron/Main.java | 27 ---------
.../java/org/torproject/onionoo/util/LockFile.java | 67 ----------------------
2 files changed, 94 deletions(-)
diff --git a/src/main/java/org/torproject/onionoo/cron/Main.java b/src/main/java/org/torproject/onionoo/cron/Main.java
index 04b6955..5b80934 100644
--- a/src/main/java/org/torproject/onionoo/cron/Main.java
+++ b/src/main/java/org/torproject/onionoo/cron/Main.java
@@ -8,7 +8,6 @@ import org.torproject.onionoo.docs.DocumentStoreFactory;
import org.torproject.onionoo.updater.DescriptorSource;
import org.torproject.onionoo.updater.DescriptorSourceFactory;
import org.torproject.onionoo.updater.StatusUpdateRunner;
-import org.torproject.onionoo.util.LockFile;
import org.torproject.onionoo.writer.DocumentWriterRunner;
import org.slf4j.Logger;
@@ -125,7 +124,6 @@ public class Main implements Runnable {
@Override
public void run() {
- this.acquireLockOrExit();
this.initialize();
this.downloadDescriptors();
this.updateStatuses();
@@ -133,21 +131,6 @@ public class Main implements Runnable {
this.shutDown();
this.gatherStatistics();
this.cleanUp();
- this.releaseLock();
- }
-
- private LockFile lf;
-
- private void acquireLockOrExit() {
- this.log.info("Initializing.");
- this.lf = new LockFile();
- if (this.lf.acquireLock()) {
- this.log.info("Acquired lock");
- } else {
- this.log.error("Could not acquire lock. Is Onionoo already "
- + "running? Terminating");
- System.exit(1);
- }
}
private DescriptorSource dso;
@@ -246,15 +229,5 @@ public class Main implements Runnable {
DescriptorSourceFactory.setDescriptorSource(null);
this.log.info("Done.");
}
-
- private void releaseLock() {
- this.log.info("Releasing lock.");
- if (this.lf.releaseLock()) {
- this.log.info("Released lock");
- } else {
- this.log.error("Could not release lock. The next execution may "
- + "not start as expected");
- }
- }
}
diff --git a/src/main/java/org/torproject/onionoo/util/LockFile.java b/src/main/java/org/torproject/onionoo/util/LockFile.java
deleted file mode 100644
index 521b867..0000000
--- a/src/main/java/org/torproject/onionoo/util/LockFile.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright 2013--2016 The Tor Project
- * See LICENSE for licensing information */
-
-package org.torproject.onionoo.util;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-
-public class LockFile {
-
- private static final Logger log = LoggerFactory.getLogger(
- LockFile.class);
-
- private final File lockFile = new File("lock");
-
- /**
- * Acquire the lock by writing a lock file with the current time in
- * milliseconds and return whether this operation was successful.
- *
- * @return <code>true</code> if the lock file did not exist and writing
- * that file now succeeded, <code>false</code> otherwise.
- */
- public boolean acquireLock() {
- Time time = TimeFactory.getTime();
- try {
- if (this.lockFile.exists()) {
- return false;
- }
- if (this.lockFile.getParentFile() != null) {
- this.lockFile.getParentFile().mkdirs();
- }
- } catch (SecurityException e) {
- log.error("Unable to access lock file location", e);
- return false;
- }
-
- try (BufferedWriter bw = new BufferedWriter(new FileWriter(
- this.lockFile))) {
- bw.append(String.valueOf(time.currentTimeMillis()));
- bw.newLine();
- return true;
- } catch (IOException e) {
- log.error("Caught exception while trying to acquire lock!", e);
- return false;
- }
- }
-
- /**
- * Release the lock by deleting the lock file if it exists and return
- * whether the file was successfully deleted.
- *
- * @return <code>true</code> if the lock file does not exist anymore
- * when returning, <code>false</code> otherwise.
- */
- public boolean releaseLock() {
- if (this.lockFile.exists()) {
- this.lockFile.delete();
- }
- return !this.lockFile.exists();
- }
-}
-
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits