Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #22190

Closed (moved)
(moved)
Open
Created May 08, 2017 by Karsten Loesing@karsten

DescriptorIndexCollector does not delete extraneous local files if remote paths with leading /

Today I realized that metrics-web does not delete any extraneous local files since we made DescriptorIndexCollector the default in metrics-lib version 1.6.0.

Turns out that the following metrics-web patch works around the issue:

diff --git a/modules/collectdescs/src/main/java/org/torproject/metrics/collectdescs/Main.java b/modules/collectdescs/src/main/java/org/torproject/metrics/collectdescs/Main.java
index 499dff9..39b3b69 100644
--- a/modules/collectdescs/src/main/java/org/torproject/metrics/collectdescs/Main.java
+++ b/modules/collectdescs/src/main/java/org/torproject/metrics/collectdescs/Main.java
@@ -17,14 +17,14 @@ public class Main {
         DescriptorSourceFactory.createDescriptorCollector();
     collector.collectDescriptors(
         "https://collector.torproject.org", new String[] {
-            "/recent/bridge-descriptors/extra-infos/",
-            "/recent/bridge-descriptors/server-descriptors/",
-            "/recent/bridge-descriptors/statuses/",
-            "/recent/exit-lists/",
-            "/recent/relay-descriptors/consensuses/",
-            "/recent/relay-descriptors/extra-infos/",
-            "/recent/relay-descriptors/server-descriptors/",
-            "/recent/torperf/"
+            "recent/bridge-descriptors/extra-infos/",
+            "recent/bridge-descriptors/server-descriptors/",
+            "recent/bridge-descriptors/statuses/",
+            "recent/exit-lists/",
+            "recent/relay-descriptors/consensuses/",
+            "recent/relay-descriptors/extra-infos/",
+            "recent/relay-descriptors/server-descriptors/",
+            "recent/torperf/"
         }, 0L, new File("../../shared/in"), true);
   }
 }

However, I think we need to fix this in metrics-lib by accepting remote paths with leading / for fetching remote files and deleting extraneous local files.

iwakeh, want to look into this?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking