X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-segmented-journal%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fakka%2Fsegjournal%2FSegmentedFileJournal.java;fp=opendaylight%2Fmd-sal%2Fsal-akka-segmented-journal%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fakka%2Fsegjournal%2FSegmentedFileJournal.java;h=ac59c8fb41ea01bbc3deb7f1228087e621098057;hb=849e994c06fe5fd78bf72bddbf07e7d32576b84b;hp=1dfcf4aef68021e87c859d0390b5436f9b0d9257;hpb=bb04f62f467cc6e6f0922ba8957b09715707940d;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedFileJournal.java b/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedFileJournal.java index 1dfcf4aef6..ac59c8fb41 100644 --- a/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedFileJournal.java +++ b/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedFileJournal.java @@ -21,9 +21,10 @@ import com.typesafe.config.ConfigMemorySize; import io.atomix.storage.StorageLevel; import io.atomix.storage.journal.SegmentedJournal; import java.io.File; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Base64; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -116,8 +117,7 @@ public class SegmentedFileJournal extends AsyncWriteJournal { } private ActorRef createHandler(final String persistenceId) { - final String directoryName = Base64.getUrlEncoder().encodeToString(persistenceId.getBytes( - StandardCharsets.UTF_8)); + final String directoryName = encode(persistenceId); final File directory = new File(rootDir, directoryName); LOG.debug("Creating handler for {} in directory {}", persistenceId, directory); @@ -142,6 +142,16 @@ public class SegmentedFileJournal extends AsyncWriteJournal { return message.promise.future(); } + private static String encode(final String str) { + try { + return URLEncoder.encode(str, StandardCharsets.UTF_8.name()); + } catch (UnsupportedEncodingException e) { + // Shouldn't happen + LOG.warn("Error encoding {}", str, e); + return str; + } + } + private static int getBytes(final Config config, final String path, final int defaultValue) { if (!config.hasPath(path)) { return defaultValue;