I'm using https://github.com/ibm-messaging/kafka-connect-mq-source
project to build the connector to pull the data from IBM MQ to Kafka topic.
I'm seeing an issue where the supplied used-id
is getting modified to the system user
and authentication failed with the following error :
The MQ Admin reported that I'm supplying different user id.
I've configured to send MQUser
as userid(I'm executing this connector on linux server). But when it reaches MQ, the userid is modified to wljay
(which is the user I logged in on server)
ERROR MQ error: CompCode 2, Reason 2035 MQRC_NOT_AUTHORIZED
(com.ibm.eventstreams.connect.mqsource.JMSReader:413)
INFO Polling for records
(com.ibm.eventstreams.connect.mqsource.MQSourceTask:120)
ERROR JMS exception {} (com.ibm.eventstreams.connect.mqsource.JMSReader:362)
com.ibm.msg.client.jms.DetailedJMSSecurityRuntimeException: JMSWMQ2008: Failed to open MQ queue 'LOC.E.KAFKA.QUEUE'.
JMS attempted to perform an MQOPEN, but IBM MQ reported an error.
Use the linked exception to determine the cause of this error. Check that the specified queue and queue manager are defined correctly.
at com.ibm.msg.client.jms.DetailedJMSSecurityException.getUnchecked(DetailedJMSSecurityException.java:270)
at com.ibm.msg.client.jms.internal.JmsErrorUtils.convertJMSException(JmsErrorUtils.java:173)
at com.ibm.msg.client.jms.internal.JmsContextImpl.createConsumer(JmsContextImpl.java:416)
at com.ibm.eventstreams.connect.mqsource.JMSReader.connectInternal(JMSReader.java:342)
at com.ibm.eventstreams.connect.mqsource.JMSReader.receive(JMSReader.java:225)
at com.ibm.eventstreams.connect.mqsource.MQSourceTask.poll(MQSourceTask.java:124)
at org.apache.kafka.connect.runtime.WorkerSourceTask.poll(WorkerSourceTask.java:244)
at org.apache.kafka.connect.runtime.WorkerSourceTask.execute(WorkerSourceTask.java:220)
at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:175)
at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:219)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.ibm.mq.MQException: JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED') reason '2035' ('MQRC_NOT_AUTHORIZED').
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:203)
at com.ibm.msg.client.wmq.internal.WMQMessageConsumer.checkJmqiCallSuccess(WMQMessageConsumer.java:222)
at com.ibm.msg.client.wmq.internal.WMQMessageConsumer.checkJmqiCallSuccess(WMQMessageConsumer.java:156)
at com.ibm.msg.client.wmq.internal.WMQConsumerShadow.initialize(WMQConsumerShadow.java:1176)
at com.ibm.msg.client.wmq.internal.WMQSyncConsumerShadow.initialize(WMQSyncConsumerShadow.java:133)
at com.ibm.msg.client.wmq.internal.WMQMessageConsumer.<init>(WMQMessageConsumer.java:486)
at com.ibm.msg.client.wmq.internal.WMQSession.createConsumer(WMQSession.java:918)
at com.ibm.msg.client.jms.internal.JmsSessionImpl.createConsumer(JmsSessionImpl.java:1032)
at com.ibm.msg.client.jms.internal.JmsSessionImpl.createConsumer(JmsSessionImpl.java:1116)
at com.ibm.msg.client.jms.internal.JmsContextImpl$SessionWrapper.createConsumer(JmsContextImpl.java:1991)
at com.ibm.msg.client.jms.internal.JmsContextImpl.createConsumer(JmsContextImpl.java:403)
IS there something I've to change the way the username passed? Any help is greatly appreciated. Thanks!!