diff options
| author | Marcin Chrzanowski <marcin.j.chrzanowski@gmail.com> | 2020-01-12 16:36:42 +0100 | 
|---|---|---|
| committer | Marcin Chrzanowski <marcin.j.chrzanowski@gmail.com> | 2020-01-12 16:36:42 +0100 | 
| commit | edec7f92b20f1f873083bdf3198283fa822e0f64 (patch) | |
| tree | db9cac13dae0da577c63dfd9a368452be6c14f2a /src/main/java/pl/edu/mimuw/cloudatlas/agent | |
| parent | 37f413d69d8f60e327c564d2b9a604739f80080b (diff) | |
Start removing old gossips
Diffstat (limited to 'src/main/java/pl/edu/mimuw/cloudatlas/agent')
| -rw-r--r-- | src/main/java/pl/edu/mimuw/cloudatlas/agent/Agent.java | 3 | ||||
| -rw-r--r-- | src/main/java/pl/edu/mimuw/cloudatlas/agent/HierarchyConfig.java | 16 | 
2 files changed, 19 insertions, 0 deletions
| diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/Agent.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/Agent.java index 24ed0c1..06e067b 100644 --- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/Agent.java +++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/Agent.java @@ -46,9 +46,12 @@ public class Agent {          String selectionStrategy = System.getProperty("Gossip.zone_strategy");          Long queryPeriod = Long.getLong("query_period");          Long gossipPeriod = Long.getLong("gossip_period"); +        Long freshnessPeriod = Long.getLong("freshness_period");          HierarchyConfig hierarchyConfig = new HierarchyConfig(eventBus, zonePath, selectionStrategy);          hierarchyConfig.startQueries(queryPeriod);          hierarchyConfig.startGossip(gossipPeriod, zonePath); +        // TODO: should this be different than ZMI freshness period? +        hierarchyConfig.startCleaningGossips(freshnessPeriod);      }  } diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/HierarchyConfig.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/HierarchyConfig.java index f9e323a..92b7f66 100644 --- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/HierarchyConfig.java +++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/HierarchyConfig.java @@ -153,4 +153,20 @@ public class HierarchyConfig {          AgentUtils.startRecursiveTask(taskSupplier, queriesPeriod, eventBus);      } + +    public void startCleaningGossips(long gossipCleanPeriod) { +        Supplier<TimerScheduledTask> taskSupplier = () -> +                new TimerScheduledTask() { +                    public void run() { +                        try { +                            System.out.println("INFO: Scheduling old gossip cleanup"); +                            sendMessage(new CleanOldGossipsMessage("", 0, ValueUtils.addToTime(ValueUtils.currentTime(), -gossipCleanPeriod))); +                        } catch (InterruptedException e) { +                            System.out.println("Interrupted while triggering queries"); +                        } +                    } +                }; + +        AgentUtils.startRecursiveTask(taskSupplier, gossipCleanPeriod, eventBus); +    }  } |