Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQLAlchemy test cases that hang using the Ingres dialect #43

Open
hab6 opened this issue Apr 11, 2024 · 4 comments
Open

SQLAlchemy test cases that hang using the Ingres dialect #43

hab6 opened this issue Apr 11, 2024 · 4 comments
Assignees

Comments

@hab6
Copy link
Contributor

hab6 commented Apr 11, 2024

Several tests in the SQLAlchemy test suite hang when using the Ingres dialect. Prior to merging PR #42, some of these tests were failing with: ERROR: No value specified for mandatory column 'id'

Tests known to hang with the Ingres dialect against Ingres 11.2:

Initial investigation should include:

  • Running the same tests with at least one other dialect to compare behavior.
  • Reducing the problem to one or more simple tests that run apart from the SQLAlchemy test suite.
@hab6 hab6 self-assigned this Apr 11, 2024
@hab6
Copy link
Contributor Author

hab6 commented Apr 11, 2024

Each of the tests that hang with the Ingres dialect and an Ingres 11.2 database will pass if using the PostgreSQL dialect with a PostgreSQL 16.2 database.

Test Result with
Ingres 11.2
Result with
PostgreSQL 16.2
test/orm/inheritance/test_basic.py
VersioningTest::test_save_update
HANG PASS
test/orm/test_cascade.py
PartialFlushTest::test_o2m_m2o
HANG PASS
test/orm/test_events.py
MapperEventsTest::test_merge
HANG PASS
test/orm/test_transaction.py
SessionTransactionTest::test_transactions_isolated
HANG PASS
test/orm/test_versioning.py
AlternateGeneratorTest::test_child_row_switch_two
HANG PASS

@hab6
Copy link
Contributor Author

hab6 commented Apr 12, 2024

Brief research notes:

The attached file (test_basic_hang.py.txt) is a test that hangs when using the Ingres dialect v0.0.7.dev1 yet does not hang with either the Postgres dialect or the SQLite dialect. In the given test, the hang occurs on the second commit when using the Ingres dialect.

Digging a little deeper shows the hang occurs in file sqlalchemy\lib\sqlalchemy\engine\base.py, class method Connection::exec_single_context() at line 1971 (of SQLAlchemy v2.0.29.dev0) on the call to self.dialect.do_execute().

@clach04
Copy link
Member

clach04 commented Apr 13, 2024

@hab6 what does ipm/iimonitor show? More than 1 session?

@hab6
Copy link
Contributor Author

hab6 commented Apr 17, 2024

Internal ticket II-14071

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants