ODBC Connections to Greenplum using DataDirect can Hang after Database Restart
search cancel

ODBC Connections to Greenplum using DataDirect can Hang after Database Restart

book

Article ID: 295502

calendar_today

Updated On:

Products

VMware Tanzu Greenplum Greenplum Pivotal Data Suite Non Production Edition VMware Tanzu Data Suite VMware Tanzu Data Suite

Issue/Introduction

Symptoms:

After GPDB restarts, many of the connections through Open Database Connectivity (ODBC) get hung. The memory usage of the client processes continuously increasing when checked through "top".

Some of the connections may exit with an Open Database Connectivity (ODBC) error like below:

[DataDirect][ODBC Greenplum Wire Protocol driver][Greenplum]FATAL: terminating connection due to administrator command(File postgres.c;Line 3521;Routine ProcessInterrupts;)

The stack (strace -p pid) for the hung process will keep on giving the same output as below:

brk(0x1fb3c000) = 0x1fb3c000
mmap(NULL, 1843200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,-1, 0) = 0x2ac698b54000
munmap(0x2ac698b54000, 1843200) = 0
brk(0x1fcfd000) = 0x1fcfd000

The issue can be noticed when there is a large number of connections to GPDB is running through ODBC before restarting. Also, the issue exists only with DataDirect versions 7.1.3 and 7.1.4.

 

Environment


Cause

The issue has been identified to be a bug with DataDirect Driver, wherein if the GPDB system returns the error message to the client in the same IP packet as some of the results, then the ODBC driver does not parse the information correctly. The ODBC driver ignores the error message and does not drop the connection leaving it in a hanging state.

 

Resolution

Download the DataDirect version '07.15.0227 (B0276, U0184) or higher which contain the fix for the bug

The patch is available under:

OEM -> patches -> connect64_odbc -> 7.1 -> PROGRESS_DATADIRECT_CONNECT64_ODBC_7.1.5.HOTFIX_LINUX_64.tar.Z