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 <[email protected]> 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 <[email protected]> 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: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]