How to resolve "Broken pipe (Write failed) Caused by: Broken pipe (Write failed)" error for Impala data source in TIBCO Data Virtualization?

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.
User-added image

Refer to the below article to learn more about the property:
https://impala.apache.org/docs/build/html/topics/impala_idle_session_timeout.html