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

eolivelli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 191dc62  Deep copy the tenants to avoid concurrent sort exception 
(#11463)
191dc62 is described below

commit 191dc62d7714a7126c0190e63d0796bc84c2c367
Author: Shoothzj <[email protected]>
AuthorDate: Thu Jul 29 16:45:21 2021 +0800

    Deep copy the tenants to avoid concurrent sort exception (#11463)
---
 .../main/java/org/apache/pulsar/broker/admin/impl/TenantsBase.java | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/TenantsBase.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/TenantsBase.java
index fc63fdc..7d3042b 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/TenantsBase.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/TenantsBase.java
@@ -24,6 +24,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -76,8 +77,10 @@ public class TenantsBase extends PulsarWebResource {
                 asyncResponse.resume(new RestException(e));
                 return;
             }
-            tenants.sort(null);
-            asyncResponse.resume(tenants);
+            // deep copy the tenants to avoid concurrent sort exception
+            List<String> deepCopy = new ArrayList<>(tenants);
+            deepCopy.sort(null);
+            asyncResponse.resume(deepCopy);
         });
     }
 

Reply via email to