Author |
Message
|
wilsonjohn24 |
Posted: Tue Oct 02, 2007 11:55 pm Post subject: UDP's , Default Schema and Deployment Issues! |
|
|
 Voyager
Joined: 02 Feb 2007 Posts: 93 Location: Scotland
|
Set Up
======
1 Project contains two top level flows, for instance foo and yak.
Top level flow foo has an UDP and yak does not! The esql for both are
in the default schema.
Failure Scenario's
==================
When you add both to the bar file, the esql for flow yak
seems to get the external UDP embedded in the esql ( the compiled? cmf ).
This cant be deployed as it complains the UDP is not be defined for flow
yak. The UDP has been set in project foo.
Also if you just add flow yak to the bar file it still complains about UDP not
being defined.
Adding flow foo to the bar by it's self works ok.
Work Around
===========
No doubt this will be documented somewhere as a feature? The work around we
used was to defined the top level flow esql in a different schema.
Any help appreciated? |
|
Back to top |
|
 |
elvis_gn |
Posted: Wed Oct 03, 2007 12:11 am Post subject: Re: UDP's , Default Schema and Deployment Issues! |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi wilsonjohn24,
wilsonjohn24 wrote: |
When you add both to the bar file, the esql for flow yak
seems to get the external UDP embedded in the esql ( the compiled? cmf ).
This cant be deployed as it complains the UDP is not be defined for flow
yak. The UDP has been set in project foo. |
Can you show us how you've declared the UDP in the esql, inside a module or outside ? Please paste the code, or snippets.
Regards. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 03, 2007 12:11 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Ok, from the Info Centre:
Quote: |
The value of the UDP is set at the flow level and is the same for all eligible nodes that are contained in the flow. An "eligible node" is a node that supports UDPs and is within the scope of the declaration that declares the UDP to your application. For example, if you use the Message Flow editor to change the value of a user property called "timezone", that is declared in a schema called "mySchema", in a message flow called "myFlow", the UDP is available at run time to all the nodes in myFlow that support UDPs and that fall within mySchema. |
(My bold)
So if I'm reading this (and your post) right, flow foo declares a UDP in the default schema, which makes it available to flow yak. Flow yak complains it's never heard of it when deployed.
What's the exact deploy error you get? I'd have thought that flow yak would have gone "Oh, a UDP. There's a thing. Well, it's not referenced in me so I just don't care" rather than going bang. After all, it says "available", not "mandatory".
I'll stand correction on this by those who know better.
You also don't mention what level of broker you're at. Applying some maintenance might help eliminate this odd error. If it's an error. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
wilsonjohn24 |
Posted: Wed Oct 03, 2007 12:37 am Post subject: |
|
|
 Voyager
Joined: 02 Feb 2007 Posts: 93 Location: Scotland
|
Declared statement:
==============
-- This is the first line.
DECLARE chordiant_web_service_urlUDP EXTERNAL CHAR;
Error Message:
=============
Oct 2 17:19:22 dunmqtest WebSphere Broker v6003[9789]: [ID 702911 user.error] (B1DUNTEST.EXG01)[119]BIP4001E: Syntax error in SQL statements in node 'MF1_CHD_HTTPWebServices_ApplicationFlow.Compute_SetDestindation'. : B1DUNTEST.1fd2ecd4-1401-0000-0080-9bc4f275f1ff: /build/S600_P/src/DataFlowEngine/ImbDbInteractionNode.cpp: 267: ImbDatabaseInteractionNode::commit: ComIbmComputeNode: MF1_CHD_HTTPWebServices_ApplicationFlow#FCMComposite_1_5
Version:
=====
6.0.0.3 |
|
Back to top |
|
 |
elvis_gn |
Posted: Wed Oct 03, 2007 12:48 am Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi wilsonjohn24,
wilsonjohn24 wrote: |
-- This is the first line.
DECLARE chordiant_web_service_urlUDP EXTERNAL CHAR; |
So you mean it is defined outside the modules.
wilsonjohn24 wrote: |
Oct 2 17:19:22 dunmqtest WebSphere Broker v6003[9789]: [ID 702911 user.error] (B1DUNTEST.EXG01)[119]BIP4001E: Syntax error in SQL statements in node 'MF1_CHD_HTTPWebServices_ApplicationFlow.Compute_SetDestindation'. : B1DUNTEST.1fd2ecd4-1401-0000-0080-9bc4f275f1ff: /build/S600_P/src/DataFlowEngine/ImbDbInteractionNode.cpp: 267: ImbDatabaseInteractionNode::commit: ComIbmComputeNode: MF1_CHD_HTTPWebServices_ApplicationFlow#FCMComposite_1_5 |
This does not seem to be a problem with the UDP....or are you referencing the UDP here....can we see the code.
Regards. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 03, 2007 12:51 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
elvis_gn wrote: |
This does not seem to be a problem with the UDP....or are you referencing the UDP here....can we see the code.
|
I thought the point was that the failing flow didn't access the code?
Or do I have the wrong stick by the wrong end?  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
wilsonjohn24 |
Posted: Wed Oct 03, 2007 1:33 am Post subject: |
|
|
 Voyager
Joined: 02 Feb 2007 Posts: 93 Location: Scotland
|
Yes failing flow does not access UDP - 100% confirmed. |
|
Back to top |
|
 |
elvis_gn |
Posted: Wed Oct 03, 2007 1:40 am Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi Vitor,
Vitor wrote: |
elvis_gn wrote: |
This does not seem to be a problem with the UDP....or are you referencing the UDP here....can we see the code.
|
I thought the point was that the failing flow didn't access the code?
Or do I have the wrong stick by the wrong end?  |
Yes, all this while i thought wilsonjohn24 was talking about this being a deployment issue, but I don't think the above error is one of deployment...is seems to be a runtime error of the UDP not getting accessed....
wilsonjohn24 :The snippet of code which is failing...plzzzz
Regards. |
|
Back to top |
|
 |
wilsonjohn24 |
Posted: Wed Oct 03, 2007 1:49 am Post subject: |
|
|
 Voyager
Joined: 02 Feb 2007 Posts: 93 Location: Scotland
|
No it is a deployment issue!
What is happening is that the UDP line of code( see >>> below) is being append to esql ( contain in cmf not in the development environment)
Where SetLabelsOrigin is in a flow that does not reference the UDP.
>>>DECLARE chordiant_web_service_urlUDP EXTERNAL CHAR;
CREATE COMPUTE MODULE SetLabelsOrigin
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
It fails to deploy with the error in previous message. |
|
Back to top |
|
 |
wilsonjohn24 |
Posted: Wed Oct 03, 2007 1:51 am Post subject: |
|
|
 Voyager
Joined: 02 Feb 2007 Posts: 93 Location: Scotland
|
The orginal esql is
CREATE COMPUTE MODULE SetLabelsOrigin
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
....
With out the UDP line of code.... The UDP line of code is in a different eqsl library not referenced. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Oct 03, 2007 3:27 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
When you declare the UPD outside the modules, you are declaring it in the whole schema. The entire schema gets deployed to every compute module that uses code in a given schema... usually. At least this is very true for the default schema.
Put your foo flow in a foo schema, and try again. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 03, 2007 3:34 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
jefflowrey wrote: |
Put your foo flow in a foo schema, and try again. |
This appears to be the solution they've found.
I'm still interested to know why a UDP in a flow that's not expecting it causes a deploy error. Granted that the UDP's there because it's common to the schema & it's all functioning as designed there, but does this mean that any flow with a UDP has to be in it's own schema, or all the flows in a given schema must declare the same UDP?
Especially as the error posted doesn't look like the broker going "undefined UDP" and more like a broker going "bang".
Anyone?
Documentation links? Anything? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Oct 03, 2007 3:38 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Well, of course, no error messages have been posted that actually implicate the UDP at all.
We've only seen one of about four error messages that should have been produced, one of which would have been much more specific about which ESQL statement actually had the error. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
elvis_gn |
Posted: Wed Oct 03, 2007 3:41 am Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi wilsonjohn24,
The misunderstanding of this issue is becoz of your and my understanding of a deployment and a runtime error....atleast according to me, a deployment error would be one where the flow could not be added to the execution group(does not appear under the execution group, and shows an error in Event log), and a runtime error would be something that failed when the 'deployed flow' was run but sending a msg to the flow.
If you state that your UDP is not getting accessed in your esql, and deployment is working(which I understand from the 'runtime' error you pasted),...then the problem is not with the UDP...
wilsonjohn24 wrote: |
Oct 2 17:19:22 dunmqtest WebSphere Broker v6003[9789]: [ID 702911 user.error] (B1DUNTEST.EXG01)[119]BIP4001E: Syntax error in SQL statements in node 'MF1_CHD_HTTPWebServices_ApplicationFlow.Compute_SetDestindation'. : B1DUNTEST.1fd2ecd4-1401-0000-0080-9bc4f275f1ff: /build/S600_P/src/DataFlowEngine/ImbDbInteractionNode.cpp: 267: ImbDatabaseInteractionNode::commit: ComIbmComputeNode: MF1_CHD_HTTPWebServices_ApplicationFlow#FCMComposite_1_5 |
Can you please paste the esql in the flow and take a broker trace...
Note:
Infocenter wrote: |
You can declare UDPs only in modules or schemas. |
Regards. |
|
Back to top |
|
 |
wilsonjohn24 |
Posted: Wed Oct 03, 2007 4:43 am Post subject: |
|
|
 Voyager
Joined: 02 Feb 2007 Posts: 93 Location: Scotland
|
Flow does not deploy! The error message is in the /var/adm/messages.
It just comes back to the event log as a broker time out.
The flow that is in the error message has no reference to the UDP in the esql as written. |
|
Back to top |
|
 |
|