This is an automated email from the ASF dual-hosted git repository.
isjarana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-data-lake.git
The following commit(s) were added to refs/heads/master by this push:
new a9ccbe1 extend Directory monitor
new 613764b Merge pull request #194 from isururanawaka/mysql_conversion
a9ccbe1 is described below
commit a9ccbe181c71d98b596804d8f42f6de075f40782
Author: Isuru Ranawaka <[email protected]>
AuthorDate: Wed Nov 30 18:57:25 2022 -0500
extend Directory monitor
---
.../src/main/dist/conf/application.properties | 3 ++-
.../apache/airavata/datalake/dmonitor/DirectoryMonitor.java | 5 ++++-
.../apache/airavata/datalake/dmonitor/SaturationGauge.java | 12 +++++++++++-
3 files changed, 17 insertions(+), 3 deletions(-)
diff --git
a/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/dist/conf/application.properties
b/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/dist/conf/application.properties
index 67b7778..5a36588 100644
---
a/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/dist/conf/application.properties
+++
b/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/dist/conf/application.properties
@@ -25,4 +25,5 @@ event.type=MODIFY
auth.token=
kafka.url=
kafka.publisher.id=evenpub
-kafka.event.topic=data-orchestrator-file-events
\ No newline at end of file
+kafka.event.topic=data-orchestrator-file-events
+saturation.count=3
\ No newline at end of file
diff --git
a/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/java/org/apache/airavata/datalake/dmonitor/DirectoryMonitor.java
b/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/java/org/apache/airavata/datalake/dmonitor/DirectoryMonitor.java
index fe8a7cb..13d4bd8 100644
---
a/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/java/org/apache/airavata/datalake/dmonitor/DirectoryMonitor.java
+++
b/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/java/org/apache/airavata/datalake/dmonitor/DirectoryMonitor.java
@@ -65,6 +65,9 @@ public class DirectoryMonitor implements CommandLineRunner {
@org.springframework.beans.factory.annotation.Value("${kafka.event.topic}")
private String kafkaEventTopic;
+ @org.springframework.beans.factory.annotation.Value("${saturation.count}")
+ private int saturationCount;
+
private Map<WatchKey, Path> watchKeyPathMap = new HashMap<>();
public static void main(String args[]) {
@@ -104,7 +107,7 @@ public class DirectoryMonitor implements CommandLineRunner {
SaturationGauge saturationGauge = new SaturationGauge();
saturationGauge.start(eventNotifier);
-
+ saturationGauge.setSaturationCount(saturationCount);
WatchService watchService = FileSystems.getDefault().newWatchService();
Path base = Paths.get(basePath);
watchKeyPathMap.put(base.register(watchService,
StandardWatchEventKinds.ENTRY_CREATE), base);
diff --git
a/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/java/org/apache/airavata/datalake/dmonitor/SaturationGauge.java
b/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/java/org/apache/airavata/datalake/dmonitor/SaturationGauge.java
index b409d17..342693d 100644
---
a/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/java/org/apache/airavata/datalake/dmonitor/SaturationGauge.java
+++
b/data-orchestrator/data-orchestrator-clients/directory-monitor/src/main/java/org/apache/airavata/datalake/dmonitor/SaturationGauge.java
@@ -35,6 +35,8 @@ public class SaturationGauge {
final ScheduledExecutorService scheduledExecutorService =
Executors.newSingleThreadScheduledExecutor();
final ExecutorService monitoringService = Executors.newFixedThreadPool(10);
+ private int saturationCount = 3;
+
public void start(EventNotifier eventNotifier) {
scheduledExecutorService.scheduleWithFixedDelay(() -> {
List<Future<Boolean>> submitFutures = new ArrayList<>();
@@ -49,7 +51,7 @@ public class SaturationGauge {
directorySizes.put(key, newSize);
logger.info("Directory : " + key + " Size : " +
newSize + " Scan count : " + monitorCount.get(key));
- if (oldSize == newSize && monitorCount.get(key) > 3) {
+ if (oldSize == newSize && monitorCount.get(key) >
saturationCount) {
logger.info("Directory " + key + " is saturated.
Final size " + oldSize);
monitorCount.remove(key);
directorySizes.remove(key);
@@ -108,4 +110,12 @@ public class SaturationGauge {
}
return length;
}
+
+ public int getSaturationCount() {
+ return saturationCount;
+ }
+
+ public void setSaturationCount(int saturationCount) {
+ this.saturationCount = saturationCount;
+ }
}