delays in receiving and processing BTS message - biztalk

I have a strange problem , I receive messages using http receive dll on IIS virtual directory and it does not start processing on orchestration until 2 or more minutes after it is received i'm using custom pipeline and BizTalk 2009, so anyone can help me please.
i found out that what happened is that BizTalk host increase memory usage incrementally until it reach something like 1,3 GB then it raise memory over follow exception and i should restart all host instances to get back to work

Related

BizTalk 2020 Sftp Receive Location Polling stopped working without any feedback

I'm using Sftp adapter in BizTalk 2020 for receiving and sending files.
In the past the corresponding Receive Location stopped working because of Connection Failures. A restart of the Receive Location was the solution here.
Therefore we enabled Logs within the Receive Location Configuration - now every time the polling is executed, some Logs were written into the configured file.
The Poll Interval is set to 20 mins.
Last week the Polling of the Receive Location stopped working again.
No logs were written into the configured log file after the last execution - which means that the polling wasn't executed anymore. The Eventviewer also didnt show any Logs.
The problem is that we don't have any BizTalk feedback (like disabling Receive Location etc.).
A restart of the Receive Location didn't help.
I needed to restart the Hostinstance.
Are there any common issues known for the constellation of the Usage of Sftp Adapter?
Is there a way to prevent getting this scenario again?

Continuously running send pipeline instance

An instance of a BizTalk send pipeline has started to run continuously. On 09/12/2021 an attempt was made to send a file via SFTP, which retried several times but ultimately failed due to a network issue. The error from the event logs is:
The adapter failed to transmit message going to send port "Deliver Outgoing - SFTP" with URL "sftp://xxx.xxxxxx.co.nz:22/To_****/%SourceFileName%". It will be retransmitted after the retry interval specified for this Send Port. Details:"WinSCP.SessionRemoteException: Network error: Software caused connection abort.
For some reason BizTalk made another send attempt at 1:49pm on 10/12/2021 which succeeded as confirmed by the administrator of the SFTP site. Despite this, BizTalk continued making intermittent send attempts and the pipeline instance is still running. The same file has been sent 4 times to the SFTP server.
The pipeline instance in theory should have suspended at 9:47pm on 09/12/2021. I have been able to confirm definitively whether anybody resumed it, but it seems unlikely at this stage. In any case, after sending successfully the pipeline instance should have terminated and should not be re-executing intermittently.
Does anybody know what could account for this behaviour? This is occurring on BTS2020 with CU2 applied.
I've sent messages over SFTP where the WinSCP interpretation of the date-modified attribute doesn't work with a specific type of SFTP server.
With the WinSCP GUI a dialogue box appears and you can disregard this error, but this option isn't available with BizTalk's GUI. This error appears when a file with the same filename already exists on the server and is supposed to be overwritten.
My solution was to create a pipeline component that removed %SourceFileName% on the server. The pipeline component (just like WinSCP GUI) can disregard the modified-date.

EG getting restarted when ESB tries to fetch data from an external system over TCPIP connection for more than 59 times

One ESB SOAP application which is developed on IIB 10 is connecting to an external system, say system A, over TCPIP protocol.System A has exposed many services and ESB application will put the request on the TCPIP server and listen to the same server for the responses.Request is put via TCPClientOutput node and response is received via TCPClientReceive.ESB application has to fetch the data depends on the length of output response.The responses will be obtained as bit streams and in each stream, indication of next response will be there. For a particular service exposed by the system A, when ESB application tries to fetch the data for more than 59 times(count varies,minimum count observed is 59), the EG is getting restarted.Please find the application error log below:
Error Code :4374; Error Text :CallObjectMethod() failed calling toString
BIP2121E: The thread bootstrap code caught an unhandled exception on thread number '8966' with name 'com.esb.SoapAdapter
That sounds like an error in the SOAP framework (so not necessarily connected with TCP/IP at all). I suggest that you open a ticket with IBM, as BIP2121 is often the symptom of an uncaught exception in the IIB product.

Spring websocket working on local tomcat but not in server

I have a Spring mvc application, and I'm using websockets to communicate a phisical device that sends data with an angular 2 front end.
the architecture is like this
device ----> Spring Mvc <-----angular 2 front end
I have a datasource listener that publish to a websocket topic everytime a new message appears and I consume that topic from angular.
My problem is that this is working properly in my local tomcat install but when I upload it to a faster server it doesn't.
The main problem I'm having is that is buffering the messages and is reaching the limit and closing the websocket session.
What I noticed checking the logs is that in my local server messages come 20 milliseconds after last one is finished but in the other server sometimes are coming at the same time and they are being buffered throwing the session limit exception.
I tried setting a higher buffer size.
Also tried a thread.sleep but it doesn't worked.
Do you have some ideas what can I do ? should I implement some kind of message queue ?
Thanks in advance

wso2 esb out of memory when clients disconnects

I've a wso2esb 4.8.0 running with some proxies deployed in.
All works great until clients that are calling the proxies begin to disconnect, before receiving the response from the esb.
after few minutes the ESB goes in outOfmemory error.
the average size of requests is: 1.2 Kb.
the average size of responses is: 1.6 Mb.
the server is running with: -Xms256m -Xmx1024m -XX:MaxPermSize=256m.
In the heap dump I can see that the major classes retaining memory are java.lang.Thread (PassThroghtMessageProcessor), lot of and all with size of 36Mb .
sometimes there is also this error: java.lang.OutOfMemoryError: GC overhead limit exceeded
if clients don't disconnect everything works good.
any idea?
If clients are disconnecting, maybe the root cause is that your back end is taking too long to answer.
There are a few thing you can do:
Decrease the timeout for back end responses, so messages don't pile up on the ESB
Use the throttling mediator or handler in order to reject messages above a certain rate.
Both are targeted at the symptoms (oom at the ESB). Other than that, it may be necessary an integration model redesign, maybe using a store-and-forward approach.

Resources