This is an automated email from the ASF dual-hosted git repository. penghui pushed a commit to branch branch-2.8 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit b71617b76ae89c461fc11d66ae2375279ede8a3b Author: Shoothzj <[email protected]> AuthorDate: Thu Jul 29 16:45:21 2021 +0800 Deep copy the tenants to avoid concurrent sort exception (#11463) (cherry picked from commit 191dc62d7714a7126c0190e63d0796bc84c2c367) --- .../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 d81da0a..879e8b0 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; @@ -75,8 +76,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); }); }
