Backend에서 Broken pipe issue는 다음과 같이 나타날 수 있다.
- java.net.SocketException:Broken pipe
- java.io.IOException:Broken pipe
============================================================================================
java.net.SocketException:Broken pipe
- 잦은 입출력 호출로 발생. 사용자가 처리 중인 요청을 기다리지 않고 새로고침 등으로 재요청을 여러번 보내는 경우에 발생. Socket이 끊어지면서 exception 발생됨.
- Web browser가 server에 연결을 하게 되면, 연결된 socket을 HttpThread에 넘기게 된다. 이 때 ThreadPool에서 해당 socket이 조건에 맞게 되면 해당 Thread를 기동한다.
- HttpThread가 완료되지 않은 채 재요청이 들어오게 되면, 처음 요청 당시 생성된 socket이 httpThread.run()에서 사용되지 못하고 연결이 끊어지게 된다. 이 때 Broken pipe가 나타난다.
============================================================================================
java.io.IOException:Broken pipe
- 클라이언트가 받은 응답 data를 적절한 타이밍에 처리하지 못할 때 생기는 exception. 네트워크나 서버의 CPU 속도 issue로 느리게 처리되어 생겨나는 경우 발생됨.
- client에서 요청 후, 서버에서 작업을 완료하여 client로 결과를 넘겨주기 전에 네트워크 끊김, 정지 버튼 및 브라우저 종료, 다른 화면으로 이동 등의 작업이 발생할때 나타나는 exception. 최초 요청한 정보가 사라졌기에 서버가 결과값을 전달할 곳이 없어서 발생됨.
============================================================================================
해당 exception에 대해 지원할 수 있는 사항
1. client가 request 후 response가 올때까지 기다리게 하는 방법
2. Exception을 무시하는 방법
3. 중복 요청을 막는 방법
4. Timeout 값을 늘리거나 가용한 thread 값을 늘리는 방법
'Oracle > TroubleShooting' 카테고리의 다른 글
java.lang.IllegalStateException: EJB010157 (0) | 2022.06.15 |
---|---|
java.lang.VerifyError: class net.sf.cglib.core.DebuggingClassWriter (0) | 2022.06.09 |
oracle.jdbc.driver.T4CConnection.logon (0) | 2022.05.03 |
BEA-149231 <Unable to set the activation state to true for the application "bea_wls_internal"> (0) | 2022.04.20 |
Weblogic windows 설치 중 OUI 관련 issue (0) | 2022.04.06 |