Java sql sqlrecoverableexception io error socket read interrupted

Чтение сокета прервано во время обратного вызова из Docker Java У меня есть веб-сервис, записывающий тестовый идентификатор в очередь. Затем слушатель читает очередь, ищет тест и запускает его. Во время этих шагов он записывает обновления теста в базу данных, чтобы их можно было показать пользователю. Если быть более точным: тест запускается в контейнере докера, […]

Содержание

  1. Чтение сокета прервано во время обратного вызова из Docker Java
  2. 1 ответ
  3. Объяснение
  4. Разрешение
  5. Closing connection failed «java.sql.SQLRecoverableException: IO Error: Socket read timed out» #1393
  6. Comments
  7. Environment
  8. Oracle DBA and RAC DBA Expert
  9. Pages
  10. Articles & Presentation
  11. Categories
  12. Blog Archive
  13. Tuesday, June 24, 2014
  14. java.sql.SQLRecoverableException: IO Error: Connection reset

Чтение сокета прервано во время обратного вызова из Docker Java

У меня есть веб-сервис, записывающий тестовый идентификатор в очередь. Затем слушатель читает очередь, ищет тест и запускает его. Во время этих шагов он записывает обновления теста в базу данных, чтобы их можно было показать пользователю. Если быть более точным: тест запускается в контейнере докера, и в конце я хочу обновить статус теста на FINISHED . Для этого я использую java-библиотеку docker с обратным вызовом.

Когда дело доходит до обратного вызова, я получаю несколько сообщений об ошибках при вызове для обновления теста (но это происходит только один раз, если я попробую дважды, второй раз работает, но он по-прежнему пишет много сообщений об ошибках из диспетчера транзакций) .

Вот зарегистрированные сообщения об ошибках:

1 ответ

Объяснение

Вначале я подумал о проблеме с подключением, возможно, транзакция больше не доступна во время обратного вызова (потому что запуск докера занял слишком много времени), возможно, ее нужно аннулировать.

Но в конце, как написано в консоли, это произошло из-за прерывания потока, когда он пытается получить блокировку для обновления теста, и я обнаружил, откуда это прерывание: я взглянул на метод executeAndStream в DefaultInvocationBuilder из java-библиотеки докеров, и я обнаружил следующее:

И вот оно, закрываемый объект, заданный для onStart , прерывает поток. После этого я обнаружил в метод onComplete из ResultCallbackTemplate (который я расширял для своего обратного вызова) закрывает закрываемый объект:

Разрешение

Наконец, проблема возникла из-за следующего кода, который я написал:

Я вызывал метод onComplete от родителя, не зная, что он делает, и, как обычно, сначала, прежде чем делать что-либо еще. Чтобы исправить это, мне нужно было только в конце вызвать супер-метод:

Источник

Closing connection failed «java.sql.SQLRecoverableException: IO Error: Socket read timed out» #1393

Environment

I get below exception intermittently

HikariPool-1 connection closer] DEBUG com.zaxxer.hikari.pool.PoolBase — HikariPool-1 — Closing connection oracle.jdbc.driver.T4CConnection@4edf4df0 failed
«java.sql.SQLRecoverableException: IO Error: Socket read timed out
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:770)
at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:4585)
at com.zaxxer.hikari.pool.PoolBase.quietlyCloseConnection(PoolBase.java:138)
at com.zaxxer.hikari.pool.HikariPool.lambda$closeConnection$1(HikariPool.java:447)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: oracle.net.ns.NetException: Socket read timed out
at oracle.net.ns.Packet.receive(Packet.java:350)
at oracle.net.ns.DataPacket.receive(DataPacket.java:105)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:305)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:249)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:171)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:89)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
at oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:426)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:390)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
at oracle.jdbc.driver.T4C7Ocommoncall.doOLOGOFF(T4C7Ocommoncall.java:59)
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:757)

The text was updated successfully, but these errors were encountered:

did you have resolved this problem later?
i met the same problem in the environment of oracle 11g and c3p0 connection pool.

@tomAndJetty maybe that was because of some network issue, connection pool was getting initializedat first attempt but when connections were closed due to idle timeout the next connection add operation was getting failed. some tweaks in connection pool properties solved the issue for now. atleast.

@nakshay thanks for your reply.
maybe i should turn connection pool option ‘testConnection’ on.

Источник

Oracle DBA and RAC DBA Expert

A Knowledge Sharing Site

Pages

Articles & Presentation

Categories

  • 12C New Features (35)
  • Active DataGuard (10)
  • Administration (74)
  • Agile Patch (4)
  • Agile PLM (2)
  • alert.log errors (49)
  • Amazon RDS (1)
  • Analysis Office (1)
  • analytics (2)
  • Articles/Best Practices (21)
  • ASM (16)
  • Audit (4)
  • Backup/Recovery (28)
  • BOXI (6)
  • BRools (1)
  • Certification (6)
  • Clone (7)
  • Cloud (6)
  • Cloud Object Store (1)
  • Control file (4)
  • Corruption/Recovery (8)
  • Data Guard (24)
  • Data Pump (18)
  • Data Services (2)
  • Database Replay (2)
  • Database Upgrade (17)
  • DataGuard (5)
  • DataGuard Broker (13)
  • DB Security (2)
  • DBCA (3)
  • DBMS_AUTO_INDEX (1)
  • DBMS_DST (1)
  • DBMS_ROLLING (4)
  • DBMS_SQLTUNE (1)
  • DBUA (9)
  • DD Boost (1)
  • DGMGRL (3)
  • diagnostic Tools (5)
  • Disaster Recovery (7)
  • Documentation (2)
  • Downloads/Tools (9)
  • Duplicate Database (11)
  • Dynamic Tiering (3)
  • EM Grid Control (8)
  • Encryption (1)
  • Essbase (3)
  • Event Viewer (2)
  • Export/Import (19)
  • Flash Recovery Area (7)
  • Flashback (1)
  • Free Training (2)
  • Function/Procedure (2)
  • GoldenGate (5)
  • Grid Control (3)
  • HA100 (1)
  • HA200 (1)
  • HANA (3)
  • HANA Backup (1)
  • HANA Errors (1)
  • HANA SPS07 (2)
  • Heterogeneous (6)
  • High Availability (24)
  • Hyperion Errors (3)
  • Immutable or BlockChain (2)
  • Index (5)
  • InnoDB (1)
  • Installation (10)
  • JASON (2)
  • Java Error (9)
  • JDBC Driver (5)
  • License (2)
  • Linux Admin (8)
  • Linux-Errors (10)
  • LISTENER (1)
  • Load Balancer (2)
  • Media Management (2)
  • Migrate (4)
  • Migration (4)
  • MOPatch (3)
  • Multitenant (16)
  • MySQL Access (5)
  • MySQL Admin (14)
  • MySQL Backup/Restore (3)
  • MySQL Cloud (1)
  • MySQL Errors (11)
  • MySQL Workbench (2)
  • OCR — VOTE (8)
  • ODBC (7)
  • OEM Agent (1)
  • OJVM (2)
  • OLAP Connection (1)
  • Opatch (18)
  • ORA-00700 (1)
  • ORA-07445 (6)
  • ORA-600 (5)
  • Ora-Errors (84)
  • Oracle 10g (81)
  • Oracle 10g New Feat (11)
  • Oracle 11g (106)
  • Oracle 11g New Feat (21)
  • Oracle 12C (82)
  • Oracle 18c (31)
  • Oracle 19c (50)
  • Oracle 21c (16)
  • Oracle 8i (17)
  • Oracle 9i (29)
  • Oracle ACE (1)
  • Oracle Agile (8)
  • Oracle APEX (2)
  • Oracle Beta Program (1)
  • Oracle BI (1)
  • Oracle Cloud (4)
  • Oracle E-Business Suite (1)
  • Oracle Hyperion (4)
  • Oracle In-Memory (3)
  • Oracle OpenWorld (2)
  • Oracle RAC (14)
  • Oracle RMAN (5)
  • Oracle Support (18)
  • Oracle Views (2)
  • orapwd (1)
  • OUI (4)
  • Packt Publishing (2)
  • Partition (1)
  • Patch/Bug Fix (26)
  • Performance (3)
  • PGA (2)
  • PL/SQL (16)
  • Planning (2)
  • Pluggable Database (15)
  • PostgreSQL (1)
  • PSU (3)
  • RAC Admin (20)
  • RAC-Errors (9)
  • RCONFIG (1)
  • Redo Log (7)
  • Replication (2)
  • RMAN Backup (55)
  • RMAN Catalog (8)
  • RMAN Recovery (54)
  • RMAN-ERROR (15)
  • SAML (1)
  • SAP (20)
  • SAP Basis (12)
  • SAP HANA (15)
  • SAP HANA Client (2)
  • SAP HANA Shine (2)
  • SAP HANA Studio (6)
  • SAP Note (1)
  • Scalability (4)
  • Schema (1)
  • Security (8)
  • SGA (2)
  • Smart Data Access (1)
  • Smart View (2)
  • Spfile and Pfile (17)
  • SQL (16)
  • SQLException (1)
  • SQLNET (4)
  • SSL (1)
  • SSO (3)
  • Standby (19)
  • STARTUP (2)
  • Storage (2)
  • SYBASE (1)
  • T-CODE (2)
  • tabadmin (4)
  • Tableau Desktop (3)
  • Tableau Server (5)
  • Tableau Server 9.1.2 (1)
  • Tableau Server 9.1.3 (3)
  • Tableau Worker (1)
  • TAF (3)
  • Temporary Tablespace (1)
  • TimeZone (1)
  • TNS Errors (4)
  • Tools (2)
  • Trace File (13)
  • Transportable TBS (6)
  • TSM (1)
  • Tuning (9)
  • UNDO Segment (7)
  • UNIX (7)
  • Upgrade (6)
  • Upgrade 8i to 10g (2)
  • Upgrade to 10.2.0.4 (4)
  • Upgrade to 12c (4)
  • UTL_MAIL (2)
  • UTL_SMTP (2)
  • Vedio Tutorials (1)
  • VMWare (1)
  • Webinar (23)
  • WebLogic (5)
  • White Paper (3)
  • Windows Erros (1)

Blog Archive

  • ►2022 (16)
    • ►December (1)
    • ►November (1)
    • ►September (3)
    • ►August (1)
    • ►May (1)
    • ►April (3)
    • ►March (2)
    • ►February (3)
    • ►January (1)
  • ►2021 (22)
    • ►December (3)
    • ►November (1)
    • ►October (1)
    • ►September (1)
    • ►July (2)
    • ►May (5)
    • ►April (5)
    • ►March (2)
    • ►February (1)
    • ►January (1)
  • ►2020 (29)
    • ►December (1)
    • ►November (5)
    • ►August (4)
    • ►July (2)
    • ►June (2)
    • ►May (2)
    • ►April (3)
    • ►March (5)
    • ►February (2)
    • ►January (3)
  • ►2019 (20)
    • ►December (2)
    • ►October (2)
    • ►September (1)
    • ►August (1)
    • ►May (5)
    • ►April (1)
    • ►March (4)
    • ►February (2)
    • ►January (2)
  • ►2018 (24)
    • ►December (5)
    • ►November (2)
    • ►October (1)
    • ►September (1)
    • ►May (3)
    • ►April (2)
    • ►March (5)
    • ►February (3)
    • ►January (2)
  • ►2017 (17)
    • ►December (3)
    • ►August (1)
    • ►May (5)
    • ►April (2)
    • ►January (6)
  • ►2016 (19)
    • ►December (2)
    • ►October (3)
    • ►September (3)
    • ►August (1)
    • ►June (1)
    • ►April (1)
    • ►March (6)
    • ►February (2)
  • ►2015 (15)
    • ►December (1)
    • ►November (2)
    • ►August (2)
    • ►July (3)
    • ►June (1)
    • ►May (4)
    • ►February (1)
    • ►January (1)
  • ▼2014 (18)
    • ►December (3)
    • ►November (3)
    • ►October (1)
    • ►September (3)
    • ►July (1)
    • ▼June (2)
      • java.sql.SQLRecoverableException: IO Error: Connec.
      • Exception in thread «Thread-1» java.lang.Exception.
    • ►April (2)
    • ►March (1)
    • ►February (1)
    • ►January (1)
  • ►2013 (31)
    • ►November (2)
    • ►October (3)
    • ►September (1)
    • ►August (3)
    • ►July (4)
    • ►June (3)
    • ►April (2)
    • ►March (3)
    • ►February (9)
    • ►January (1)
  • ►2012 (26)
    • ►November (2)
    • ►October (3)
    • ►September (3)
    • ►August (1)
    • ►July (1)
    • ►June (3)
    • ►May (2)
    • ►April (2)
    • ►March (3)
    • ►February (3)
    • ►January (3)
  • ►2011 (17)
    • ►December (2)
    • ►October (4)
    • ►September (4)
    • ►August (2)
    • ►July (1)
    • ►June (2)
    • ►May (2)
  • ►2010 (14)
    • ►August (1)
    • ►July (1)
    • ►June (2)
    • ►May (1)
    • ►April (2)
    • ►March (4)
    • ►February (1)
    • ►January (2)
  • ►2009 (47)
    • ►December (3)
    • ►November (4)
    • ►October (5)
    • ►September (9)
    • ►August (26)

Tuesday, June 24, 2014

java.sql.SQLRecoverableException: IO Error: Connection reset

I have come across below error during Oracle Agile Managed Server deployment (Agile 9.3.3). When trying to startup the Managed server which is using Weblogic12c, it didn’t startup and found below error in logfile.

Your environment has been set.
AgileAuthenticationProviderImpl.initialize
log4j:WARN No appenders could be found for logger (com.agile.util.sql.OracleConnectionImpl).
log4j:WARN Please initialize the log4j system properly.
java.sql.SQLRecoverableException: IO Error: Connection reset
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:467)
at oracle.jdbc.driver.PhysicalConnection. (PhysicalConnection.java:546)
at oracle.jdbc.driver.T4CConnection. (T4CConnection.java:236)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:280)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:207) at
oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPool Data Source.java:139) at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection (Oracle ConnectionPool Data Source.java:88) at. com.bea.common.security.internal.service.LoginModuleWrapper$1.run(LoginModuleWrapper.java:110)
at java.security.AccessController.doPrivileged(Native Method) at com.bea.common.security.internal.service.LoginModuleWrapper.login(LoginModuleWrapper.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:762)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:690)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:687)
at javax.security.auth.login.LoginContext.login(LoginContext.java:595) at com.bea.common.security.internal.service.JAASLoginServiceImpl.login(JAASLoginServiceImpl.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606) at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
at com.sun.proxy.$Proxy13.login(Unknown Source) at weblogic.security.service.internal.WLSJAASLoginServiceImpl$ServiceImpl.login(WLSJAASLoginServiceImpl.java:89) at com.bea.common.security.internal.service.JAASAuthenticationServiceImpl.authenticate(JAASAuthenticationServiceImpl.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606) at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
at com.sun.proxy.$Proxy34.authenticate(Unknown Source) at weblogic.security.service.WLSJAASAuthenticationServiceWrapper.authenticate(WLSJAASAuthenticationServiceWrapper.java:40) at weblogic.security.service.PrincipalAuthenticator.authenticate(PrincipalAuthenticator.java:338) at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.doBootAuthorization(CommonSecurityServiceManagerDelegateImpl.
java:930) at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl. initialize(CommonSecurityServiceManagerDelegateImpl.java:1054) at
weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:873)
at weblogic.security.SecurityService.start(SecurityService.java:148)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118)
at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
at oracle.net.ns.DataPacket.send(DataPacket.java:210)
at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:230)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:312)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:260)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:185)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket (T4CSocketInputStreamWrapper. java:124) at oracle.jdbc.driver.T4CSocketInputStream Wrapper.read(T4CSocketInputStreamWrapper.java:80)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:290)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOSESSKEY(T4CTTIoauthenticate.java:404)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:385)
. 59 more
java.sql.SQLRecoverableException: IO Error: Connection reset

You will also see below error in the log file, but these errors will mislead you

1. When trying to startup the Managed server the weblogic taking more time than expected

2. If you read the highlight error then you will understand what the exact cause for this error is “java.sql.SQLRecoverableException: IO Error: Connection reset”.

3. Found below warning in alert .log
WARNING: inbound connection timed out (ORA-3136)

4. The userid/password is correct

By looking the above findings it seems that weblogic taking more time and it was not able to connect to the database and timed out with ORA-3136 error. It looks like inbound connection timeout occurred.

Proposed Solution: I have changed the SQLNET.INBOUND_CONNECT_TIMEOUT from default (60 sec) value to 0(indefinite).

After changing the parameter the weblogic Instance comes online without any issues.

It looks like there is bug in Weblogic due to which it is not able to connect to database with in the specified time. Still troubleshooting to find the root cause, if I find anything will try to update in the post.

Источник

Platform Notice: Data Center OnlyThis article only applies to Atlassian products on the data center platform.

Problem

Jira will randomly throw GUI errors such as com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.atlassian.jira.plugins.jira-dvcs-connector-plugin] and plugins will stop working. 

The following appears in the atlassian-jira.log

2021-09-06 08:30:03,856+0100 http-nio-8180-exec-17 WARN XXXXX xxx xx xxxx /browse/CMST-15563 [c.a.p.n.p.navigation.services.LocalNavigationLinksImpl] Failed to gather navigation links
com.atlassian.cache.CacheException: com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.atlassian.jira.plugins.jira-dvcs-connector-plugin]
	at com.atlassian.cache.ehcache.DelegatingCachedReference.get(DelegatingCachedReference.java:77)
	at com.atlassian.jira.plugins.dvcs.dao.impl.CachingOrganizationDaoImpl.getAllCachedOrgs(CachingOrganizationDaoImpl.java:274)
	at com.atlassian.jira.plugins.dvcs.dao.impl.CachingOrganizationDaoImpl.getAllByType(CachingOrganizationDaoImpl.java:104)
	at com.atlassian.jira.plugins.dvcs.service.OrganizationServiceImpl.getAll(OrganizationServiceImpl.java:161)
	at com.atlassian.jira.plugins.dvcs.navlinks.BitbucketCloudAccountNavLinkRepository.matching(BitbucketCloudAccountNavLinkRepository.java:86)
	at com.atlassian.jira.plugins.dvcs.navlinks.BitbucketCloudAccountNavLinkRepository.all(BitbucketCloudAccountNavLinkRepository.java:80)
	at com.atlassian.plugins.navlink.producer.navigation.services.LocalNavigationLinksImpl$1.apply(LocalNavigationLinksImpl.java:44)
	at com.atlassian.plugins.navlink.producer.navigation.services.LocalNavigationLinksImpl$1.apply(LocalNavigationLinksImpl.java:39)
	at com.google.common.collect.Lists$TransformingRandomAccessList$1.transform(Lists.java:616)
	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)
	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)
	at com.google.common.collect.Iterators$ConcatenatedIterator.hasNext(Iterators.java:1332)
	at com.google.common.collect.Iterators.addAll(Iterators.java:357)
	at com.google.common.collect.Sets.newHashSet(Sets.java:276)
	at com.google.common.collect.Sets.newHashSet(Sets.java:259)
	at com.atlassian.plugins.navlink.producer.navigation.services.LocalNavigationLinksImpl.all(LocalNavigationLinksImpl.java:34)
...
Caused by: com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.atlassian.jira.plugins.jira-dvcs-connector-plugin]
	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:95)
	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:86)
	at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	... 1 more
Caused by: java.lang.RuntimeException: Could not get unique fields for table 'AO_E8B6CC_PROJECT_MAPPING_V2'
	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getUniqueFields(DatabaseMetaDataReaderImpl.java:191)
	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getFields(DatabaseMetaDataReaderImpl.java:85)
	at net.java.ao.schema.ddl.SchemaReader.readFields(SchemaReader.java:126)
	at net.java.ao.schema.ddl.SchemaReader.readTable(SchemaReader.java:110)
	at net.java.ao.schema.ddl.SchemaReader.access$000(SchemaReader.java:62)
	at net.java.ao.schema.ddl.SchemaReader$1.apply(SchemaReader.java:97)
...
Caused by: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
	at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:747)
	at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:904)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1082)
	at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1276)
	at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:366)
	at org.apache.commons.dbcp2.DelegatingDatabaseMetaData.getIndexInfo(DelegatingDatabaseMetaData.java:327)
	at org.apache.commons.dbcp2.DelegatingDatabaseMetaData.getIndexInfo(DelegatingDatabaseMetaData.java:327)
	at net.java.ao.db.OracleDatabaseProvider.getIndexes(OracleDatabaseProvider.java:100)
	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getUniqueFields(DatabaseMetaDataReaderImpl.java:180)
	... 61 more
Caused by: java.net.SocketTimeoutException: Socket read interrupted
	at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:152)
	at oracle.net.ns.NIOHeader.readHeaderBuffer(NIOHeader.java:82)
2021-09-06 08:26:57,093+0100 http-nio-8180-exec-32 ERROR XXXXX xxx xx xxxx /browse/CBPPR-1688 [c.r.r.c.data.activeobjects.ActiveObjectsAccessorImpl] bundle [com.radiantminds.roadmaps-jira]
com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.radiantminds.roadmaps-jira]
	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:95)
	at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:86)
	at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getSequenceNames(DatabaseMetaDataReaderImpl.java:208)
...
Caused by: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
	at oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1035)
	at oracle.jdbc.driver.OracleStatement.fetchMoreRows(OracleStatement.java:3353)
	at oracle.jdbc.driver.InsensitiveScrollableResultSet.fetchMoreRows(InsensitiveScrollableResultSet.java:736)
	at oracle.jdbc.driver.InsensitiveScrollableResultSet.absoluteInternal(InsensitiveScrollableResultSet.java:692)
	at oracle.jdbc.driver.InsensitiveScrollableResultSet.next(InsensitiveScrollableResultSet.java:406)
	at org.apache.commons.dbcp2.DelegatingResultSet.next(DelegatingResultSet.java:191)
	at net.java.ao.schema.helper.DatabaseMetaDataReaderImpl.getSequenceNames(DatabaseMetaDataReaderImpl.java:203)
	... 61 more
Caused by: java.net.SocketTimeoutException: Socket read interrupted
	at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:152)
	at oracle.net.ns.NIOHeader.readHeaderBuffer(NIOHeader.java:82)
	at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:139)
	at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:101)
	at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:80)
	at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534)
	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485)
	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612)
	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:226)
	at oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1023)
	... 68 more

Diagnosis

Environment

  • Oracle JDBC driver 12.2.0.1.0

Cause

There is an existing oracle bug : 

12.2.0.1 and Above JDBC Connections Sometimes Fail With: IO Error: Socket Read Interrupted (Doc ID 2612009.1) 

  • https://support.oracle.com/knowledge/Middleware/2612009_1.html

Workaround

With driver version 12.2.0.x and above, set the following connection property: oracle.jdbc.javaNetNio=false (in the startup parameters):

java -Doracle.jdbc.javaNetNio=false ...

This will revert the driver behaviour so it does not block on interrupt() calls in Java. Restarting Jira will fix the issue. 

Context

I have a webservice writing a test id in a queue. Then, a listener reads the queue, searches the test and starts it. During those steps, it writes updates of the test in the database in order to be shown to the user. To be more precise: the test is launched in a docker container and at the end of it, I want to update the status of the test to FINISHED. For that, I use the docker java library with a callback.

Problem

When it comes to call the callback, I receive multiple error messages on the call to update the test (but it happens only once, if I try twice the second time works, but it still writes a lot of error messages from the transaction manager).

Here are the error messages logged:

2020-11-20 09:20:43,639 WARN  [docker-java-stream--1032099154] (org.jboss.jca.core.connectionmanager.listener.TxConnectionListener) IJ000305: Connection error occured: org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@600268e6[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@236f1a69 connection handles=1 lastReturned=1605860423264 lastValidated=1605860242146 lastCheckedOut=1605860443564 trackByTx=true pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool@2efb0d3b mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@3e8e7a62[pool=ApplicationDS] xaResource=LocalXAResourceImpl@482fdad2[connectionListener=600268e6 connectionManager=4c83f895 warned=false currentXid=null productName=Oracle productVersion=Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0 jndiName=java:/ApplicationDS] txSync=TransactionSynchronization@1387480544{tx=Local transaction (delegate=TransactionImple < ac, BasicAction: 0:ffffac110002:-50a6b0bf:5fb6bdb9:73db4 status: ActionStatus.ABORTING >, owner=Local transaction context for provider JBoss JTA transaction provider) wasTrackByTx=true enlisted=true cancel=false}]: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
2020-11-20 09:20:43,647 INFO  [docker-java-stream--1032099154] (org.jboss.jca.core.connectionmanager.listener.TxConnectionListener) IJ000302: Unregistered handle that was not registered: org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@4f3c1cb2 for managed connection: org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@236f1a69
2020-11-20 09:20:43,656 WARN  [docker-java-stream--1032099154] (com.arjuna.ats.jta) ARJUNA016031: XAOnePhaseResource.rollback for < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffac110002:-50a6b0bf:5fb6bdb9:73db4, node_name=1, branch_uid=0:ffffac110002:-50a6b0bf:5fb6bdb9:73db8, subordinatenodename=null, eis_name=java:/ApplicationDS > failed with exception: org.jboss.jca.core.spi.transaction.local.LocalXAException: IJ001160: Could not rollback local transaction
Caused by: org.jboss.jca.core.spi.transaction.local.LocalResourceException: IO Error: Socket read interrupted
        at org.jboss.ironjacamar.jdbcadapters@1.4.22.Final//org.jboss.jca.adapters.jdbc.local.LocalManagedConnection.rollback(LocalManagedConnection.java:139)
        ...
Caused by: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
        at com.oracle.jdbc//oracle.jdbc.driver.T4CConnection.doRollback(T4CConnection.java:1140)
        ...
Caused by: java.io.InterruptedIOException: Socket read interrupted
        at com.oracle.jdbc//oracle.net.nt.TimeoutSocketChannel.handleInterrupt(TimeoutSocketChannel.java:258)
        ...

#java #docker-java

#java #докер-java

Вопрос:

Контекст

У меня есть веб-сервис, записывающий идентификатор теста в очередь. Затем прослушиватель считывает очередь, выполняет поиск в тесте и запускает его. Во время этих шагов он записывает обновления теста в базу данных, чтобы показать их пользователю. Чтобы быть более точным: тест запускается в контейнере docker, и в конце его я хочу обновить статус теста до FINISHED . Для этого я использую библиотеку docker java с обратным вызовом.

Проблема

Когда дело доходит до вызова обратного вызова, я получаю несколько сообщений об ошибках при вызове для обновления теста (но это происходит только один раз, если я пытаюсь дважды, второй раз срабатывает, но он по-прежнему пишет много сообщений об ошибках от диспетчера транзакций).

Вот зарегистрированные сообщения об ошибках:

 2020-11-20 09:20:43,639 WARN  [docker-java-stream--1032099154] (org.jboss.jca.core.connectionmanager.listener.TxConnectionListener) IJ000305: Connection error occured: org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@600268e6[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@236f1a69 connection handles=1 lastReturned=1605860423264 lastValidated=1605860242146 lastCheckedOut=1605860443564 trackByTx=true pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool@2efb0d3b mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@3e8e7a62[pool=ApplicationDS] xaResource=LocalXAResourceImpl@482fdad2[connectionListener=600268e6 connectionManager=4c83f895 warned=false currentXid=null productName=Oracle productVersion=Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0 jndiName=java:/ApplicationDS] txSync=TransactionSynchronization@1387480544{tx=Local transaction (delegate=TransactionImple < ac, BasicAction: 0:ffffac110002:-50a6b0bf:5fb6bdb9:73db4 status: ActionStatus.ABORTING >, owner=Local transaction context for provider JBoss JTA transaction provider) wasTrackByTx=true enlisted=true cancel=false}]: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
2020-11-20 09:20:43,647 INFO  [docker-java-stream--1032099154] (org.jboss.jca.core.connectionmanager.listener.TxConnectionListener) IJ000302: Unregistered handle that was not registered: org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@4f3c1cb2 for managed connection: org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@236f1a69
2020-11-20 09:20:43,656 WARN  [docker-java-stream--1032099154] (com.arjuna.ats.jta) ARJUNA016031: XAOnePhaseResource.rollback for < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffac110002:-50a6b0bf:5fb6bdb9:73db4, node_name=1, branch_uid=0:ffffac110002:-50a6b0bf:5fb6bdb9:73db8, subordinatenodename=null, eis_name=java:/ApplicationDS > failed with exception: org.jboss.jca.core.spi.transaction.local.LocalXAException: IJ001160: Could not rollback local transaction
Caused by: org.jboss.jca.core.spi.transaction.local.LocalResourceException: IO Error: Socket read interrupted
        at org.jboss.ironjacamar.jdbcadapters@1.4.22.Final//org.jboss.jca.adapters.jdbc.local.LocalManagedConnection.rollback(LocalManagedConnection.java:139)
        ...
Caused by: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
        at com.oracle.jdbc//oracle.jdbc.driver.T4CConnection.doRollback(T4CConnection.java:1140)
        ...
Caused by: java.io.InterruptedIOException: Socket read interrupted
        at com.oracle.jdbc//oracle.net.nt.TimeoutSocketChannel.handleInterrupt(TimeoutSocketChannel.java:258)
        ...
 

Ответ №1:

Объяснение

Вначале я подумал о проблеме с подключением, возможно, транзакция больше не доступна во время обратного вызова (потому что запуск docker занял слишком много времени), возможно, ее нужно признать недействительной.

Но в конце, как написано в консоли, это произошло из-за прерывания потока, когда он пытается получить блокировку для обновления теста, и я обнаружил, откуда взялось это прерывание: я взглянул на метод executeAndStream DefaultInvocationBuilder из библиотеки docker java и обнаружил это:

 Thread thread = new Thread(() -> {
    Thread streamingThread = Thread.currentThread();
    try (DockerHttpClient.Response response = execute(request)) {
        callback.onStart(() -> {
            streamingThread.interrupt();
            response.close();
        });

        sourceConsumer.accept(response);
        callback.onComplete();
    } catch (Exception e) {
        callback.onError(e);
    }
}, "docker-java-stream-"   Objects.hashCode(request));
thread.setDaemon(true);
thread.start();
 

И вот оно, закрываемое значение, заданное для onStart прерывания потока. После этого я обнаружил в методе onComplete from ResultCallbackTemplate (который я расширял для своего обратного вызова) закрытие этого закрываемого:

 @Override
public void onComplete() {
    try {
        close();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
 

Разрешение

Проблема, наконец, возникла из следующего кода, который я написал:

 @Override
public void onComplete() {
    super.onComplete();
    updateTest(FINISHED);
}
 

Я вызывал onComplete метод от родительского, не зная, что он делает, и, как обычно, сначала, прежде чем делать что-либо еще. Чтобы исправить это, мне нужно было только вызвать метод super в конце:

 @Override
public void onComplete() {
    updateTest(FINISHED);
    super.onComplete();
}
 

Article — CS329590

Modified: 07-Apr-2022   

Applies To

  • Windchill PDMLink 11.0 to 11.1

Description

  • Some requests like checkin/checkout/task reassign with error: «java.io.InterruptedIOException: Socket read interrupted»
  • Background Method Server logs reports error below
Nested exception is: wt.pom.ConnectionLostException: A database connection failure has occurred and the operation has been aborted.
Nested exception is: wt.pom.DatastoreException: A SQL error has occurred for the statement "XXXXXX"
Nested exception is: java.sql.SQLRecoverableException: IO Error: Socket read interrupted
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:950)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:950)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1099)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3640)
    at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1384)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3687)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1165)
    at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:582)
    at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:540)
    at wt.pds.BasicResultCursor.getNextResultSet(BasicResultCursor.java:282)
    at wt.pds.BasicResultCursor.advance(BasicResultCursor.java:234)
    at wt.pds.BasicResultCursor.next(BasicResultCursor.java:82)
    at wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:760)
    at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1076)
    at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1977)
    at wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1929)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at wt.queue.QueueEntry.execute(QueueEntry.java:231)
    at wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:312)
    at wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:898)
    at wt.queue.PollingQueueThread.run(PollingQueueThread.java:99)
Caused by: java.io.InterruptedIOException: Socket read interrupted
    at oracle.net.nt.TimeoutSocketChannel.handleInterrupt(TimeoutSocketChannel.java:262)
    at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:184)
    at oracle.net.ns.NSProtocolNIO.doSocketRead(NSProtocolNIO.java:544)
    at oracle.net.ns.NIOPacket.readHeader(NIOPacket.java:234)
    at oracle.net.ns.NIOPacket.readPacketFromSocketChannel(NIOPacket.java:174)
    at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:122)
    at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:100)
    at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:86)
    at oracle.jdbc.driver.T4CMAREngineNIO.prepareForUnmarshall(T4CMAREngineNIO.java:762)
    at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:427)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:394)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:255)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:610)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:253)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:86)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:928)
    ... 93 more
  • If the queue was stopped there will be a warning:
2022-04-06 11:17:15,558 WARN  [QueueCheckerThread-37] wt.jmx.notif.queue  - Time=2022-04-06 11:17:15.556 -0400,
  Name=QueueNotifier,
  SourceObjectName=com.ptc:wt.subsystem=Monitors,wt.monitorType=Queues,Name=WfPropagationQueue,
  class=class javax.management.Notification,
  type=wt.queue.QueueWatcherMBean.queueStopped,
  userData=WfPropagationQueue,
  message=Queue WfPropagationQueue has been stopped,
  JVM Name=26503@<hostname>,
  Queue Info=[AveEntryExecTimeSeconds=0.0,EntryExecutionTimeThresholdSec=70,ExecutionThreadLoggerLevel=,ExecutionThreadLoggerName=,LoggerLevel=,LoggerName=wt.queue.QueueWatcherImpl.WfPropagationQueue,MaxEntryExecTimeSeconds=0.0,MinEntryExecTimeSeconds=0.0,MinMinutesBetweenNotifications=60,Name=WfPropagationQueue,TotalEntries=25,TotalEntriesExecuted=0,TotalExecutionTime=0,TotalThreshold=100,WaitingReadyEntries=0,WaitingReadyThreshold=15]

 

I’m facing the same issue. Any sugestions to resolve it?
06-09-20 21:49:04.772 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:04.772 DEBUG com.zaxxer.hikari.pool.PoolBase : HikariCP-ABC — Closing connection oracle.jdbc.driver.T4CConnection@135c4bab: (connection has passed maxLifetime)
06-09-20 21:49:05.875 DEBUG com.zaxxer.hikari.pool.PoolBase : HikariCP-ABC — Closing connection oracle.jdbc.driver.T4CConnection@686ae288 failed
java.sql.SQLRecoverableException: IO Error: Socket read timed out
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:919) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:2005) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at com.zaxxer.hikari.pool.PoolBase.quietlyCloseConnection(PoolBase.java:143) ~[HikariCP-3.4.5.jar:na]
at com.zaxxer.hikari.pool.HikariPool.lambda$closeConnection$1(HikariPool.java:451) [HikariCP-3.4.5.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_241]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_241]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_241]
Caused by: java.net.SocketTimeoutException: Socket read timed out
at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:174) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIOHeader.readHeaderBuffer(NIOHeader.java:82) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:139) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:101) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:80) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CMAREngineNIO.prepareForReading(T4CMAREngineNIO.java:98) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4C7Ocommoncall.doOLOGOFF(T4C7Ocommoncall.java:62) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:908) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
… 6 common frames omitted
06-09-20 21:49:05.926 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:05.926 DEBUG com.zaxxer.hikari.pool.PoolBase : HikariCP-ABC — Closing connection oracle.jdbc.driver.T4CConnection@77661966: (connection has passed maxLifetime)
06-09-20 21:49:06.922 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-BH — Pool stats (total=6, active=1, idle=5, waiting=0)
06-09-20 21:49:06.922 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-BH — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:08.433 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Pool stats (total=10, active=1, idle=9, waiting=0)
06-09-20 21:49:08.433 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:15.250 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-BH — Pool stats (total=10, active=1, idle=9, waiting=0)
06-09-20 21:49:15.250 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-BH — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:16.574 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Pool stats (total=10, active=1, idle=9, waiting=0)
06-09-20 21:49:16.574 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:19.784 DEBUG com.zaxxer.hikari.pool.PoolBase : HikariCP-ABC — Closing connection oracle.jdbc.driver.T4CConnection@135c4bab failed
java.sql.SQLRecoverableException: IO Error: Socket read timed out
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:919) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:2005) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at com.zaxxer.hikari.pool.PoolBase.quietlyCloseConnection(PoolBase.java:143) ~[HikariCP-3.4.5.jar:na]
at com.zaxxer.hikari.pool.HikariPool.lambda$closeConnection$1(HikariPool.java:451) [HikariCP-3.4.5.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_241]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_241]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_241]
Caused by: java.net.SocketTimeoutException: Socket read timed out
at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:174) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIOHeader.readHeaderBuffer(NIOHeader.java:82) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:139) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:101) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:80) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CMAREngineNIO.prepareForReading(T4CMAREngineNIO.java:98) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4C7Ocommoncall.doOLOGOFF(T4C7Ocommoncall.java:62) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:908) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
… 6 common frames omitted
06-09-20 21:49:19.811 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:19.811 DEBUG com.zaxxer.hikari.pool.PoolBase : HikariCP-ABC — Closing connection oracle.jdbc.driver.T4CConnection@2e29e860: (connection has passed maxLifetime)
06-09-20 21:49:20.935 DEBUG com.zaxxer.hikari.pool.PoolBase : HikariCP-ABC — Closing connection oracle.jdbc.driver.T4CConnection@77661966 failed
java.sql.SQLRecoverableException: IO Error: Socket read timed out
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:919) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:2005) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at com.zaxxer.hikari.pool.PoolBase.quietlyCloseConnection(PoolBase.java:143) ~[HikariCP-3.4.5.jar:na]
at com.zaxxer.hikari.pool.HikariPool.lambda$closeConnection$1(HikariPool.java:451) [HikariCP-3.4.5.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_241]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_241]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_241]
Caused by: java.net.SocketTimeoutException: Socket read timed out
at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:174) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIOHeader.readHeaderBuffer(NIOHeader.java:82) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:139) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:101) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:80) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CMAREngineNIO.prepareForReading(T4CMAREngineNIO.java:98) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:534) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:485) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4C7Ocommoncall.doOLOGOFF(T4C7Ocommoncall.java:62) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:908) ~[ojdbc8-12.2.0.1.jar:12.2.0.1.0]
… 6 common frames omitted
06-09-20 21:49:20.960 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:20.961 DEBUG com.zaxxer.hikari.pool.PoolBase : HikariCP-ABC — Closing connection oracle.jdbc.driver.T4CConnection@7230fdc5: (connection has passed maxLifetime)
06-09-20 21:49:23.595 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-BH — Pool stats (total=6, active=1, idle=5, waiting=0)
06-09-20 21:49:23.596 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-BH — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:25.216 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Pool stats (total=6, active=1, idle=5, waiting=0)
06-09-20 21:49:25.216 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:27.395 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-BH — Pool stats (total=7, active=1, idle=6, waiting=0)
06-09-20 21:49:27.396 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-BH — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:28.421 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-BH — Pool stats (total=6, active=1, idle=5, waiting=0)
06-09-20 21:49:28.421 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-BH — Fill pool skipped, pool is at sufficient level.
06-09-20 21:49:28.592 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Pool stats (total=6, active=1, idle=5, waiting=0)
06-09-20 21:49:28.592 DEBUG com.zaxxer.hikari.pool.HikariPool : HikariCP-ABC — Fill pool skipped, pool is at sufficient level.

Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • All versions
  • Oracle DB

Issue

  • What does java.sql.SQLRecoverableException: Io exception: Connection reset from Oracle JDBC driver mean?
Caused by:  java.sql.SQLRecoverableException: Io exception: Connection reset
        at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
        at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:521)
        at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:791)
        at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:855)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
        at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1770)
        at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1739)
        at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:299)

Caused by: org.hibernate.exception.JDBCConnectionException: Cannot open connection
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)

Caused by: java.net.SocketException: Connection reset
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)

  • Connection reset problem. User is getting connection reset exceptions error on the server.
The Error Code  is : SQL Error: 17002, SQLState: 08006

Resolution

  • The error does not originate with JBoss and may require investigation by:
    • Network administrators
    • Back-end server administrators/database administrators (e.g. Oracle admins)
  • Database connection validation/fault tolerance1 may allow JBoss to recover from the externally originating connection failure
  • The JBoss Idle timeout period may need to be decreased so that connections timeout on JBoss more rapidly than on the database server.

Root Cause

  • This is a generic issue where the connection has been closed or terminated by something outside of the JBoss process.
  • This may be due to a firewall, switches on the network, protocol or other network errors, interruptions in network connectivity, etc.
  • The database server may be terminating the connection
    • The exception may relate to configuration (e.g. timeout period) of the Oracle database server
    • The exception may be due to error conditions in the database server
    • The exception may be due to a defect in the database server or driver
  • A similar exception (with a potentially different cause/resolution) may also occur during login


  • Product(s)

  • Red Hat JBoss Enterprise Application Platform


  • Component

  • jbossas


  • Category

  • Troubleshoot


  • Tags

  • eap
  • hibernate
  • jboss_eap
  • jca
  • transactions

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Понравилась статья? Поделить с друзьями:
  • Java sql sqlexception network error ioexception socket failed eacces permission denied
  • Java sql sqlexception cannot get a connection pool error timeout waiting for idle object
  • Java socket connect error
  • Java security signatureexception invalid file sign как исправить
  • Java security invalidkeyexception ioexception der input integer tag error