How to resolve "Broken pipe (Write failed) Caused by: Broken pipe (Write failed)" error for Impala data source in TIBCO Data Virtualization?
book
Article ID: KB0070459
calendar_today
Updated On:
Products
Versions
TIBCO Data Virtualization
All Supported Versions
Description
Sometimes, the Impala data source autonomously closes the connection. Consequently, while TIBCO Data Virtualization continues communication with the data source, an error labeled "Broken pipe" appears in the cs_server.log file.
A snippet of the log file: ----------------------------------------- Caused by: java.net.SocketException: Broken pipe (Write failed) at java.net.SocketOutputStream.socketWrite0(Native Method) ~[?:?] at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) ~[?:?] at java.net.SocketOutputStream.write(SocketOutputStream.java:150) ~[?:?] at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81) ~[?:?] at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142) ~[?:?] at com.cloudera.impala.jdbc41.internal.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:159) ~[?:?] at com.cloudera.impala.jdbc41.internal.apache.thrift.transport.TSaslTransport.flush(TSaslTransport.java:471) ~[?:?] -----------------------------------------
Issue/Introduction
This article explains a method to resolve the "Broken pipe (Write failed) Caused by: Broken pipe (Write failed)" error encountered against an Impala data source in TIBCO Data Virtualization
Environment
All Supported Environments
Resolution
The error message "java.net.SocketException: Broken pipe (Write failed)" in a Java application typically indicates that the connection to a remote server was lost unexpectedly. The socket exceptions usually occur at the network layer when there is an error while accessing or writing to sockets. (java.net.SocketException).
To resolve this, add the IDLE_SESSION_TIMEOUT property in the JDBC Connection properties for the Impala data source.
Steps to add the property: 1. In the studio, open the Impala data source. 2. In the Advanced tab, click on 'JDBC Connection Properties'. 3. Add the Idle_Session_Timeout property and value. Ideally, the value should match with the value on the physical Impala database.
Refer to the below article to learn more about the property: https://impala.apache.org/docs/build/html/topics/impala_idle_session_timeout.html