gvenzl / oci-oracle-free

Build scripts for Oracle Database FREE container/docker images
Apache License 2.0
113 stars 28 forks source link

Failures with Oracle 23.3 image #22

Closed cpcloud closed 9 months ago

cpcloud commented 9 months ago

Hi 👋🏻!

We've been using the docker images produced from this repo without issue for quite a while over in https://github.com/ibis-project/ibis.

They've been working quite well!

Recently we're seeing some errors that are difficult to understand: https://github.com/ibis-project/ibis/actions/runs/6296921012/job/17092938287

We're not (yet) pinning the version of the image, so we picked up 23.3 in a CI run. To ensure our CI isn't flaky, for now we're going to pin our image to 23.2.

The queries that seem to be causing the errors are queries like:

DROP TABLE IF EXISTS "diamonds";

The error messages all look similar to this one:

ERROR ibis/backends/tests/test_client.py::test_load_data_sqlalchemy[oracle-pyarrow table] - sqlalchemy.exc.DatabaseError: (oracledb.exceptions.DatabaseError) ORA-04088: error during execution of trigger 'SYS.DELETE_ENTRIES'

~One thing that might be gumming things up is that we're running the test suite in parallel. Is that supported with Oracle? Should we be able to run multiple processes that are reading from and writing to the database in parallel? That said, I was able to reproduce the issue by running a single test with no parallelism involved.~ We're actually running the Oracle tests serially.

Thanks!

gvenzl commented 9 months ago

Thanks a lot for reporting this, @cpcloud! I will take a look ASAP!

Sorry for the disruption!

gvenzl commented 9 months ago

The error shows the same symptoms as #23:

[SQL: 
DROP TABLE "_ibis_alchemy_table_gevbestjv5fj7arkgpvmpmmc7q"]
(Background on this error at: https://sqlalche.me/e/14/4xp6)
ERROR ibis/backends/tests/test_client.py::test_load_data_sqlalchemy[oracle-dataframe] - sqlalchemy.exc.DatabaseError: (oracledb.exceptions.DatabaseError) ORA-04088: error during execution of trigger 'SYS.DELETE_ENTRIES'
ORA-00604: Error occurred at recursive SQL level 1. Check subsequent errors.
ORA-01804: failure to initialize timezone information
Help: https://docs.oracle.com/error-help/db/ora-04088/
[SQL: 
DROP TABLE "_ibis_alchemy_table_7trzdmne3vcgradzt2xj6az4z4"]
(Background on this error at: https://sqlalche.me/e/14/4xp6)
ERROR ibis/backends/tests/test_client.py::test_insert_overwrite_from_expr[oracle] - sqlalchemy.exc.DatabaseError: (oracledb.exceptions.DatabaseError) ORA-04088: error during execution of trigger 'SYS.DELETE_ENTRIES'
ORA-00604: Error occurred at recursive SQL level 1. Check subsequent errors.
ORA-01804: failure to initialize timezone information

@cpcloud, I think I have isolated and fixed the issue. Would it be possible to rerun these tests and confirm, please?

cpcloud commented 9 months ago

Thanks @gvenzl!

Tests are running here: https://github.com/ibis-project/ibis/pull/7216

cpcloud commented 9 months ago

Looks like the issue is fixed! Thanks @gvenzl!

gvenzl commented 9 months ago

Great, thanks a lot @cpcloud and sorry for the disruption!

cpcloud commented 9 months ago

No need to apologize, we're happy to have a free docker image that we don't maintain to test Oracle with!

gvenzl commented 9 months ago

It's my pleasure, if you ever need anything or have questions, happy to help anywhere I can!