diff options
author | jonmv <venstad@gmail.com> | 2023-10-06 12:18:49 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-10-06 12:18:49 +0200 |
commit | 6c819ef2d6679cff4e06133c54ff09779776d914 (patch) | |
tree | 269024b26292d2109018cbcd5e69b3bb8d5024c9 /zkfacade | |
parent | 3dd336bbeadfc750bc097e90f2c15f8b9e101b39 (diff) |
More restrictive singleton ID
Diffstat (limited to 'zkfacade')
-rw-r--r-- | zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java index d203f22a474..f349ee8e9a4 100644 --- a/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java +++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java @@ -1,5 +1,6 @@ package com.yahoo.vespa.curator; +import ai.vespa.validation.Validation; import com.yahoo.concurrent.UncheckedTimeoutException; import com.yahoo.jdisc.Metric; import com.yahoo.path.Path; @@ -23,6 +24,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; import java.util.logging.Logger; +import java.util.regex.Pattern; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; @@ -53,9 +55,7 @@ class SingletonManager { } synchronized CompletableFuture<?> register(String singletonId, SingletonWorker singleton) { - if (singletonId.isEmpty() || singletonId.contains("/") || singletonId.contains("..")) { - throw new IllegalArgumentException("singleton ID must be non-empty, and may not contain '/' or '..', but got " + singletonId); - } + Validation.requireMatch(singletonId, "Singleton ID", Pattern.compile("[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}")); String old = registrations.putIfAbsent(singleton, singletonId); if (old != null) throw new IllegalArgumentException(singleton + " already registered with ID " + old); count.merge(singletonId, 1, Integer::sum); |