zbentley opened a new issue #12554:
URL: https://github.com/apache/pulsar/issues/12554


   **Describe the bug**
   When I create a tenant/namespace/topic/subscription (persistent, partitioned 
topic) and immediately (less than a second later) attempt to delete the topic, 
I sometimes get a 500 response code which coincides with several errors in the 
broker's log.
   
   Note that there are two stacktraces below; the earliest and latest (the 
latest is a max-redirects error). I think the first stacktrace may be a root 
cause and the second stacktrace may be proximate, but I am not sure.
   
   **Expected behavior**
   Tenant deletion should succeed if previous tenant creation succeeded, no 
matter how recently previous tenant creation was performed.
   
   **Environment**
   Same environment as https://github.com/apache/pulsar/issues/12551
   
   **What my client sees**
   
   ```
   chariot.pulsar.client.exceptions.PulsarAPIError: Server error '500 Server 
Error' for url 
'http://pulsar-blt-sn-platform-proxy-headless.pulsar:8080/admin/v2/persistent/blt4/chariot_ns_test/chariot_topic_test/partitions?force=true'
   Response code: 500
   URL: DELETE 
http://pulsar-blt-sn-platform-proxy-headless.pulsar:8080/admin/v2/persistent/blt4/chariot_ns_test/chariot_topic_test/partitions?force=true
   Headers: Headers({'host': 
'pulsar-blt-sn-platform-proxy-headless.pulsar:8080', 'accept': '*/*', 
'accept-encoding': 'gzip, deflate', 'connection': 'keep-alive', 'user-agent': 
'python-httpx/0.20.0'})
   Payload: b''
   ```
   
   **First (earliest) stacktrace in broker log that coincides with this error**
   ```
   org.apache.pulsar.metadata.api.MetadataStoreException$NotFoundException: 
org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode 
for /admin/partitioned-topics/blt3/chariot_ns_test/persistent/chariot_topic_test
   at 
org.apache.pulsar.metadata.impl.ZKMetadataStore.getException(ZKMetadataStore.java:310)
 ~[io.streamnative-pulsar-metadata-2.8.1.5.jar:2.8.1.5]                         
                                            
   at 
org.apache.pulsar.metadata.impl.ZKMetadataStore.lambda$null$21(ZKMetadataStore.java:277)
 ~[io.streamnative-pulsar-metadata-2.8.1.5.jar:2.8.1.5]                         
                                          
   at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]                                                                           
                                                  
   at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]                                                                           
                                                  
   at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [io.netty-netty-common-4.1.68.Final.jar:4.1.68.Final]                          
                                             
   at java.lang.Thread.run(Thread.java:829) [?:?]                               
                                                                                
                                                        
   Caused by: org.apache.zookeeper.KeeperException$NoNodeException: 
KeeperErrorCode = NoNode for 
/admin/partitioned-topics/blt3/chariot_ns_test/persistent/chariot_topic_test    
                                           
   at org.apache.zookeeper.KeeperException.create(KeeperException.java:118) 
~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]                               
                                                            
   at org.apache.zookeeper.KeeperException.create(KeeperException.java:54) 
~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]                               
                                                             
   at 
org.apache.pulsar.metadata.impl.ZKMetadataStore.getException(ZKMetadataStore.java:304)
 ~[io.streamnative-pulsar-metadata-2.8.1.5.jar:2.8.1.5]                         
                                            
   ... 5 more
   ```
   
   **Second (last in time) stacktrace in broker that coincides with this error**
   ```
   
   pulsar-blt-sn-platform-broker-0 15:58:00.522 [AsyncHttpClient-60-1] WARN  
org.apache.pulsar.client.admin.internal.BaseResource - 
[http://pulsar-blt-sn-platform-broker-0.pulsar-blt-sn-platform-broker-headless.pulsar.svc
   pulsar-blt-sn-platform-broker-0 15:58:00.522 [AsyncHttpClient-60-1] ERROR 
org.apache.pulsar.broker.admin.impl.PersistentTopicsBase - [null] Failed to 
delete partition 
persistent://blt4/chariot_ns_test/chariot_topic_test-partition-1
   pulsar-blt-sn-platform-broker-0 
org.apache.pulsar.client.admin.PulsarAdminException: 
java.util.concurrent.CompletionException: 
org.apache.pulsar.client.admin.internal.http.AsyncHttpConnector$RetryException: 
Could not complete the operation. Number of retries has been exhausted. Failed 
reason: Maximum redirect reached: 5
   at 
org.apache.pulsar.client.admin.internal.BaseResource.getApiException(BaseResource.java:247)
 ~[io.streamnative-pulsar-client-admin-original-2.8.1.5.jar:2.8.1.5]            
        
   at 
org.apache.pulsar.client.admin.internal.BaseResource$3.failed(BaseResource.java:184)
 ~[io.streamnative-pulsar-client-admin-original-2.8.1.5.jar:2.8.1.5]            
               
   at 
org.glassfish.jersey.client.JerseyInvocation$1.failed(JerseyInvocation.java:882)
 ~[org.glassfish.jersey.core-jersey-client-2.34.jar:?]                          
                   
   at 
org.glassfish.jersey.client.ClientRuntime.processFailure(ClientRuntime.java:247)
 ~[org.glassfish.jersey.core-jersey-client-2.34.jar:?]                          
                   
   at 
org.glassfish.jersey.client.ClientRuntime.processFailure(ClientRuntime.java:242)
 ~[org.glassfish.jersey.core-jersey-client-2.34.jar:?]                          
                   
   at 
org.glassfish.jersey.client.ClientRuntime.access$100(ClientRuntime.java:62) 
~[org.glassfish.jersey.core-jersey-client-2.34.jar:?]                           
                       
   at 
org.glassfish.jersey.client.ClientRuntime$2.lambda$failure$1(ClientRuntime.java:178)
 ~[org.glassfish.jersey.core-jersey-client-2.34.jar:?]                          
               
   at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) 
~[org.glassfish.jersey.core-jersey-common-2.34.jar:?]                           
                                      
   at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) 
~[org.glassfish.jersey.core-jersey-common-2.34.jar:?]                           
                                      
   at org.glassfish.jersey.internal.Errors.process(Errors.java:292) 
~[org.glassfish.jersey.core-jersey-common-2.34.jar:?]                           
                                     
   at org.glassfish.jersey.internal.Errors.process(Errors.java:274) 
~[org.glassfish.jersey.core-jersey-common-2.34.jar:?]                           
                                     
   at org.glassfish.jersey.internal.Errors.process(Errors.java:244) 
~[org.glassfish.jersey.core-jersey-common-2.34.jar:?]                           
                                     
   at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:288)
 ~[org.glassfish.jersey.core-jersey-common-2.34.jar:?]                          
               
   at 
org.glassfish.jersey.client.ClientRuntime$2.failure(ClientRuntime.java:178) 
~[org.glassfish.jersey.core-jersey-client-2.34.jar:?]                           
                       
   at 
org.apache.pulsar.client.admin.internal.http.AsyncHttpConnector.lambda$apply$1(AsyncHttpConnector.java:204)
 ~[io.streamnative-pulsar-client-admin-original-2.8.1.5.jar:2.8.1.5]    
   at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]                                                                         
                 
   at 
java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
 ~[?:?]                                                                         
         
   at 
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) 
~[?:?]                                                                          
                   
   at 
java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
 ~[?:?]                                                                         
          
   at 
org.apache.pulsar.client.admin.internal.http.AsyncHttpConnector.lambda$retryOperation$4(AsyncHttpConnector.java:263)
 ~[io.streamnative-pulsar-client-admin-original-2.8.1.5.jar:2.8
   at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 [?:?]                                                                          
                 
   at 
java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
 [?:?]                                                                          
         
   at 
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) 
[?:?]                                                                           
                   
   at 
java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
 [?:?]                                                                          
                 
   at 
org.asynchttpclient.netty.NettyResponseFuture.abort(NettyResponseFuture.java:273)
 [org.asynchttpclient-async-http-client-2.12.1.jar:?]                           
                  
   at 
org.asynchttpclient.netty.request.NettyRequestSender.abort(NettyRequestSender.java:473)
 [org.asynchttpclient-async-http-client-2.12.1.jar:?]                           
            
   at 
org.asynchttpclient.netty.handler.HttpHandler.readFailed(HttpHandler.java:161) 
[org.asynchttpclient-async-http-client-2.12.1.jar:?]                            
                    
   at 
org.asynchttpclient.netty.handler.HttpHandler.handleRead(HttpHandler.java:154) 
[org.asynchttpclient-async-http-client-2.12.1.jar:?]                            
                    
   at 
org.asynchttpclient.netty.handler.AsyncHttpClientHandler.channelRead(AsyncHttpClientHandler.java:78)
 [org.asynchttpclient-async-http-client-2.12.1.jar:?]                          
   at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]
   at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                  
   at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                    
   at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
 [io.netty-netty-codec-4.1.68.Final.jar:4.1.68.Final]                           
       
   at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                  
   at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                  
   at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                    
   at 
io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1
   at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
 [io.netty-netty-codec-4.1.68.Final.jar:4.1.68.Final]                           
         
   at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
 [io.netty-netty-codec-4.1.68.Final.jar:4.1.68.Final]                           
             
   at 
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                       
   
   at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                  
   at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                  
   at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                    
   at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                       
  
   at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                  
   at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                  
   at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                       
           
   at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                       
    
   at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) 
[io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                        
                       
   at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)
 [io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                       
              
   at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) 
[io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                        
                      
   at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) 
[io.netty-netty-transport-4.1.68.Final.jar:4.1.68.Final]                        
                                      
   at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
 [io.netty-netty-common-4.1.68.Final.jar:4.1.68.Final]                          
       
   at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 
[io.netty-netty-common-4.1.68.Final.jar:4.1.68.Final]                           
                         
   at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [io.netty-netty-common-4.1.68.Final.jar:4.1.68.Final]                          
              
   at java.lang.Thread.run(Thread.java:829) [?:?]                               
                                                                                
                         
   pulsar-blt-sn-platform-broker-0 Caused by: 
java.util.concurrent.CompletionException: 
org.apache.pulsar.client.admin.internal.http.AsyncHttpConnector$RetryException: 
Could not complete the operation. Number of retries h
   at 
java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
 ~[?:?]                                                                         
                 
   at 
java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
 ~[?:?]                                                                         
               
   at 
java.util.concurrent.CompletableFuture$OrApply.tryFire(CompletableFuture.java:1503)
 ~[?:?]                                                                         
                
   ... 39 more                                                                  
                                                                                
                         
   pulsar-blt-sn-platform-broker-0 Caused by: 
org.apache.pulsar.client.admin.internal.http.AsyncHttpConnector$RetryException: 
Could not complete the operation. Number of retries has been exhausted. Failed 
reason: Maximum 
   at 
org.apache.pulsar.client.admin.internal.http.AsyncHttpConnector.lambda$retryOperation$4(AsyncHttpConnector.java:265)
 ~[io.streamnative-pulsar-client-admin-original-2.8.1.5.jar:2.8
   ... 36 more                                                                  
                                                                                
                         
   pulsar-blt-sn-platform-broker-0 Caused by: 
org.asynchttpclient.handler.MaxRedirectException: Maximum redirect reached: 5
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to