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 » Timeout Control Node - Navigation failed

Post new topic  Reply to topic
 Timeout Control Node - Navigation failed « View previous topic :: View next topic » 
Author Message
Fresher_Newbie
PostPosted: Thu Oct 15, 2015 5:22 am    Post subject: Timeout Control Node - Navigation failed Reply with quote

Novice

Joined: 24 Jun 2015
Posts: 13

Hey guys,

I'm getting the following error from the TimeOut Control node.

Code:
Exception Is:
( ['MQROOT' : 0x119004130]
  (0x01000000:Name):RecoverableException = (
    (0x03000000:NameValue):File                 = '/build/slot1/S900_P/src/DataFlowEngine/TimeoutControl/ImbTimeoutControlNode.cpp' (CHARACTER)
    (0x03000000:NameValue):Line                 = 1113 (INTEGER)
    (0x03000000:NameValue):Function             = 'ImbTimeoutControlNode::evaluate' (CHARACTER)
    (0x03000000:NameValue):Type                 = 'ComIbmTimeoutControlNode' (CHARACTER)
    (0x03000000:NameValue):Name                 = 'MessageVolStatsCollector#FCMComposite_1_7' (CHARACTER)
    (0x03000000:NameValue):Label                = 'MessageVolStatsCollector.Timeout Control' (CHARACTER)
    (0x03000000:NameValue):Catalog              = 'BIPmsgs' (CHARACTER)
    (0x03000000:NameValue):Severity             = 3 (INTEGER)
    (0x03000000:NameValue):Number               = 2230 (INTEGER)
    (0x03000000:NameValue):Text                 = 'rethrowing' (CHARACTER)
    (0x01000000:Name     ):Insert               = (
      (0x03000000:NameValue):Type = 14 (INTEGER)
      (0x03000000:NameValue):Text = 'MessageVolStatsCollector.Timeout Control' (CHARACTER)
    )
    (0x01000000:Name     ):RecoverableException = (
      (0x03000000:NameValue):File     = '/build/slot1/S900_P/src/DataFlowEngine/TimeoutControl/ImbTimeoutControlNode.cpp' (CHARACTER)
      (0x03000000:NameValue):Line     = 483 (INTEGER)
      (0x03000000:NameValue):Function = 'ImbTimeoutControlNode::evaluate' (CHARACTER)
      (0x03000000:NameValue):Type     = 'ComIbmTimeoutControlNode' (CHARACTER)
      (0x03000000:NameValue):Name     = 'MessageVolStatsCollector#FCMComposite_1_7' (CHARACTER)
      (0x03000000:NameValue):Label    = 'MessageVolStatsCollector.Timeout Control' (CHARACTER)
      (0x03000000:NameValue):Catalog  = 'BIPmsgs' (CHARACTER)
      (0x03000000:NameValue):Severity = 3 (INTEGER)
      (0x03000000:NameValue):Number   = 4601 (INTEGER)
      (0x03000000:NameValue):Text     = 'Navigation to chosen message location failed' (CHARACTER)
      (0x01000000:Name     ):Insert   = (
        (0x03000000:NameValue):Type = 5 (INTEGER)
        (0x03000000:NameValue):Text = 'InputRoot.XMLNSC.TimeoutRequest' (CHARACTER)
      )
    )
  )
)


What does this error mean?
Can this error be ignored? Why I'm asking this is because the flow seems to be performing what it should be just fine (Database record insertion in a timely manner), but I just discovered in the trace node - the following error being thrown. How can this be resolved? I do not have any stored message location specified. Is it mandatory? If yes, can anybody suggest what should be filled in there?

Let me know ig you guys need any more details. Thanks!
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Oct 15, 2015 5:27 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

It looks like it can't find InputRoot.XMLNSC.TimeoutRequest.

What are you sending to TimeoutControl ?
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
Fresher_Newbie
PostPosted: Thu Oct 15, 2015 5:42 am    Post subject: Reply with quote

Novice

Joined: 24 Jun 2015
Posts: 13

I'm sending a Timeout request message.

InputRoot.XMLNSC.TimeoutRequest - This is the request location - from where it gets to access the Timeout Request tree.

I don't think it has a problem finding InputRoot.XMLNSC.TimeoutRequest, since the flow seems to be running fine.

Anyway for more clarity, this is the high level flow scenario:

I initially kickoff the flow with the help of a timeout request.

I insert some data using a compute node. Once it is inserted, I re-generating the Timeout Request at the end of the flow - and send it to the same Input queue - from which the paired Timeout Control/Timeout notification node picks it up again. (It works more like a loop)

This way I'm inserting certain set of records in a timely manner. The records are getting inserted just fine, but I see this error being thrown.

Strange?
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Oct 15, 2015 5:48 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

It says
Quote:

(0x03000000:NameValue):Text = 'Navigation to chosen message location failed' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'InputRoot.XMLNSC.TimeoutRequest' (CHARACTER)


And BIP4601 is
Quote:
BIP4601
The Timeout Control Node <insert_2> failed to navigate to the message location specified. The location specified was: <insert_1>.
Severity
20 : Error
Explanation
Ensure that the Location <insert_1> is valid for the message tree where it is used.


So it really is saying that it's getting a message that doesn't have InputRoot.XMLNSC.TimeoutRequest.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
Fresher_Newbie
PostPosted: Thu Oct 15, 2015 10:58 pm    Post subject: Reply with quote

Novice

Joined: 24 Jun 2015
Posts: 13

You are partially right. The InputRoot.XMLNSC.TimeoutRequest is there, but it seems like it can't find it.

The reason is probably this:

I generate a Timeout Request message using a compute node and put it on an MQOutput Queue. The Trace node before the MQOutput captures the root as seen below:

Code:
Root Is:
( ['GENERICROOT' : 0x119d826d0]
  (0x01000000:Name  ):Properties = ( ['GENERICPROPERTYPARSER' : 0x11d61a790]
    (0x03000000:NameValue):MessageSet             = '' (CHARACTER)
    (0x03000000:NameValue):MessageType            = '' (CHARACTER)
    (0x03000000:NameValue):MessageFormat          = '' (CHARACTER)
    (0x03000000:NameValue):Encoding               = 273 (INTEGER)
    (0x03000000:NameValue):CodedCharSetId         = 0 (INTEGER)
    (0x03000000:NameValue):Transactional          = TRUE (BOOLEAN)
    (0x03000000:NameValue):Persistence            = FALSE (BOOLEAN)
    (0x03000000:NameValue):CreationTime           = NULL
    (0x03000000:NameValue):ExpirationTime         = -1 (INTEGER)
    (0x03000000:NameValue):Priority               = 0 (INTEGER)
    (0x03000000:NameValue):ReplyIdentifier        = X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):ReplyProtocol          = 'UNKNOWN' (CHARACTER)
    (0x03000000:NameValue):Topic                  = NULL
    (0x03000000:NameValue):ContentType            = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceType     = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceToken    = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedType     = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedToken    = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
  )
  (0x01000000:Folder):XMLNSC     = ( ['xmlnsc' : 0x11d2cd210]
    (0x01000000:Folder):TimeoutRequest = (
      (0x03000000:PCDataField):Action         = 'SET' (CHARACTER)
      (0x03000000:PCDataField):Identifier     = 'MVStart' (CHARACTER)
      (0x03000000:PCDataField):StartDate      = 'TODAY' (CHARACTER)
      (0x03000000:PCDataField):StartTime      = 'NOW' (CHARACTER)
      (0x03000000:PCDataField):Count          = 1 (INTEGER)
      (0x03000000:PCDataField):Interval       = 0 (INTEGER)
      (0x03000000:PCDataField):IgnoreMissed   = TRUE (BOOLEAN)
      (0x03000000:PCDataField):AllowOverwrite = TRUE (BOOLEAN)
    )
  )
)



From there, an MQ Input nodes picks this message - and passes it on the the TimeOut Control Node. A trace node added in between these two nodes is capturing the root as seen below. There are 2 "Roots' :

Code:
Root Is:
( ['MQROOT' : 0x11bf01af0]
  (0x01000000:Name  ):Properties = ( ['MQPROPERTYPARSER' : 0x11e393a10]
    (0x03000000:NameValue):MessageSet             = '' (CHARACTER)
    (0x03000000:NameValue):MessageType            = '' (CHARACTER)
    (0x03000000:NameValue):MessageFormat          = '' (CHARACTER)
    (0x03000000:NameValue):Encoding               = 273 (INTEGER)
    (0x03000000:NameValue):CodedCharSetId         = 819 (INTEGER)
    (0x03000000:NameValue):Transactional          = TRUE (BOOLEAN)
    (0x03000000:NameValue):Persistence            = FALSE (BOOLEAN)
    (0x03000000:NameValue):CreationTime           = GMTTIMESTAMP '2015-10-16 06:50:18.940' (GMTTIMESTAMP)
    (0x03000000:NameValue):ExpirationTime         = -1 (INTEGER)
    (0x03000000:NameValue):Priority               = 0 (INTEGER)
    (0x03000000:NameValue):ReplyIdentifier        = X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):ReplyProtocol          = 'MQ' (CHARACTER)
    (0x03000000:NameValue):Topic                  = NULL
    (0x03000000:NameValue):ContentType            = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceType     = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceToken    = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedType     = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedToken    = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
  )
  (0x01000000:Name  ):MQMD       = ( ['MQHMD' : 0x11e26ad10]
    (0x03000000:NameValue):SourceQueue      = 'TEST.SA.OUT' (CHARACTER)
    (0x03000000:NameValue):Transactional    = TRUE (BOOLEAN)
    (0x03000000:NameValue):Encoding         = 273 (INTEGER)
    (0x03000000:NameValue):CodedCharSetId   = 819 (INTEGER)
    (0x03000000:NameValue):Format           = 'MQSTR   ' (CHARACTER)
    (0x03000000:NameValue):Version          = 2 (INTEGER)
    (0x03000000:NameValue):Report           = 0 (INTEGER)
    (0x03000000:NameValue):MsgType          = 8 (INTEGER)
    (0x03000000:NameValue):Expiry           = -1 (INTEGER)
    (0x03000000:NameValue):Feedback         = 0 (INTEGER)
    (0x03000000:NameValue):Priority         = 0 (INTEGER)
    (0x03000000:NameValue):Persistence      = 0 (INTEGER)
    (0x03000000:NameValue):MsgId            = X'414d5120545553453144303120202020561bbc9820578029' (BLOB)
    (0x03000000:NameValue):CorrelId         = X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):BackoutCount     = 0 (INTEGER)
    (0x03000000:NameValue):ReplyToQ         = '                                                ' (CHARACTER)
    (0x03000000:NameValue):ReplyToQMgr      = 'TUSE1D01                                        ' (CHARACTER)
    (0x03000000:NameValue):UserIdentifier   = 'mqbrkrs     ' (CHARACTER)
    (0x03000000:NameValue):AccountingToken  = X'0631363838353200000000000000000000000000000000000000000000000006' (BLOB)
    (0x03000000:NameValue):ApplIdentityData = '                                ' (CHARACTER)
    (0x03000000:NameValue):PutApplType      = 6 (INTEGER)
    (0x03000000:NameValue):PutApplName      = 'DataFlowEngine              ' (CHARACTER)
    (0x03000000:NameValue):PutDate          = DATE '2015-10-16' (DATE)
    (0x03000000:NameValue):PutTime          = GMTTIME '06:50:18.940' (GMTTIME)
    (0x03000000:NameValue):ApplOriginData   = '    ' (CHARACTER)
    (0x03000000:NameValue):GroupId          = X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):MsgSeqNumber     = 1 (INTEGER)
    (0x03000000:NameValue):Offset           = 0 (INTEGER)
    (0x03000000:NameValue):MsgFlags         = 0 (INTEGER)
    (0x03000000:NameValue):OriginalLength   = -1 (INTEGER)
  )
  (0x01000000:Folder):XMLNSC     = ( ['xmlnsc' : 0x11e3943f0]
    (0x01000000:Folder):TimeoutRequest = (
      (0x03000000:PCDataField):Action         = 'SET' (CHARACTER)
      (0x03000000:PCDataField):Identifier     = 'MVStart' (CHARACTER)
      (0x03000000:PCDataField):StartDate      = 'TODAY' (CHARACTER)
      (0x03000000:PCDataField):StartTime      = 'NOW' (CHARACTER)
      (0x03000000:PCDataField):Count          = '1' (CHARACTER)
      (0x03000000:PCDataField):Interval       = '0' (CHARACTER)
      (0x03000000:PCDataField):IgnoreMissed   = 'true' (CHARACTER)
      (0x03000000:PCDataField):AllowOverwrite = 'true' (CHARACTER)
    )
  )




Root Is:
( ['MQROOT' : 0x11bf01af0]
  (0x01000000:Name):Properties = ( ['MQPROPERTYPARSER' : 0x11e393a10]
    (0x03000000:NameValue):MessageSet             = '' (CHARACTER)
    (0x03000000:NameValue):MessageType            = '' (CHARACTER)
    (0x03000000:NameValue):MessageFormat          = '' (CHARACTER)
    (0x03000000:NameValue):Encoding               = 273 (INTEGER)
    (0x03000000:NameValue):CodedCharSetId         = 819 (INTEGER)
    (0x03000000:NameValue):Transactional          = TRUE (BOOLEAN)
    (0x03000000:NameValue):Persistence            = FALSE (BOOLEAN)
    (0x03000000:NameValue):CreationTime           = GMTTIMESTAMP '2015-10-16 06:50:20.940' (GMTTIMESTAMP)
    (0x03000000:NameValue):ExpirationTime         = -1 (INTEGER)
    (0x03000000:NameValue):Priority               = 0 (INTEGER)
    (0x03000000:NameValue):ReplyIdentifier        = X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):ReplyProtocol          = 'MQ' (CHARACTER)
    (0x03000000:NameValue):Topic                  = NULL
    (0x03000000:NameValue):ContentType            = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceType     = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceToken    = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourcePassword = '' (CHARACTER)
    (0x03000000:NameValue):IdentitySourceIssuedBy = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedType     = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedToken    = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedPassword = '' (CHARACTER)
    (0x03000000:NameValue):IdentityMappedIssuedBy = '' (CHARACTER)
  )
  (0x01000000:Name):MQMD       = ( ['MQHMD' : 0x11e26ad10]
    (0x03000000:NameValue):SourceQueue      = 'TEST.SA.OUT' (CHARACTER)
    (0x03000000:NameValue):Transactional    = TRUE (BOOLEAN)
    (0x03000000:NameValue):Encoding         = 273 (INTEGER)
    (0x03000000:NameValue):CodedCharSetId   = 819 (INTEGER)
    (0x03000000:NameValue):Format           = '        ' (CHARACTER)
    (0x03000000:NameValue):Version          = 2 (INTEGER)
    (0x03000000:NameValue):Report           = 0 (INTEGER)
    (0x03000000:NameValue):MsgType          = 8 (INTEGER)
    (0x03000000:NameValue):Expiry           = -1 (INTEGER)
    (0x03000000:NameValue):Feedback         = 0 (INTEGER)
    (0x03000000:NameValue):Priority         = 0 (INTEGER)
    (0x03000000:NameValue):Persistence      = 0 (INTEGER)
    (0x03000000:NameValue):MsgId            = X'414d5120545553453144303120202020561bbc9820577fb0' (BLOB)
    (0x03000000:NameValue):CorrelId         = X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):BackoutCount     = 0 (INTEGER)
    (0x03000000:NameValue):ReplyToQ         = '                                                ' (CHARACTER)
    (0x03000000:NameValue):ReplyToQMgr      = 'TUSE1D01                                        ' (CHARACTER)
    (0x03000000:NameValue):UserIdentifier   = 'mqbrkrs     ' (CHARACTER)
    (0x03000000:NameValue):AccountingToken  = X'0631363838353200000000000000000000000000000000000000000000000006' (BLOB)
    (0x03000000:NameValue):ApplIdentityData = '                                ' (CHARACTER)
    (0x03000000:NameValue):PutApplType      = 6 (INTEGER)
    (0x03000000:NameValue):PutApplName      = 'DataFlowEngine              ' (CHARACTER)
    (0x03000000:NameValue):PutDate          = DATE '2015-10-16' (DATE)
    (0x03000000:NameValue):PutTime          = GMTTIME '06:50:20.940' (GMTTIME)
    (0x03000000:NameValue):ApplOriginData   = '    ' (CHARACTER)
    (0x03000000:NameValue):GroupId          = X'000000000000000000000000000000000000000000000000' (BLOB)
    (0x03000000:NameValue):MsgSeqNumber     = 1 (INTEGER)
    (0x03000000:NameValue):Offset           = 0 (INTEGER)
    (0x03000000:NameValue):MsgFlags         = 0 (INTEGER)
    (0x03000000:NameValue):OriginalLength   = -1 (INTEGER)
  )
)


)



What am I doing wrong? Anything to do with the MQinput Properties? Message Domain is set to XMLNSC and Parse timing is set to On Demand.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Fri Oct 16, 2015 12:32 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.

As far as I can see you are doing it correctly.
Here's how I create a timer in one flow.
Code:

      CREATE LASTCHILD of OutputRoot DOMAIN 'XMLNSC' NAME 'XMLNSC';
      CREATE FIELD OutputRoot.XMLNSC.TimeoutRequest;
      DECLARE outRef REFERENCE to OutputRoot.XMLNSC.TimeoutRequest;
      
      CREATE LASTCHILD  OF outRef      NAME 'Action'         VALUE 'SET';
      CREATE LASTCHILD  OF outRef      NAME 'Identifier'      VALUE 'MSKeepAlive';
      --
      -- Schedule a timer to fire every 60 seconds as close as possible to the Zero seconds mark of the minute
      --
      -- Get the current time
      --      
      DECLARE tNow TIME CURRENT_TIMESTAMP;
      --
      -- Get the seconds past the minute
      --
      SET iSecs = CAST(CAST(tNow as CHAR format 'ss') as INTEGER);
      --
      -- if iSecs = say 34 then we schedule a time to start at
      --    the next minute less 26 seconds.
      --
      set iSecs = 60 - iSecs; -- calc the seconds remaining in the minute
      DECLARE tStartTime TIME;
      set tStartTime = tNow +  cast (iSecs as INTERVAL SECOND);
      set cTimerTime = SUBSTRING(CAST( tStartTime as CHAR) from 7 for 8);
      --
      -- now format the rest of the timer control message
      --
      CREATE LASTCHILD  OF outRef      NAME 'StartDate'      VALUE 'TODAY';         
      CREATE LASTCHILD  OF outRef      NAME 'StartTime'      VALUE cTimerTime;      
      CREATE LASTCHILD  OF outRef      NAME 'Interval'         VALUE '60'; -- Repeat after 60 seconds.
      CREATE LASTCHILD  OF outRef      NAME 'Count'         VALUE '-1';  -- repeat forever
      CREATE LASTCHILD  OF outRef      NAME 'IgnoreMissed'      VALUE 'TRUE';
      CREATE LASTCHILD  OF outRef      NAME 'AllowOverwrite'   VALUE 'TRUE';

I have used UPPERCASE for the last two params. I have found these node to be somewhat pernickerty in the past so I have a bit of ESQL in my toolbox that gets pulled out whenever I need to set one up.

What happens if you don't output the structure to a queue but send it directly to a TimerControl Node? (for testing only)
_________________
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
fjb_saper
PostPosted: Fri Oct 16, 2015 4:14 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Once you figure out why you have 2 roots and 2 MQMD's, you'll be much closer to success. Hint: it's either in your code, or you've uncovered a bug.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Timeout Control Node - Navigation failed
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.