Author |
Message
|
mgrabinski |
Posted: Fri Sep 12, 2003 2:44 am Post subject: Rebuilding queue index |
|
|
Master
Joined: 16 Oct 2001 Posts: 246 Location: Katowice, Poland
|
Hi
Do you know if index set on a non-shared queue on z/OS can be dynamically rebuilded? I know that rebuildung takes place during queue manager start. Is there any way to force it during work? _________________ Marcin Grabinski <>< |
|
Back to top |
|
 |
GMcCarthy |
Posted: Fri Sep 12, 2003 5:40 am Post subject: |
|
|
 Centurion
Joined: 06 Nov 2001 Posts: 113 Location: Melville NY
|
Marcin,
I don't have an answer for you...still researching. May I ask why you would want/need to do this dynamically? _________________ Regards,
Gina
IBM Certified MQSeries Specialist |
|
Back to top |
|
 |
mgrabinski |
Posted: Fri Sep 12, 2003 6:27 am Post subject: |
|
|
Master
Joined: 16 Oct 2001 Posts: 246 Location: Katowice, Poland
|
I have a couple of queues with quite frequent puts and gets (with matching correlid). The queues are indexed - by correlid. Every day there are some 5000 messages put and got to/from those queues. Not every get is succesful - there some 200-300 misses per day. This is not bad - it's about 5% - but after few days, the queues contain thousands messages. When a new message comes, it is wriiten at the end. Getting applications waste huge amount of time to get to the right message - they cannot use the index, since it's not up to date.
I can't restart the queue manager every night. Once-twice a month is all I can do. _________________ Marcin Grabinski <>< |
|
Back to top |
|
 |
EddieA |
Posted: Fri Sep 12, 2003 6:35 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
There is no way, from an application, that you can tell it to use, or not to use, the index. This is all handled internally within MQSeries.
Are you saying that GETs using CorrelationID return a 2033 even when the message is present.
I'm not sure what you mean by:
Quote: |
Getting applications waste huge amount of time to get to the right message |
Do you mean the application BROWSEs the queue checking the CorrelationID of each one, looking for a match.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
GMcCarthy |
Posted: Fri Sep 12, 2003 6:49 am Post subject: |
|
|
 Centurion
Joined: 06 Nov 2001 Posts: 113 Location: Melville NY
|
I found a discussion similar to what you are speaking of. Please let me know if this helped.
Performance Correlid Index _________________ Regards,
Gina
IBM Certified MQSeries Specialist |
|
Back to top |
|
 |
PeterPotkay |
Posted: Sat Sep 13, 2003 3:25 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
If you are 5.3, check out the MQSC script manual (http://publibfp.boulder.ibm.com/epubs/html/csqzaj09/csqzaj09tfrm.htm).
Look for the IndxType section under the DEFINE QUEUE command. To me it says that if you alter this attribute of the queue from CORRELID to NONE and then back again, and there are no uncommitted units of work in this queue, the index will be rebuilt, without a QM restart.
I know at 5.2, the QM definitly needed to be restarted.
See my results for testing this.
http://www.mqseries.net/phpBB2/viewtopic.php?t=5475&highlight=index
My tests indicate that even as you put more messages to the queue, the index is maintained and updated.
Marcin what you say is if I have 2 messages on an indexed queue, and I restart the QM, the index is forever only for just those 2 messages??? As more messages get added, the index ignores them? Until the next QM restart (at 5.2)? My test results don't agree  _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
mgrabinski |
Posted: Mon Sep 15, 2003 10:06 pm Post subject: |
|
|
Master
Joined: 16 Oct 2001 Posts: 246 Location: Katowice, Poland
|
I'm not sure about rebuilding of the index. I noticed long times needed to complete an MQGET with matching CorrelId. The queue in question is indexed. I guessed it was due to problem with indexing, but then I noticed even longer times in a queue without index. So I may have been wrong.
It would be great if someone from Hursley labs clarified this issue for us all. Is the queue index rebuilt in flight or not? What is the cost?
I need to investigate the problem more thoroughly - I will collect data from MQ trace for a week or so and will see the general picture.
Thank you for you posts so far. _________________ Marcin Grabinski <>< |
|
Back to top |
|
 |
|