Connection has been closed error on adapter connection

What product/components do you use and which version/fix level?

IS 10.5 and PostgreSQL 13.4

Are you using a free trial or a product with a customer license?

Customer license

What are trying to achieve? Please describe in detail.

Sometimes my adapter connection not work. what I do is reset connection in IS > Adapters > webMethods for JDBC and and even though the connection is enabled just I disabled it and then enabled it and it works again. This is happening repeatedly, how do I solve it?
Connection properties are:
image

Do you get any error messages? Please provide a full error message screenshot and log file.

[ADA.1.316] Cannot execute the SQL statement "SELECT id, code, name
FROM dbo.func_getData(?,?);". "
(08006/0) An I/O error occurred while sending to the backend."
An I/O error occurred while sending to the backend.,BasicData=> data, lastError=>>>BasicData:error=[ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service Package.adp:getInfoDelete with connection coppelJDBCAdapters:centralizadoCon.
An I/O error occurred while sending to the backend.
	at com.wm.adk.error.AdapterException.<init>(AdapterException.java:311)
	at com.wm.adk.WmAdapter.createAdapterException(WmAdapter.java:186)
	at com.wm.adapter.wmjdbc.connection.ConnectionInfo.handleSQLException(ConnectionInfo.java:756)
	at com.wm.adapter.wmjdbc.connection.ConnectionInfo.handleSQLException(ConnectionInfo.java:764)
	at com.wm.adapter.wmjdbc.services.CustomSQL.execute(CustomSQL.java:372)
	at com.wm.adk.cci.interaction.WmInteraction.execute(WmInteraction.java:76)
	at com.wm.pkg.art.ns.AdapterServiceNode.invokeService(AdapterServiceNode.java:368)
	... 59 more
Caused by: org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend.
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:350)
	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:473)
	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:393)
	at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:164)
	at org.postgresql.jdbc.PgPreparedStatement.execute(PgPreparedStatement.java:153)
	at sun.reflect.GeneratedMethodAccessor162.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.postgresql.ds.PGPooledConnection$StatementHandler.invoke(PGPooledConnection.java:441)
	at com.sun.proxy.$Proxy102.execute(Unknown Source)
	at com.wm.adapter.wmjdbc.services.CustomSQL.execute(CustomSQL.java:311)
	... 61 more
Caused by: java.io.EOFException
	at org.postgresql.core.PGStream.receiveChar(PGStream.java:443)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2057)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(Qu
08003/0) Connection has been closed."<<<,stack=com.wm.adk.error.AdapterServiceException: [ADA.1.316] Cannot execute the SQL statement "INSERT INTO  tbl_error(error) VALUES (?)"
(08003/0) Connection has been closed."
Connection has been closed.

Why is the connection closed?

Block and Expire Timeouts are in milliseconds, so your connection(s) is/are open only for 1 second at a time, each. Try increasing the timeouts to a suitable duration.

You can also increase the Minimum Pool Size, so that the IS will have that number of connections always open for use.

The above should help you, but try them on a lower enviornment first. Read up more about the parameters in the documentation.

If the issue persists, share your fix level and we’ll dig deeper.

KM

Similar issue (not the same) reported in Runtime Adapter Error This Connection has been closed - Forum - webMethods - Software AG Tech Community & Forums , followed by an extensive discussion , maybe some of it will help.
-NP

Hi Carrillo

As we can see from the Exception stack , “Caused by: java.io.EOFException” , the reason for this is always external factors(Database, Network, Firewall , Load Balancer) and this exception means the underlying socket has been closed abruptly , as the query execution is still in progress.

  1. Some one from your network team can verify the tcp dump to verify the possibility of network glitches/packet drops/ any other traces of socket closure
  2. DBA can check , if there is possibility of Database server closing the client connections during the time frame of when you see these kind of exceptions.

Hope this helps. Let me know incase of any other clarifications.

Thanks
Nagasrikrishna

Hello i used to have this problems back then, what i did is increasing the max_connection parameter on the PostgresDB and seems it fixed the issues

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.