Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The #4967 tests have been failing with Oracle-based drivers with the following error messages:
While the root cause isn't exactly clear, it is clear that the test suite attempts to establish an abnormally large number of connections which the containerized database server starts rejecting at some point in time.
The large number of connections is caused by the fact that the schema manager tests mark the connection as non-reusable during the teardown. This is necessary to avoid the side effects produced by the following tests:
MySQLSchemaManagerTest::testSpatialIndex()
creates a table with a column of typePOINT
. Due to Adding Custom Type after doctrineTypeComments member was touched results in missing comments on schema #4983, the pre-existing shared connection won't be able to use this type during table introspection. Because of that, any subsequent test that tries to introspect the schema will fail.PostgreSQLSchemaManagerTest::testFilterSchemaExpression()
modifies the asset filtering configuration on the shared connection. If this connection is used by subsequent tests, they will fail to introspect the assets that don't match the filter.Each of the schema manager tests establishes a connection in order to identify the current platforms and skips if it doesn't support the platform. Combined with marking the connection non-reusable, all schema manager tests combined establish ~400 connections per test suite, most of which get immediately closed because all schema manager tests except one don't support the currently configured database platform.
The solution is to have each individual test mark the connection as non-reusable (2 out of ~400).