Author |
Message
|
contactop |
Posted: Sun Oct 24, 2004 6:27 am Post subject: QM queue physical message container |
|
|
Acolyte
Joined: 26 Jun 2003 Posts: 50
|
When the messages are put on to a queue, where does QM physically keeps the message.
for example: When an error occurs, the message is put onto an error queue, and when i browse the error queue, i see the message.
But i want to know, where does MQ Series physically keep the message.
thanks |
|
Back to top |
|
 |
TonyD |
Posted: Sun Oct 24, 2004 2:49 pm Post subject: |
|
|
Knight
Joined: 15 May 2001 Posts: 540 Location: New Zealand
|
mqpath\Qmgrs\qmname\QUEUES\qname\Q |
|
Back to top |
|
 |
PeterPotkay |
Posted: Sun Oct 24, 2004 4:09 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
There is a Space Table kept to manage the space in the queue buffer and the queue file.
NP messages are stored in a shared memory buffer by preferance. If the buffer overflows, they are written to the file system buffer but there is never a synchronous disk write for NP messages.
When a PUT happens, and the message is persistent, it will be allocated space in the queue file. If the message is non persistent, it will be allocated space in the queue buffer, or in the queue file if the buffer is full.
LOGS - If the message is persistent, there will normally be 1 log record written. If the message is not persistent, there is no write to the log record, even if the message spilled over to the queue file.
There is an exception to the rule of persistent messages being written to logs. If an app does an MQPUT outside of syncpoint to a queue where there is an MQGET waiting outside of syncpoint, the persistent message is passed thru in memory with no writes to the log.
If the space was allocated in the queue buffer, the message data is copied to the queue buffer. If the space was allocated to the queue file, the data will be written to the queue file via the file system buffer. If a log record is needed to record the update, it will be written before the message data is written to the queue file. If the message is put under syncpoint, neither write will by synchronous. A synchronous write to the log will be required when the transaction is committed or rolled back. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
kirani |
Posted: Sun Oct 24, 2004 10:14 pm Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
[Moved to General MQ Support Forum] _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
siliconfish |
Posted: Mon Oct 25, 2004 7:52 am Post subject: |
|
|
 Master
Joined: 12 Aug 2002 Posts: 203 Location: USA
|
Peter -- How does MQ processes the NP messages on the queue that have a NPMCLASS(HIGH)? _________________ siliconfish |
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Oct 25, 2004 8:54 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
It is my understanding that that attribute only comes into play at a controlled QM shutdown. Any queues with that setting turned on and containing NP messages would delay the QM shutdown slightly as the QM recorded all the NP messages to disk, so they would be availabe at QM startup. It has no effect o the messages while the QM is running.
This is just an educated guess though. I have never read about this specifically. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
mrlinux |
Posted: Mon Oct 25, 2004 9:32 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
Curious where is this NPM Class attribute, which version of MQ ??? _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
EddieA |
Posted: Mon Oct 25, 2004 10:48 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
It's documented in the FixPac memo.ptf. It was introduced in FixPac 3 (I seem to remember).
And the Explorer Snap-In still hasn't been updated with it.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Oct 25, 2004 11:20 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
5.3 CSD06 introduced this attribute. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
mrlinux |
Posted: Mon Oct 25, 2004 1:11 pm Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
Do you know if it is available on the OS390 version ??? _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
siliconfish |
Posted: Mon Oct 25, 2004 1:57 pm Post subject: |
|
|
 Master
Joined: 12 Aug 2002 Posts: 203 Location: USA
|
I think its supported only on iSeries, UNIX, and on Windows. _________________ siliconfish |
|
Back to top |
|
 |
GMcCarthy |
Posted: Fri Nov 05, 2004 4:17 am Post subject: |
|
|
 Centurion
Joined: 06 Nov 2001 Posts: 113 Location: Melville NY
|
Speaking of logs....I have what I hope to be quick questions.
1. We have MQ 5.3 on AIX4.3.3 and the filesystem the logs are in is tight on space. We will be moving the logs to their own filesystem on separate disk. My plan is to move the logs and point LogDefaultPath in qm.ini to the new filesystem.
This seems too easy as I've never had much luck when I mess with the logs.
Any gotchas?
2. Currently we default LogWriteIntegrity to TripleWrite. I believe this has cause a performance hit. What would be the cons of Single or Double?
3. I changed the primary logs from 5 to 7 and recycled the queue manager. I would have expected to see 7 primaries allocated...i still only have 5. What else is needed?
TIA,
Gina _________________ Regards,
Gina
IBM Certified MQSeries Specialist |
|
Back to top |
|
 |
mrlinux |
Posted: Fri Nov 05, 2004 7:12 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
Well I beleive the only time it will create primary logs is during qmgr creation, at least that is how it was in prior versions. _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
GMcCarthy |
Posted: Fri Nov 05, 2004 7:53 am Post subject: |
|
|
 Centurion
Joined: 06 Nov 2001 Posts: 113 Location: Melville NY
|
This is what the manual states:
LogPrimaryFiles=3|2-62
The log files allocated when the queue manager is created.
The minimum number of primary log files you can have is 2 and the maximum is 62. The default is 3.
The total number of primary and secondary log files must not exceed 63, and must not be less than 3.
The value is examined when the queue manager is created or started. You can change it after the queue manager has been created. However, a change in the value is not effective until the queue manager is restarted, and the effect might not be immediate.
However, a change in the value is not effective until the queue manager is restarted, and the effect might not be immediate.
Anyone know exactly what this would mean?
Gina _________________ Regards,
Gina
IBM Certified MQSeries Specialist |
|
Back to top |
|
 |
mrlinux |
Posted: Fri Nov 05, 2004 8:07 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
Well I know you can change the number of secondary logs and it will create them when it needs them. _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
|