This is an automated email from the ASF dual-hosted git repository.

zixuan pushed a commit to branch branch-3.3
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-3.3 by this push:
     new 649be8496b9 [fix][broker] normalize path (#23438)
649be8496b9 is described below

commit 649be8496b90776623f63291f9a21667bbff2861
Author: Zixuan Liu <[email protected]>
AuthorDate: Fri Oct 11 23:42:39 2024 +0800

    [fix][broker] normalize path (#23438)
    
    Signed-off-by: Zixuan Liu <[email protected]>
    (cherry picked from commit 50dc521f7f97ec0151036a51978db74f5cd8ca68)
---
 .../java/org/apache/bookkeeper/mledger/offload/OffloaderUtils.java    | 2 +-
 .../pulsar/broker/web/plugin/servlet/AdditionalServletUtils.java      | 4 ++--
 .../org/apache/pulsar/broker/intercept/BrokerInterceptorUtils.java    | 4 ++--
 .../java/org/apache/pulsar/broker/protocol/ProtocolHandlerUtils.java  | 4 ++--
 .../org/apache/pulsar/broker/service/plugin/EntryFilterProvider.java  | 4 ++--
 .../apache/pulsar/admin/cli/utils/CustomCommandFactoryProvider.java   | 4 ++--
 .../src/main/java/org/apache/pulsar/functions/LocalRunner.java        | 2 +-
 .../org/apache/pulsar/functions/utils/functions/FunctionUtils.java    | 2 +-
 .../java/org/apache/pulsar/functions/utils/io/ConnectorUtils.java     | 2 +-
 .../apache/pulsar/functions/worker/service/WorkerServiceLoader.java   | 2 +-
 .../java/org/apache/pulsar/proxy/extensions/ProxyExtensionsUtils.java | 4 ++--
 11 files changed, 17 insertions(+), 17 deletions(-)

diff --git 
a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/offload/OffloaderUtils.java
 
b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/offload/OffloaderUtils.java
index 7af3680d880..d160189188a 100644
--- 
a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/offload/OffloaderUtils.java
+++ 
b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/offload/OffloaderUtils.java
@@ -125,7 +125,7 @@ public class OffloaderUtils {
 
     public static Offloaders searchForOffloaders(String offloadersPath, String 
narExtractionDirectory)
             throws IOException {
-        Path path = Paths.get(offloadersPath).toAbsolutePath();
+        Path path = Paths.get(offloadersPath).toAbsolutePath().normalize();
         log.info("Searching for offloaders in {}", path);
 
         Offloaders offloaders = new Offloaders();
diff --git 
a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/plugin/servlet/AdditionalServletUtils.java
 
b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/plugin/servlet/AdditionalServletUtils.java
index bfbca2889e2..c3d18833de5 100644
--- 
a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/plugin/servlet/AdditionalServletUtils.java
+++ 
b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/plugin/servlet/AdditionalServletUtils.java
@@ -74,7 +74,7 @@ public class AdditionalServletUtils {
      */
     public AdditionalServletDefinitions searchForServlets(String 
additionalServletDirectory,
                                                           String 
narExtractionDirectory) throws IOException {
-        Path path = Paths.get(additionalServletDirectory).toAbsolutePath();
+        Path path = 
Paths.get(additionalServletDirectory).toAbsolutePath().normalize();
         log.info("Searching for additional servlets in {}", path);
 
         AdditionalServletDefinitions servletDefinitions = new 
AdditionalServletDefinitions();
@@ -119,7 +119,7 @@ public class AdditionalServletUtils {
     public AdditionalServletWithClassLoader load(
             AdditionalServletMetadata metadata, String narExtractionDirectory) 
throws IOException {
 
-        final File narFile = 
metadata.getArchivePath().toAbsolutePath().toFile();
+        final File narFile = 
metadata.getArchivePath().toAbsolutePath().normalize().toFile();
         NarClassLoader ncl = NarClassLoaderBuilder.builder()
                 .narFile(narFile)
                 .parentClassLoader(AdditionalServlet.class.getClassLoader())
diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/intercept/BrokerInterceptorUtils.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/intercept/BrokerInterceptorUtils.java
index 990d7048e6e..0d0d33fa1df 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/intercept/BrokerInterceptorUtils.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/intercept/BrokerInterceptorUtils.java
@@ -75,7 +75,7 @@ public class BrokerInterceptorUtils {
      */
     public BrokerInterceptorDefinitions searchForInterceptors(String 
interceptorsDirectory,
                                                               String 
narExtractionDirectory) throws IOException {
-        Path path = Paths.get(interceptorsDirectory).toAbsolutePath();
+        Path path = 
Paths.get(interceptorsDirectory).toAbsolutePath().normalize();
         log.info("Searching for broker interceptors in {}", path);
 
         BrokerInterceptorDefinitions interceptors = new 
BrokerInterceptorDefinitions();
@@ -119,7 +119,7 @@ public class BrokerInterceptorUtils {
      */
     BrokerInterceptorWithClassLoader load(BrokerInterceptorMetadata metadata, 
String narExtractionDirectory)
             throws IOException {
-        final File narFile = 
metadata.getArchivePath().toAbsolutePath().toFile();
+        final File narFile = 
metadata.getArchivePath().toAbsolutePath().normalize().toFile();
         NarClassLoader ncl = NarClassLoaderBuilder.builder()
                 .narFile(narFile)
                 
.parentClassLoader(BrokerInterceptorUtils.class.getClassLoader())
diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/protocol/ProtocolHandlerUtils.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/protocol/ProtocolHandlerUtils.java
index ff33326169a..b66f4935558 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/protocol/ProtocolHandlerUtils.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/protocol/ProtocolHandlerUtils.java
@@ -75,7 +75,7 @@ class ProtocolHandlerUtils {
      */
     public static ProtocolHandlerDefinitions searchForHandlers(String 
handlersDirectory,
                                                                String 
narExtractionDirectory) throws IOException {
-        Path path = Paths.get(handlersDirectory).toAbsolutePath();
+        Path path = Paths.get(handlersDirectory).toAbsolutePath().normalize();
         log.info("Searching for protocol handlers in {}", path);
 
         ProtocolHandlerDefinitions handlers = new ProtocolHandlerDefinitions();
@@ -119,7 +119,7 @@ class ProtocolHandlerUtils {
      */
     static ProtocolHandlerWithClassLoader load(ProtocolHandlerMetadata 
metadata,
                                                String narExtractionDirectory) 
throws IOException {
-        final File narFile = 
metadata.getArchivePath().toAbsolutePath().toFile();
+        final File narFile = 
metadata.getArchivePath().toAbsolutePath().normalize().toFile();
         NarClassLoader ncl = NarClassLoaderBuilder.builder()
                 .narFile(narFile)
                 .parentClassLoader(ProtocolHandler.class.getClassLoader())
diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/plugin/EntryFilterProvider.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/plugin/EntryFilterProvider.java
index 53418744b54..297c124c605 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/plugin/EntryFilterProvider.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/plugin/EntryFilterProvider.java
@@ -122,7 +122,7 @@ public class EntryFilterProvider implements AutoCloseable {
 
     private void initialize() throws IOException {
         final String entryFiltersDirectory = 
serviceConfiguration.getEntryFiltersDirectory();
-        Path path = Paths.get(entryFiltersDirectory).toAbsolutePath();
+        Path path = 
Paths.get(entryFiltersDirectory).toAbsolutePath().normalize();
         log.info("Searching for entry filters in {}", path);
 
 
@@ -217,7 +217,7 @@ public class EntryFilterProvider implements AutoCloseable {
         return cachedClassLoaders
                 .computeIfAbsent(absolutePath, narFilePath -> {
                     try {
-                        final File narFile = 
archivePath.toAbsolutePath().toFile();
+                        final File narFile = 
archivePath.toAbsolutePath().normalize().toFile();
                         return NarClassLoaderBuilder.builder()
                                 .narFile(narFile)
                                 
.parentClassLoader(EntryFilter.class.getClassLoader())
diff --git 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/utils/CustomCommandFactoryProvider.java
 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/utils/CustomCommandFactoryProvider.java
index 23b7e9eb58d..5c6566ac8ce 100644
--- 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/utils/CustomCommandFactoryProvider.java
+++ 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/utils/CustomCommandFactoryProvider.java
@@ -77,7 +77,7 @@ public class CustomCommandFactoryProvider {
     private static CustomCommandFactoryDefinitions 
searchForCustomCommandFactories(String directory,
                                                                        String 
narExtractionDirectory)
             throws IOException {
-        Path path = Paths.get(directory).toAbsolutePath();
+        Path path = Paths.get(directory).toAbsolutePath().normalize();
         log.debug("Searching for command factories  in {}", path);
 
         CustomCommandFactoryDefinitions customCommandFactoryDefinitions = new 
CustomCommandFactoryDefinitions();
@@ -142,7 +142,7 @@ public class CustomCommandFactoryProvider {
     private static CustomCommandFactory load(CustomCommandFactoryMetaData 
metadata,
                                                    String 
narExtractionDirectory)
             throws IOException {
-        final File narFile = 
metadata.getArchivePath().toAbsolutePath().toFile();
+        final File narFile = 
metadata.getArchivePath().toAbsolutePath().normalize().toFile();
         NarClassLoader ncl = NarClassLoaderBuilder.builder()
                 .narFile(narFile)
                 .parentClassLoader(CustomCommandFactory.class.getClassLoader())
diff --git 
a/pulsar-functions/localrun/src/main/java/org/apache/pulsar/functions/LocalRunner.java
 
b/pulsar-functions/localrun/src/main/java/org/apache/pulsar/functions/LocalRunner.java
index 3b1c86a68c2..1e2d4e0b21b 100644
--- 
a/pulsar-functions/localrun/src/main/java/org/apache/pulsar/functions/LocalRunner.java
+++ 
b/pulsar-functions/localrun/src/main/java/org/apache/pulsar/functions/LocalRunner.java
@@ -278,7 +278,7 @@ public class LocalRunner implements AutoCloseable {
         } else {
             directoryPath = Path.of(directory);
         }
-        return directoryPath.toAbsolutePath().toString();
+        return directoryPath.toAbsolutePath().normalize().toString();
     }
 
     private static File createNarExtractionTempDirectory() {
diff --git 
a/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/functions/FunctionUtils.java
 
b/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/functions/FunctionUtils.java
index 31a5540e0bf..24f801f3da2 100644
--- 
a/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/functions/FunctionUtils.java
+++ 
b/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/functions/FunctionUtils.java
@@ -78,7 +78,7 @@ public class FunctionUtils {
     public static TreeMap<String, FunctionArchive> searchForFunctions(String 
functionsDirectory,
                                                                       String 
narExtractionDirectory,
                                                                       boolean 
enableClassloading) throws IOException {
-        Path path = Paths.get(functionsDirectory).toAbsolutePath();
+        Path path = Paths.get(functionsDirectory).toAbsolutePath().normalize();
         log.info("Searching for functions in {}", path);
 
         TreeMap<String, FunctionArchive> functions = new TreeMap<>();
diff --git 
a/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/io/ConnectorUtils.java
 
b/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/io/ConnectorUtils.java
index df1310965f3..71cab749ba0 100644
--- 
a/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/io/ConnectorUtils.java
+++ 
b/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/io/ConnectorUtils.java
@@ -156,7 +156,7 @@ public class ConnectorUtils {
     public static TreeMap<String, Connector> searchForConnectors(String 
connectorsDirectory,
                                                                  String 
narExtractionDirectory,
                                                                  boolean 
enableClassloading) throws IOException {
-        Path path = Paths.get(connectorsDirectory).toAbsolutePath();
+        Path path = 
Paths.get(connectorsDirectory).toAbsolutePath().normalize();
         log.info("Searching for connectors in {}", path);
 
         TreeMap<String, Connector> connectors = new TreeMap<>();
diff --git 
a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/service/WorkerServiceLoader.java
 
b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/service/WorkerServiceLoader.java
index 8c6535342c3..76e7081fe63 100644
--- 
a/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/service/WorkerServiceLoader.java
+++ 
b/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/service/WorkerServiceLoader.java
@@ -73,7 +73,7 @@ public class WorkerServiceLoader {
      */
     static WorkerServiceWithClassLoader load(WorkerServiceMetadata metadata,
                                              String narExtractionDirectory) 
throws IOException {
-        final File narFile = 
metadata.getArchivePath().toAbsolutePath().toFile();
+        final File narFile = 
metadata.getArchivePath().toAbsolutePath().normalize().toFile();
         NarClassLoader ncl = NarClassLoaderBuilder.builder()
                 .narFile(narFile)
                 .parentClassLoader(WorkerService.class.getClassLoader())
diff --git 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/extensions/ProxyExtensionsUtils.java
 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/extensions/ProxyExtensionsUtils.java
index b488fea9dac..d2b9f91b37b 100644
--- 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/extensions/ProxyExtensionsUtils.java
+++ 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/extensions/ProxyExtensionsUtils.java
@@ -75,7 +75,7 @@ class ProxyExtensionsUtils {
      */
     public static ExtensionsDefinitions searchForExtensions(String 
extensionsDirectory,
                                                             String 
narExtractionDirectory) throws IOException {
-        Path path = Paths.get(extensionsDirectory).toAbsolutePath();
+        Path path = 
Paths.get(extensionsDirectory).toAbsolutePath().normalize();
         log.info("Searching for extensions in {}", path);
 
         ExtensionsDefinitions extensions = new ExtensionsDefinitions();
@@ -119,7 +119,7 @@ class ProxyExtensionsUtils {
      */
     static ProxyExtensionWithClassLoader load(ProxyExtensionMetadata metadata,
                                               String narExtractionDirectory) 
throws IOException {
-        final File narFile = 
metadata.getArchivePath().toAbsolutePath().toFile();
+        final File narFile = 
metadata.getArchivePath().toAbsolutePath().normalize().toFile();
         NarClassLoader ncl = NarClassLoaderBuilder.builder()
                 .narFile(narFile)
                 .parentClassLoader(ProxyExtension.class.getClassLoader())

Reply via email to