[cx-oracle-users] cursor.execute() stays blocked on a weird statement without propagating ORA-01652
Brought to you by:
atuining
|
From: ConcreteVitamin <con...@gm...> - 2021-05-02 05:46:04
|
Hi there,
I've a weird statement that's pretty expensive. Entering this SQL
statement in sqlplus eventually leads to this error:
ERROR at line 1:
ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
This is expected & good.
However, using cx_Oracle, specifically using
cursor.execute(same_statement)
would result in the same amount of work being done, and at some point the
CPU utilization on the server stopped -- which meant ORA-01652 has happened
-- but the cursor.execute(...) call stays blocked without raising an
exception. This makes the app stay in a stuck state. At that point it
doesn't respond to Ctrl-C SIGINT.
I've tried export DPI_DEBUG_LEVEL=64 and there are no messages being
printed.
What's wrong? Is it possible to enable an exception to be raised?
Server: 19c [where sqlplus was run]
cx_Oracle: 8.1 [different host from the server; using same DSN as sqlplus]
Thanks.
|