🎄 Happy Holidays! 🥳
Most of Solace is closed December 24–January 1 so our employees can spend time with their families. We will re-open Thursday, January 2, 2024. Please expect slower response times during this period and open a support ticket for anything needing immediate assistance.
Happy Holidays!
Please note: most of Solace is closed December 25–January 2, and will re-open Tuesday, January 3, 2023.
Intermittent error - JCSMPErrorResponseException: 503: No Subscription Match [Subcode:70]
I am using Camel and Spring with Solace Pub Sub. The camel route is transacted, I am seeing the below exception while publishing to a topic intermittently - com.solacesystems.jcsmp.JCSMPErrorResponseException: 503: No Subscription Match [Subcode:70]
So when the process starts, the initial events are published, but after some time, the below error is seen:
Detail log is as follows:
2024-07-05 09:05:12,367 [er[NPP.LSR.AU.IN.01]] WARN .c.s.s.TransactionErrorHandler - LSP6000013127952 - requestId - camel.messageId - direct://interceptFromEndpoint_NPP_LSR_AU_REQ_MQ - Transaction rollback (0x3059dc1e) redelivered(false) for (MessageId: ID:100.123.55.7695951908223c4140:5 on ExchangeId: DC3D5BB749E04C7-0000000000000000) caught: Heuristic completion: outcome state is mixed; nested exception is org.springframework.transaction.UnexpectedRollbackException: JMS transaction rolled back; nested exception is javax.jms.TransactionRolledBackException: Error committing - transaction rolled back (Transaction commit failed: (TransactedSessionId:7477, Name:c35b57bb7ec44cf0ae67aad5b5d033f2, CorrelationId:9, downgrade:false) (((Client name: psp-npp-lumpsumreportingservice-/1/00510002/lZ44LyKoTs Local addr: 100.123.68.248 Local port: 39276 Remote addr: dsole07l.unixtest.anz Remote port: 55443) - ) com.solacesystems.jcsmp.JCSMPErrorResponseException: 503: No Subscription Match [Subcode:70]))
Comments
-
Hi @Sud,
It seems like you probably have the "Reject Message to Sender on No Subscription Match" setting enabled in your client-profile. This is not the default setting, so someone might have enabled it on purpose? If your app isn't going to respond to those events and make a decision to not publish events that aren't being consumed then it's probably best to disable it to have events in your design continue to flow and be available for future or intermittent consumers of those events.
Hope that helps,
Marc
0 -
It looks like you are encountering a
JCSMPErrorResponseException
with a "No Subscription Match" error when publishing messages to a topic using Apache Camel with Solace. This issue can be intermittent and might be related to the state of the subscriptions at the time of publishing.Here are a few suggestions to help troubleshoot and resolve the problem:
- Check Subscription Status: Ensure that the subscriptions for the topic are active and correctly configured. If there are no subscribers to the topic at the time of publishing, Solace will return a "No Subscription Match" error.
- Review Connection Stability: Check if there are any network connectivity issues between your application and the Solace broker that might affect subscription status.
- Transaction Management: Since you're using transactions, ensure that your transaction settings are correctly configured. The rollback error indicates that the transaction is failing, which may be due to multiple factors including the state of the subscription.
- Logging and Monitoring: Enable detailed logging in your Camel and Solace configurations to gather more information about the events leading up to the error. This may help identify patterns that cause the error.
- Retry Logic: Consider implementing a retry mechanism for publishing messages when encountering this specific error. This can help mitigate the impact of intermittent issues.
- Consult Documentation: Review the Solace PubSub+ and Apache Camel documentation for any known issues related to transactions and subscription matching.
If these steps do not resolve the issue, please provide additional details about your configuration and any patterns you notice related to the timing of the error. This information could be useful in diagnosing the problem further.
0