From 4ae90ea0a16adf7be1f8a69c42c3355c9e6fc912 Mon Sep 17 00:00:00 2001 From: rajan Date: Fri, 5 Feb 2021 18:10:13 -0800 Subject: [PATCH] [pulsar-metadata] return alreadyExist error-code when node exists --- .../pulsar/metadata/impl/LocalMemoryMetadataStore.java | 3 ++- .../org/apache/pulsar/metadata/impl/ZKMetadataStore.java | 5 ++++- .../java/org/apache/pulsar/metadata/MetadataStoreTest.java | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/LocalMemoryMetadataStore.java b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/LocalMemoryMetadataStore.java index 848d17043a672..c8538c4a17bc4 100644 --- a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/LocalMemoryMetadataStore.java +++ b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/LocalMemoryMetadataStore.java @@ -33,6 +33,7 @@ import org.apache.pulsar.metadata.api.GetResult; import org.apache.pulsar.metadata.api.MetadataStoreConfig; import org.apache.pulsar.metadata.api.MetadataStoreException; +import org.apache.pulsar.metadata.api.MetadataStoreException.AlreadyExistsException; import org.apache.pulsar.metadata.api.MetadataStoreException.BadVersionException; import org.apache.pulsar.metadata.api.MetadataStoreException.NotFoundException; import org.apache.pulsar.metadata.api.Notification; @@ -130,7 +131,7 @@ public synchronized CompletableFuture storePut(String path, byte[] data, O Value newValue = new Value(0, data, now, now); Value existingValue = map.putIfAbsent(path, newValue); if (existingValue != null) { - return FutureUtils.exception(new BadVersionException("")); + return FutureUtils.exception(new AlreadyExistsException("")); } else { receivedNotification(new Notification(NotificationType.Created, path)); String parent = parent(path); diff --git a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/ZKMetadataStore.java b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/ZKMetadataStore.java index 8c6fcd9e3845e..49e71e68adf45 100644 --- a/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/ZKMetadataStore.java +++ b/pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/ZKMetadataStore.java @@ -34,6 +34,7 @@ import org.apache.pulsar.metadata.api.GetResult; import org.apache.pulsar.metadata.api.MetadataStoreConfig; import org.apache.pulsar.metadata.api.MetadataStoreException; +import org.apache.pulsar.metadata.api.MetadataStoreException.AlreadyExistsException; import org.apache.pulsar.metadata.api.MetadataStoreException.BadVersionException; import org.apache.pulsar.metadata.api.MetadataStoreException.NotFoundException; import org.apache.pulsar.metadata.api.Notification; @@ -213,7 +214,7 @@ public CompletableFuture storePut(String path, byte[] value, Optional