aws / aws/amazon-redshift-odbc-driver
odbc hanging
- 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
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