Author |
Message
|
Pratik611 |
Posted: Mon Nov 26, 2018 12:26 pm Post subject: TCP IP issue on IIB 10 - no connection on data |
|
|
Novice
Joined: 27 Jul 2014 Posts: 17
|
Hey guys here's the issue
I got a message flow acting as a client and connecting to a server over TCP IP protocol using below nodes:
Subflow input --> Esql compute(generate request) --> tcipClientOutputnode(send request to server; input and output stream = reserve for further nodes till flow ends) --> TCPipClientReceiveNode(listen for response header to calculate length of response; output stream = leave unchanged, input stream = reserve for further nodes till flow ends) --> compute node to calculate length --> TCPipClientReceiveNode ( obtain response as per length; close connection after data is received) --> filter node to check valid or error response and route accordingly
Now this thing runs in a loop where for every input request I have to hit 3 consecutive requests to the server and get response basis of the previous response.. looping using propagate in the 1st compute node
Issue:
Very intermittently.. no pattern whatsoever.. I get an error in the 1st clientreceive node saying "no data on connection".. it's just very random.. not load dependent.. just out of the blue..
Any ideas what can be wrong or missing?
I've been cracking my head over this for the past week but no success.
I've not created a separate configurable service here.. using the default tcpip client service with all default settings
Thanks,
Pratik611 |
|
Back to top |
|
 |
Vitor |
Posted: Mon Nov 26, 2018 1:07 pm Post subject: Re: TCP IP issue on IIB 10 - no connection on data |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Pratik611 wrote: |
Now this thing runs in a loop where for every input request I have to hit 3 consecutive requests to the server and get response basis of the previous response.. looping using propagate in the 1st compute node |
What calls the subflow; specifically does that also loop round or is it triggered, calls the subflow and ends?
Pratik611 wrote: |
Issue:
Very intermittently.. no pattern whatsoever.. I get an error in the 1st clientreceive node saying "no data on connection".. it's just very random.. not load dependent.. just out of the blue.. |
If you're looping round a lot, you'll be accumulating parser trees in memory. "No data on connection" could be another way of saying "well there's nowhere left to fit the data on this connection". This would of course vary based on the size of the responses you're getting, how often it's called and would fit the "it's not under load but goes bang" because that's just the parse that broke the camel's back (so to speak). _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
ganesh |
Posted: Mon Nov 26, 2018 5:20 pm Post subject: |
|
|
Master
Joined: 18 Jul 2010 Posts: 294
|
I have seen similar behavior while making outbound calls using TCP-IP nodes, data transmitted back and forth is via packets and you will have to loop until you receive the end of packet trigger. |
|
Back to top |
|
 |
ganesh |
Posted: Mon Nov 26, 2018 6:43 pm Post subject: |
|
|
Master
Joined: 18 Jul 2010 Posts: 294
|
As Vitor said it does accumulate memory and causes the EG to crash, we finally gave up the idea of using TCP-IP nodes in IIB and had a .net application handle the TCP-IP call and we in turn called the .net application from IIB. |
|
Back to top |
|
 |
Pratik611 |
Posted: Mon Nov 26, 2018 8:09 pm Post subject: Re: TCP IP issue on IIB 10 - no connection on data |
|
|
Novice
Joined: 27 Jul 2014 Posts: 17
|
Vitor wrote: |
Pratik611 wrote: |
Now this thing runs in a loop where for every input request I have to hit 3 consecutive requests to the server and get response basis of the previous response.. looping using propagate in the 1st compute node |
What calls the subflow; specifically does that also loop round or is it triggered, calls the subflow and ends?
Pratik611 wrote: |
Issue:
Very intermittently.. no pattern whatsoever.. I get an error in the 1st clientreceive node saying "no data on connection".. it's just very random.. not load dependent.. just out of the blue.. |
If you're looping round a lot, you'll be accumulating parser trees in memory. "No data on connection" could be another way of saying "well there's nowhere left to fit the data on this connection". This would of course vary based on the size of the responses you're getting, how often it's called and would fit the "it's not under load but goes bang" because that's just the parse that broke the camel's back (so to speak). |
So it's only looping inside the subflow.. there's a call to the subflow where I got to fetch data from the server.. once inside the subflow.. it's a perfect 3 repetitions.. 3 responses.. and I'm good to go..
Is there some size limit tuning here? For the parsers or for info from tcpip?
And ideally once the thread is complete.. there shouldn't be a problem..
This usually comes up while the loop is running for the 2nd time. |
|
Back to top |
|
 |
Pratik611 |
Posted: Mon Nov 26, 2018 8:12 pm Post subject: |
|
|
Novice
Joined: 27 Jul 2014 Posts: 17
|
ganesh wrote: |
I have seen similar behavior while making outbound calls using TCP-IP nodes, data transmitted back and forth is via packets and you will have to loop until you receive the end of packet trigger. |
Don't have to loop for the end of pack trigger.. all that is fixed.. I calculate length 1st and then receive remaining data using subsequent receive nodes.
Looping because I have to make 3 consecutive calls.
I have no option but to use tcpip nodes here.
Do you'll think just removing the loops will help? And the weirdest bit is.. works fine in UAT but fails in production environment. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Nov 27, 2018 5:26 am Post subject: Re: TCP IP issue on IIB 10 - no connection on data |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Pratik611 wrote: |
And ideally once the thread is complete.. there shouldn't be a problem..
This usually comes up while the loop is running for the 2nd time. |
And when does "the thread" complete? Remember IIB is not an application server and "the thread" is the execution group; hence my question about what calls the subflow. If the calling flow isn't finishing (in a way the EG considers finished) then you're accumulating memory. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|