ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » IIB 9 Compute node DSN

Post new topic  Reply to topic Goto page 1, 2  Next
 IIB 9 Compute node DSN « View previous topic :: View next topic » 
Author Message
Parthiban
PostPosted: Wed Oct 12, 2016 2:23 am    Post subject: IIB 9 Compute node DSN Reply with quote

Newbie

Joined: 04 Oct 2016
Posts: 3

Hi,

Consider, when the Database is down and IIB9 try Connects the Database via compute node using DSN, ideally Compute node should throw an error since DSN is configured in the compute node.
But currently I am not getting any exception unless it check the Database queries in the ESQL.

Is there any fix is provided for IIB 9 for the above case, because i have test the same in WMB8 and got an exception.

Oracle version is 11g and IIB version is 9.0.0.3
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Oct 12, 2016 4:45 am    Post subject: Re: IIB 9 Compute node DSN Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Parthiban wrote:
Consider, when the Database is down and IIB9 try Connects the Database via compute node using DSN, ideally Compute node should throw an error since DSN is configured in the compute node.
But currently I am not getting any exception unless it check the Database queries in the ESQL.


How is it ideal that the Compute node errors out when the database it's not using isn't available? If you're driving past a gas station that's unexpectedly closed, should your car stop even if it has a full tank of gas?

Parthiban wrote:
Is there any fix is provided for IIB 9 for the above case, because i have test the same in WMB8 and got an exception.


Sounds to me more like there's a bug in WMBv8 causing it to access the database when it doesn't need to that got fixed in IIBv9.

If you're trying to work out if Oracle is available or not, they make monitoring software that does that.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Oct 12, 2016 4:57 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

If you need to retry your connection, you can use the exception handling in ESQL to catch the database error.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
smdavies99
PostPosted: Wed Oct 12, 2016 9:52 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Please don't try to code any exception handling to detect individual errors that relate to network connection or DB availability problems.
With Oracle, there are several hundred different error codes that basically say the same thing.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
mayheminMQ
PostPosted: Fri Oct 21, 2016 2:50 am    Post subject: Reply with quote

Voyager

Joined: 04 Sep 2012
Posts: 77
Location: UK beyond the meadows of RocknRoll

I am sure there is an option in compute node which allows you to check the connection before the flow starts.

That checkbox in compute node which says connect before flow starts!! Wont this suffice to see if the DB connection is available before it attempts DB query.
_________________
A Colorblind man may appear disadvantaged but he always sees more than just colors...
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Oct 21, 2016 4:23 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

mayheminMQ wrote:
I am sure there is an option in compute node which allows you to check the connection before the flow starts.


Really? That would be interesting to know about.

mayheminMQ wrote:
That checkbox in compute node which says connect before flow starts!! Wont this suffice to see if the DB connection is available before it attempts DB query.


No. If the DB2 connection is not available when the flow starts, there's no guarantee that it won't still be unavailable when you try and use it later.

Likewise the other way - if it's available when the flow starts, there's no guarantee that ti will still be available when you try and use it.

It's a waste of time to check if any kind of connection is available before you try and use it. There's always a window in which that state can change.

So try and use the connection, and catch any errors.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Oct 21, 2016 4:40 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mqjeff wrote:
mayheminMQ wrote:
I am sure there is an option in compute node which allows you to check the connection before the flow starts.


Really? That would be interesting to know about.


I think he means the "connect to database when flow starts" in v10, which is a level higher than the OP is using.

If he really means there's an option to check the connection before the flow start, I'd be interested in knowing about that as well.

mqjeff wrote:
mayheminMQ wrote:
That checkbox in compute node which says connect before flow starts!! Wont this suffice to see if the DB connection is available before it attempts DB query.


No. If the DB2 connection is not available when the flow starts, there's no guarantee that it won't still be unavailable when you try and use it later.

Likewise the other way - if it's available when the flow starts, there's no guarantee that ti will still be available when you try and use it.

It's a waste of time to check if any kind of connection is available before you try and use it. There's always a window in which that state can change.

So try and use the connection, and catch any errors.
[/quote]


_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Parthiban
PostPosted: Mon Oct 24, 2016 8:22 am    Post subject: Reply with quote

Newbie

Joined: 04 Oct 2016
Posts: 3

Thanks a lot !!! Vitor, mqjeff, mayheminMQ, smdavies99.

Actually Current design is to errored out if case of Database is Down, Not sure if there was any change configuration changes from WMB8 to IIB 9 [product configuration]..

I am sure that in WMB8 if Datasource name is mentioned in the compute node and Database is down, Then Compute node will fail during connection establishment.. because i have raised a PMR for the same and solution was provided by the IBM folks..

Kindly help me to understand the behaviour, if the datasource name is mentioned in the compute node. Thanks.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Oct 24, 2016 8:47 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

The datasource being mentioned in the compute node means that that's what datasource will be used by the ESQL of that compute node.

Unless your ESQL says to use a different datasource.

That datasource, or whatever datasource you are using, won't be used until your code to use it runs.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
smdavies99
PostPosted: Mon Oct 24, 2016 9:02 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

mqjeff wrote:

That datasource, or whatever datasource you are using, won't be used until your code to use it runs.


going slightly off topic, the first MQSI PMR that I raised (V2.1 on AIX) was to do with the way that the code at the time tried to open the ODBC Connection in the node before the one with the the DSN defined.
Caused issues when we were mixing DB2 and Oracle operations in the same flow.
Oh, how things have moved on.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Oct 24, 2016 9:06 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Parthiban wrote:
I am sure that in WMB8 if Datasource name is mentioned in the compute node and Database is down, Then Compute node will fail during connection establishment.. because i have raised a PMR for the same and solution was provided by the IBM folks..


Of course it will. That's been true since they added database support to the product back when I had hair and most of my sanity. If the Compute node references a data source, and the data source returns an error, the Compute node propagates that error.

That reference should be made on first use, i.e. when the Compute node tries to access the data source. If a bug in v8 made it do the connection when the node actually started, then that's been fixed in v9.

I still don't understand what the issue is you're trying to explain. What you seem to be saying is that v8 blew out when the database was down no matter if the Compute node needed it or not, and now it only blows out when it actually tries to access the database. To me, as I've said before, this sounds like a fix not a problem.

Please phrase your issue differently.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Oct 24, 2016 9:08 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

smdavies99 wrote:
going slightly off topic, the first MQSI PMR that I raised (V2.1 on AIX) was to do with the way that the code at the time tried to open the ODBC Connection in the node before the one with the the DSN defined.


If the OP is to be believed, it sounds like the timing of the connection has changed again and is the cause of his angst.

As it was when you raised the PMR, the closer the product does the connection to the use of the connection, the better.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Parthiban
PostPosted: Mon Oct 24, 2016 9:10 am    Post subject: Reply with quote

Newbie

Joined: 04 Oct 2016
Posts: 3

Thanks smdavies99 and smdavies99


Compute node establish connection before the ESQL since Datasource name is mentioned in the Compute node...


As mentioned in the below url,
http://www.ibm.com/support/knowledgecenter/en/SSMKHH_9.0.0/com.ibm.etools.mft.doc/ac00406_.htm

Quoted in the above URL
Normally, the broker makes the connections when it needs to use them in the message flow.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Oct 24, 2016 9:26 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Parthiban wrote:
Thanks smdavies99 and smdavies99


Compute node establish connection before the ESQL since Datasource name is mentioned in the Compute node...


As mentioned in the below url,
http://www.ibm.com/support/knowledgecenter/en/SSMKHH_9.0.0/com.ibm.etools.mft.doc/ac00406_.htm

Quoted in the above URL
Normally, the broker makes the connections when it needs to use them in the message flow.


So the Knowledge Center says "Normally, the broker makes the connections when it needs to use them in the message flow". How did you get from that to "Compute node establish connection before the ESQL"? The broker doesn't need to use a connection until it encounters a query in the ESQL.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Oct 24, 2016 9:27 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

I'm still a bit lost on your question.

Maybe you mean this
Quote:
However, in the case of connections to ESQL-based data sources, you can make the initial connection before a flow receives a message, and so remove any connection latency from the message processing. Set this option by selecting Connect before flow starts property on the data source node.

_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » IIB 9 Compute node DSN
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.