aws / aws/amazon-redshift-odbc-driver

odbc hanging

Open
#49 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
25
Forks
17
PR merge metrics
No merged PRs in 30d

Description

GDB STACK TRACE — MAIN EVIDENCE
The main thread showed the following stack:
GI_poll(... timeout=-1)
-> pqSocketCheck.part.2()
-> pqWaitTimed()
-> _pqGetResultLoopOnThread()
-> pqReadNextBatchOfStreamingRows()
-> RS_STMT_INFO::RS_SQLFetchScroll()
-> SQLFetch()
-> DriverManager SQLFetch()
-> ODBCProtocolImpl::ReadMetadataImpl()
-> SQLODBCProtocol::ReadMetadataImpl()
-> SQLODBCProtocol::ReadColumnMetadata()
-> RedShiftProtocol::ReadMetadataImpl()

The following functions are inside:
/opt/amazon/redshiftodbcx64/[librsodbc64.so](http://librsodbc64.so/)
Specifically:
pqSocketCheck.part.2
pqWaitTimed
_pqGetResultLoopOnThread
pqReadNextBatchOfStreamingRows
RS_STMT_INFO::RS_SQLFetchScroll
SQLFetch
The thread is therefore blocked in the Redshift ODBC driver while SQLFetch is waiting for the next streaming result batch, eventually blocked in poll() with timeout=-1.

Contributor guide

Open the contributing guide

Research direction

Use the reported GDB stack trace as the entry point, following the path from SQLFetch() through ODBCProtocolImpl::ReadMetadataImpl() to RedshiftProtocol::ReadMetadataImpl(). Investigate why the driver remains blocked in poll() while waiting for a streaming result batch. Done requires a reproducible diagnosis and a confirmed resolution for the reported hang.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, sql
Domain
databases
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.