Skip to content

chore(camel-test-infra-ibmmq): upgrade ibm.mq.container to 9.4.5.0-r1#21892

Open
github-actions[bot] wants to merge 4 commits intomainfrom
automated/upgrade-ibm-mq-container-9.4.5.0-r1-18
Open

chore(camel-test-infra-ibmmq): upgrade ibm.mq.container to 9.4.5.0-r1#21892
github-actions[bot] wants to merge 4 commits intomainfrom
automated/upgrade-ibm-mq-container-9.4.5.0-r1-18

Conversation

@github-actions
Copy link
Contributor

This PR updates the ibm.mq.container container image to version 9.4.5.0-r1.

Update Details

  • Property: ibm.mq.container
  • Image: icr.io/ibm-messaging/mq
  • File: /home/runner/work/camel/camel/test-infra/camel-test-infra-ibmmq/src/main/resources/org/apache/camel/test/infra/ibmmq/services/container.properties
  • Old version: 9.3.2.0-r2
  • New version: 9.4.5.0-r1

Verification

Please verify:

  • Container image version is compatible with existing tests
  • No breaking changes in the updated version
  • Tests pass with the new version

Run the following to verify:

mvn clean verify -pl camel-test-infra-ibmmq

This PR was automatically created by the Container Version Upgrade workflow.

Update ibm.mq.container from 9.3.2.0-r2 to 9.4.5.0-r1
@github-actions github-actions bot added dependencies Pull requests that update a dependency file container-images For check container upgrades automated For Check Container upgrade labels Mar 10, 2026
@gnodet
Copy link
Contributor

gnodet commented Mar 10, 2026

/component-test camel-jms

@gnodet
Copy link
Contributor

gnodet commented Mar 10, 2026

/component-test camel-jms

Result ❌ The tests failed please check the logs

@github-actions
Copy link
Contributor Author

🤖 The Apache Camel test robot will run the tests for you 👍

@gnodet
Copy link
Contributor

gnodet commented Mar 10, 2026

/component-test camel-jms

@gnodet
Copy link
Contributor

gnodet commented Mar 10, 2026

/component-test camel-jms

Result ❌ The tests failed please check the logs

@apupier
Copy link
Contributor

apupier commented Mar 10, 2026

test error:

rg.apache.camel.component.jms.integration.tx.JmsTransactedDeadLetterChannelNotHandlerRollbackOnExceptionIT.shouldNotLoseMessagesOnExceptionInErrorHandler(JmsTransactedDeadLetterChannelNotHandlerRollbackOnExceptionIT.java:38)
Caused by: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: [errorType=NOT_CONNECTED message=AMQ219007: Cannot connect to server(s). Tried with all available servers.]
	at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:308)
	at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:196)
	at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:539)
	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:598)
	at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:437)
	at org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:396)
	at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:163)
	at org.apache.camel.impl.engine.SharedCamelInternalProcessor.processNonTransacted(SharedCamelInternalProcessor.java:156)
	at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:133)
	at org.apache.camel.impl.engine.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:89)
	at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:81)
	at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86)
	at org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:180)
	at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:175)
	at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:171)
	at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:152)
	at org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:186)
	... 2 more
Caused by: jakarta.jms.JMSException: Failed to create session factory
	at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:917)
	at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:313)
	at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:308)
	at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:208)
	at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:523)
	... 16 more
Caused by: org.apache.activemq.artemis.api.core.ActiveMQNotConnectedException: [errorType=NOT_CONNECTED message=AMQ219007: Cannot connect to server(s). Tried with all available servers.]
	at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:733)
	at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:915)
	... 20 more

@davsclaus
Copy link
Contributor

try also to test locally

@gnodet
Copy link
Contributor

gnodet commented Mar 10, 2026

/update-branch

@github-actions
Copy link
Contributor Author

✅ Branch updated successfully by merging main.

@gnodet
Copy link
Contributor

gnodet commented Mar 10, 2026

/component-test camel-jms

@github-actions
Copy link
Contributor Author

/component-test camel-jms tests failed. Please check the logs.

@gnodet
Copy link
Contributor

gnodet commented Mar 10, 2026

/update-branch

@github-actions
Copy link
Contributor Author

✅ Branch updated successfully by merging main.

@gnodet
Copy link
Contributor

gnodet commented Mar 10, 2026

/component-test camel-jms

@github-actions
Copy link
Contributor Author

/component-test camel-jms tests failed. Please check the logs.

⚠️ Some integration tests are disabled on GitHub Actions (@DisabledIfSystemProperty(named = "ci.env.name")) and require manual verification:

  • components/camel-jms: 8 test(s) disabled on GitHub Actions

@gnodet
Copy link
Contributor

gnodet commented Mar 10, 2026

Local test results for IBM MQ 9.4.5.0-r1:

Both JmsComponentIbmMQTest and JmsReplyToIbmMQTest fail with:

MQRC_NOT_AUTHORIZED (2035) - security authentication failed for queue manager 'QM1'

IBM MQ 9.4.x enforces authentication by default, while 9.3.x allowed unauthenticated developer connections on DEV.CHANNEL. To fix this, the test infrastructure needs to be updated:

  1. Set MQ_APP_PASSWORD environment variable on the container in IbmMQLocalContainerInfraService
  2. Pass app user and password credentials in ConnectionFactoryHelper.createConnectionFactory()

This PR is not safe to merge without updating the test infrastructure for the new security requirements.

IBM MQ 9.4.x enforces authentication by default, unlike 9.3.x which
allowed unauthenticated developer connections. Add MQ_APP_PASSWORD env
var to the container and MQCSP auth credentials to ConnectionFactoryHelper.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Contributor Author

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using build-all, build-dependents, skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@gnodet
Copy link
Contributor

gnodet commented Mar 10, 2026

I've verified the IBM MQ 9.4.5.0-r1 upgrade locally with Docker — both JmsComponentIbmMQTest and JmsReplyToIbmMQTest pass.

Issue: IBM MQ 9.4.x enforces authentication by default (MQRC_NOT_AUTHORIZED 2035), unlike 9.3.x which allowed unauthenticated developer connections.

Fix: The additional commit (b0c0e54) adds:

  • MQ_APP_PASSWORD env var to the container (so the app user has a known password)
  • DEFAULT_APP_USER / DEFAULT_APP_PASSWORD constants in IbmMQProperties
  • MQCSP auth credentials in ConnectionFactoryHelper

About the CI failures: The build step passes, but the test step fails due to unrelated Artemis-based JMS tests (JmsTransactedDeadLetterChannelNotHandlerRollbackOnExceptionIT, JmsToJmsTransactedSecurityIT, RouteIdTransactedIT). These are pre-existing flaky/failing tests in camel-jms that use embedded ActiveMQ Artemis (not IBM MQ at all). They get triggered because the CI incremental build runs all of camel-jms since it depends on camel-test-infra-ibmmq. The actual IBM MQ tests (JmsComponentIbmMQTest, JmsReplyToIbmMQTest) are skipped on CI by design (@DisabledIfSystemProperty(named = "ci.env.name")) and pass locally with Docker.

Copy link
Contributor

@gnodet gnodet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified locally — both JmsComponentIbmMQTest and JmsReplyToIbmMQTest pass with IBM MQ 9.4.5.0-r1. The authentication changes (MQ_APP_PASSWORD, USER_AUTHENTICATION_MQCSP, credentials in ConnectionFactoryHelper) are correct and necessary for MQ 9.4.x which enforces authentication by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated For Check Container upgrade container-images For check container upgrades dependencies Pull requests that update a dependency file test-infra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants