Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

JMS IQ Dump

Status
Not open for further replies.

agmick

Programmer
Aug 10, 2004
6
0
0
US
I'm running 4.5.3 and we've had issues where the IQs get hosed one way or another and it would be nice to be able to dump the data out of an IQ and then be able to reload it.

SeeBeyonds dump functionality with the stcmsctrlutil only works if you have journaling turned on, which we do not want to do.

Does anyone have any ideas, suggestions etc...

-Mick
 
If the Queue is broken, I am not sure that there is any tool available to retrieve the data.
 
With some of the bugs we've seen where the queue is "working" but only one event goes out when one comes in is when we would most likley use it. If a backlog of 8000 messages build up and only one is coming out every time one comes in the IQ is hosed, but technically working--the data is still needed.

But as it stands now we can't even dump a perfectly good IQ unless journaling is enabled.
 
I have a couple of questions:

1) Are these messages published as a topic or a queue?
2) How are you determining there are actually these
8,000 messages on the queue?
3) Is the message that comes out the same one that went
in, or are you cycling through the stack?


One suggestion I do have without knowing these things is to shutdown all eWays that touch this IQManager, and shutdown and restart the IQManager to let it re-index itself. It may take a good amount of time to do this.

Have you tried creating an eWay to subscribe to this event type and dump the data to a file? Just a thought, but if you can't read the Queue this probably won't work anyway...

-Doug
 
We've seen this issue with both topics and queues. We've done plenty of bouncing and that doesn't work.

We determine there are 8000 with the JMS administrator, and can actually still view the messages etc... Or we can use the stcmsctrlutil. Both work.

I'm not sure what you mean by the 3rd question, but with this particular issue the subscriber subscribes as it should (as far as order goes, not speed), but only if an incoming message was recieved to the IQ.

>>>>>>>>>>>>>>>>>
Have you tried creating an eWay to subscribe to this event type and dump the data to a file? Just a thought, but if you can't read the Queue this probably won't work anyway...
>>>>>>>>>>>>>>>>>

This is a good idea for some situations, but only if the IQ is set up to a subscriber pool (queue not topic) I had not thought of it. Thanks for the suggestion. But if we are only getting one out when one goes in it still leaves us with a dilemma. Can't subscribe what doesn't want to come out.

I guess my question should be has anyone had any success with using the JMS API with external applications? Or if there is any other way to dump an IQ w/o having journaling turned on.

This problem I am using for an example was "fixed" with an ESR--but we have seen it pop up again since the ESR was applied. We've used work arounds and what not, but if we could dump a queue it would a lot more practical.

Thanks for your help.
 
To clarify question #3:

In the situation where you say there are x number of events already on the queue, but they only come off as one goes on. Is the event being pulled off by the subscriber the exact event being published to it at that time, or does it place the new event at the back of the queue, and pull the event from the front? Have you compared the actual data to verify it is the same or a different event?

For instance if I have

c b a

on the queue, and I place d on the queue giving me

d c b a

Is the subscriber pulling a or d off ?

I was just trying to get a feel for how the system is reacting in this situation...
 
It is pulling off a. We've verified this as did SBYN. Aside from the patch the only work around we have is a screwy set of tasks I tried that ended up working.

Abbreviated it was something like this:

Move current IQ off. Move new IQ in. Push test trx through (no problem seen with new IQ). Move new IQ off. Move old IQ on. Restart. Drain IQ. Move old IQ off and new IQ back on.

It would just be nicer to dump the IQ. Delete it. Create a new IQ. And input the dumped data.

Thanks for your help and ideas.

Thanks,
Mick
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top