How to transfer a 60mb file to queue using MQ FTE

1.4k Views Asked by At

I am trying to transfer a 60mb file to queue, but Websphere MQ fte stall the transfer and keep recovering. I am running WebSphere MQ FTE on default configuration.

2

There are 2 best solutions below

2
Miroslav Pohoraly On

If you are transferring file to queue you definitely can't use the default settings. You have to add "enableQueueInputOutput=true" to agent.properties for agent thet uses queue as source or destination.

1
Miroslav Pohoraly On

I have tested following scenario with different results according to configuration changes I made.

These commands were issued to create monitor:

fteCreateTransfer -sa AGENT1 -sm TQM.FTE -da AGENT2 -dm QM.FTE -dq FTE.TEST.Q -p QM.FTE -de overwrite -sd delete -gt /var/IBM/WMQFTE/config/TQM.FTE/TEST_TRANSFER.xml D:\\rvs\\tstusrdat\\ALZtoSIP\\INC\\*.zip

fteCreateMonitor -ma AGENT1 -mn TEST_MONITOR -md D:\\rvs\\tstusrdat\\ALZtoSIP\\INC -mt /var/IBM/WMQFTE/config/TQM.FTE/TEST_TRANSFER.xml -tr match,*.zip

Test was performed on files: 53MB and 30MB

Default configuration (just enableQueueInputOutput=true added to AGENT2.properties)

1) all default

  1. no success, transfer status: "recovering"
  2. for both files

2) added maxInputOutputMessageLength=60000000, destination queue max message length changed to 103809024

  1. result transfer status: "failed" with following exception PM71138: BFGIO0178E: A QUEUE WRITE FAILED DUE TO A WMQAPIEXCEPTION WITH MESSAGE TEXT CC=2 RC=2142 MQRC_HEADER_ERROR
  2. for both files

After reading this: http://pic.dhe.ibm.com/infocenter/wmqfte/v7r0/topic/com.ibm.wmqfte.doc/message_length.htm I came with working settings:

3) maxInputOutputMessageLength=34603008 (its maximum value), destination queue max message length still to 103809024

  1. result for file with size 30MB: succcess
  2. result for file with size 53MB: "failed" with following exception PM71138: BFGIO0178E: A QUEUE WRITE FAILED DUE TO A WMQAPIEXCEPTION WITH MESSAGE TEXT CC=2 RC=2142 MQRC_HEADER_ERROR

So according to this I am afraid one can't transfer larger then 34603008 bytes.