summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarsten Loesing <karsten.loesing@gmx.net>2019-11-11 10:59:13 +0100
committerKarsten Loesing <karsten.loesing@gmx.net>2019-11-11 10:59:13 +0100
commit941ffd691b7ddaa7d4ae692746f056bcabdfc1d7 (patch)
tree2dfb9ab32a7dafa8dd663c340453be822cecb727
parent98eb9d738c76f40ca47807b3254fdbc231b98074 (diff)
Remove disappearing family members.task-28314
When a relay stops writing any family members into its server descriptor we never cleared old family members but kept them forever. We should do that. Fixes #28314.
-rw-r--r--CHANGELOG.md7
-rw-r--r--src/main/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdater.java4
2 files changed, 9 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b5c4c38..dc93ec6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# Changes in version 7.0-1.2?.? - 2019-1?-??
+
+ * Medium changes
+ - Remove declared/alleged family members after they disappear from
+ server descriptors.
+
+
# Changes in version 7.0-1.21.1 - 2019-11-09
* Minor changes
diff --git a/src/main/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdater.java b/src/main/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdater.java
index a5f16e4..b25459d 100644
--- a/src/main/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdater.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdater.java
@@ -172,8 +172,8 @@ public class NodeDetailsStatusUpdater implements DescriptorListener,
detailsStatus.setExitPolicy(descriptor.getExitPolicyLines());
detailsStatus.setContact(descriptor.getContact());
detailsStatus.setPlatform(descriptor.getPlatform());
+ SortedSet<String> declaredFamily = new TreeSet<>();
if (descriptor.getFamilyEntries() != null) {
- SortedSet<String> declaredFamily = new TreeSet<>();
for (String familyMember : descriptor.getFamilyEntries()) {
if (familyMember.startsWith("$") && familyMember.length() >= 41) {
declaredFamily.add(
@@ -182,8 +182,8 @@ public class NodeDetailsStatusUpdater implements DescriptorListener,
declaredFamily.add(familyMember);
}
}
- this.declaredFamilies.put(fingerprint, declaredFamily);
}
+ this.declaredFamilies.put(fingerprint, declaredFamily);
if (descriptor.getIpv6DefaultPolicy() != null
&& (descriptor.getIpv6DefaultPolicy().equals("accept")
|| descriptor.getIpv6DefaultPolicy().equals("reject"))