You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Andrey Shi <sh...@gmail.com> on 2022/01/11 19:29:42 UTC

Issue with the same name for topic and queue

Hi all,

I have a three-node cluster qpid broker-j 8.0.6

I create a topic and durable queue with the same name (for example, random generated Ae8M6kKM) and make a binding. At this stage, I can send and receive messages.

I move the master node to another server. After that, all messages that I sent to the topic Ae8M6kKM dropped. 
If I try to delete the binding, web interface returns an error with code 500 "Please correct the problem and retry your operation.", but the binding is deleted successfully. After the binding recreation, all messages are sent and received correctly.

If I move the master node, the issue reproduces again. I have reproduced this behaviour on different clusters.

Does anyone know how to fix this?

Thanks


Andrey
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Issue with the same name for topic and queue

Posted by Andrey Shi <sh...@gmail.com>.
Hi Alex,

The issue is not with messages but with bindings. If I have an exchange and a queue with identical names (in this case, I named them Ae8M6kKM),  moving the master node to another server brake the binding. 

If both exchange and queue have different names, everything works correctly.

Here is the stack trace. I moved the master node and tried to delete the binding:

2022-01-13T14:39:55,179Z DEBUG [qtp1018056877-65] (o.a.q.s.m.AbstractConfiguredObject) - authorise returned ALLOWED
2022-01-13T14:39:55,180Z DEBUG [VirtualHostNode-default2-Config] (o.a.q.s.c.u.TaskExecutorImpl) - Performing Task['unbind' on 'TopicExchangeImplWithAccessChecking[Ae8M6kKM]' with arguments 'destination=Ae8M6kKM,bindingKey=#']
2022-01-13T14:39:55,181Z DEBUG [VirtualHostNode-default2-Config] (o.a.q.s.c.u.TaskExecutorImpl) - Task['unbind' on 'TopicExchangeImplWithAccessChecking[Ae8M6kKM]' with arguments 'destination=Ae8M6kKM,bindingKey=#'] performed successfully with result: null
2022-01-13T14:39:55,185Z WARN  [qtp1018056877-65] (o.a.q.s.m.p.ManagementException) - Unexpected Exception
java.lang.NullPointerException: null
	at org.apache.qpid.server.queue.AbstractQueue.linkRemoved(AbstractQueue.java:3836)
	at org.apache.qpid.server.exchange.AbstractExchange.unbind(AbstractExchange.java:827)
	at org.apache.qpid.server.exchange.TopicExchangeImplWithAccessChecking.access$301(TopicExchangeImplWithAccessChecking.java:33)
	at org.apache.qpid.server.exchange.TopicExchangeImplWithAccessChecking$4.execute(TopicExchangeImplWithAccessChecking.java:160)
	at org.apache.qpid.server.exchange.TopicExchangeImplWithAccessChecking$4.execute(TopicExchangeImplWithAccessChecking.java:155)
	at org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:647)
	at org.apache.qpid.server.model.AbstractConfiguredObject$2.execute(AbstractConfiguredObject.java:640)
	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$TaskLoggingWrapper.execute(TaskExecutorImpl.java:248)
	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:320)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/javax.security.auth.Subject.doAs(Subject.java:361)
	at org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:313)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.apache.qpid.server.bytebuffer.QpidByteBufferFactory.lambda$null$0(QpidByteBufferFactory.java:464)
	at java.base/java.lang.Thread.run(Thread.java:829)
2022-01-13T14:39:55,186Z DEBUG [qtp1018056877-65] (o.a.q.s.m.p.f.LoggingFilter) - RESPONSE method='POST' url='http://testqpid:8443//api/latest/exchange/default2/default/Ae8M6kKM/unbind' status='500’


Thanks

Andrey


> On 13 Jan 2022, at 13:31, Oleksandr Rudyy <or...@gmail.com> wrote:
> 
> Hi Andrey,
> 
> Only persistent messages survive the change of the master. The
> transient messages are lost on mastership transfer.
> Could you please verify that persistent messages are published into
> durable queues?
> 
> As for error 500 "Please correct the problem and retry your
> operation." reported for the binding delete operation, could you
> please provide exception stack traces reported into broker logs?
> 
> 
> Kind Regards,
> Alex
> 
> 
> 
> 
> On Tue, 11 Jan 2022 at 19:29, Andrey Shi <sh...@gmail.com> wrote:
>> 
>> Hi all,
>> 
>> I have a three-node cluster qpid broker-j 8.0.6
>> 
>> I create a topic and durable queue with the same name (for example, random generated Ae8M6kKM) and make a binding. At this stage, I can send and receive messages.
>> 
>> I move the master node to another server. After that, all messages that I sent to the topic Ae8M6kKM dropped.
>> If I try to delete the binding, web interface returns an error with code 500 "Please correct the problem and retry your operation.", but the binding is deleted successfully. After the binding recreation, all messages are sent and received correctly.
>> 
>> If I move the master node, the issue reproduces again. I have reproduced this behaviour on different clusters.
>> 
>> Does anyone know how to fix this?
>> 
>> Thanks
>> 
>> 
>> Andrey
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
>> For additional commands, e-mail: users-help@qpid.apache.org
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Issue with the same name for topic and queue

Posted by Oleksandr Rudyy <or...@gmail.com>.
Hi Andrey,

Only persistent messages survive the change of the master. The
transient messages are lost on mastership transfer.
Could you please verify that persistent messages are published into
durable queues?

As for error 500 "Please correct the problem and retry your
operation." reported for the binding delete operation, could you
please provide exception stack traces reported into broker logs?


Kind Regards,
Alex




On Tue, 11 Jan 2022 at 19:29, Andrey Shi <sh...@gmail.com> wrote:
>
> Hi all,
>
> I have a three-node cluster qpid broker-j 8.0.6
>
> I create a topic and durable queue with the same name (for example, random generated Ae8M6kKM) and make a binding. At this stage, I can send and receive messages.
>
> I move the master node to another server. After that, all messages that I sent to the topic Ae8M6kKM dropped.
> If I try to delete the binding, web interface returns an error with code 500 "Please correct the problem and retry your operation.", but the binding is deleted successfully. After the binding recreation, all messages are sent and received correctly.
>
> If I move the master node, the issue reproduces again. I have reproduced this behaviour on different clusters.
>
> Does anyone know how to fix this?
>
> Thanks
>
>
> Andrey
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org