[CONJ-818] Java.sql.SQLNonTransientConnectionException: Connection is closed Created: 2020-08-13  Updated: 2020-11-17  Resolved: 2020-11-17

Status: Closed
Project: MariaDB Connector/J
Component/s: Other
Affects Version/s: None
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Luciana Assignee: Diego Dupin
Resolution: Incomplete Votes: 0
Labels: innodb
Environment:

Java 8, mariadb-java-client (vesrão 2.5.2).


Attachments: JPEG File erroMariaMDB.jpg    

 Description   

Boa tarde,
Após um período de tempo na carga de uma tabela no MariaDB, ao acessar a mesma, via aplicação java obtive o erro: Java.sql.SQLNonTransientConnectionException: Connection is closed.

A percepção que tive foi que o banco fechou a conexão. Gostaria de saber se seria um issue ou se algo na aplicação poderia causar tal comportamento.

Em anexo, segue print completo da exception.

Grata,
Luciana

Exception:
javax.servlet.ServletException: java.sql.SQLNonTransientConnectionException: (conn=126984126) Connection is closed at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:666) at org.apache.jsp.supervisorio_jsp._jspService(supervisorio_jsp.java:784) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source) Caused by: java.sql.SQLNonTransientConnectionException: (conn=126984126) Connection is closed at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:241) at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:164) at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:258) at org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:349) at org.mariadb.jdbc.MariaDbStatement.executeQuery(MariaDbStatement.java:595) at br.com.genesis.classes.SEEDS.GetFase(SEEDS.java:162) at org.apache.jsp.supervisorio_jsp._jspService(supervisorio_jsp.java:255) ... 28 more Caused by: java.sql.SQLException: Connection is closed at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.cmdPrologue(AbstractQueryProtocol.java:1850) at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:171) at org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:343)



 Comments   
Comment by Diego Dupin [ 2020-08-17 ]

(i've use google traduction, so maybe i've not understood the issue, you'll tell)

This kind of error occurs when connection is lost.
There can be lots of reasons for that.

If you use pooling, there can be lots of things to check, like you can validate connection state before use, ensure connection cannot stay longer than wait_timeout, ...
If you where streaming data, check https://mariadb.com/kb/en/about-mariadb-connector-j/#streaming-result-sets

Comment by Luciana [ 2020-08-17 ]

Thanks, Diego, for your reply.

I'll check this ponts.
Best regards,
Luciana

Comment by Diego Dupin [ 2020-11-17 ]

closing since no answer since 3 month

Generated at Thu Feb 08 03:18:32 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.