[
https://issues.apache.org/jira/browse/DERBY-5347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13090598#comment-13090598
]
Kathey Marsden commented on DERBY-5347:
---------------------------------------
The following Exceptions can occur on ServerSocket.accept() and the behavior I
am considering.
SecurityException - if a security manager exists and its checkAccept method
doesn't allow the operation.
- Continue to log and loop as this would likely be just an unauthorized
connection attempt.
IOException - if an I/O error occurs when waiting for a connection.
- Perhaps on these we should fail and shutdown the server, only if it
happens three times in a row with a one second wait in between as it may be
some intermittent hardware I/O noise. I am not sure if this is necessary or if
we should just bail on the first IOException.
SocketTimeoutException - if a timeout was previously set with setSoTimeout
and the timeout has been reached.
- Shouldn't happen, but handle like IOException since it is a subclass of
IOException.
IllegalBlockingModeException - if this socket has an associated channel,
the channel is in non-blocking mode, and there is no connection ready to be
accepted
- Shouldn't happen, log and shutdown the server.
> Derby loops filling logs and consuming all CPU with repeated error:
> java.net.SocketException: EDC5122I Input/output error.
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-5347
> URL: https://issues.apache.org/jira/browse/DERBY-5347
> Project: Derby
> Issue Type: Bug
> Affects Versions: 10.7.1.1
> Environment: java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build pmz31devifx-20100215
> (SR11 FP1 ))
> IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 z/OS s390-31
> j9vmmz3123ifx-20100127a (JIT enabled)
> J9VM - 20100122_52103_bHdSMr
> JIT - 20091016_1845ifx1_r8
> GC - 20091026_AA)
> JCL - 20100215
> Reporter: Force Rs
> Assignee: Kathey Marsden
>
> When a TCP/IP Stack on a z/OS system running Derby is stopped and started,
> Derby loops with the following stack trace repeated until disk space is
> exhausted on the logging file system:
> Wed Jul 20 07:49:51 CDT 2011 : EDC5122I Input/output error.
> java.net.SocketException: EDC5122I Input/output error.
> at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:457)
> at java.net.ServerSocket.implAccept(ServerSocket.java:473)
> at java.net.ServerSocket.accept(ServerSocket.java:444)
> at org.apache.derby.impl.drda.ClientThread$1.run(Unknown Source)
> at
> java.security.AccessController.doPrivileged(AccessController.java:241)
> at org.apache.derby.impl.drda.ClientThread.run(Unknown Source)
> The derby log we generated was 498 megabytes and had 1,883,750 of these stack
> traces.
> Since Derby originated from IBM, the following link may provide a valuable
> clue as to how to fix the defect in Derby:
> http://www-01.ibm.com/support/docview.wss?uid=swg1PQ93090
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira