Open bwaidelich opened 2 months ago
Yes i observed that already once in ci ... locally it works without ... probably because stuff (schema) is already warmed up?
@mhsdesign The error is
RuntimeException: Failed to acquire checkpoint lock for subscriber "Neos\Neos\FrontendRouting\Projection\DocumentUriPathProjection_Original" because a transaction is active already
I guess this is only implicitly related. I'll check again once #4988 is merged
grml, this isn't solved wiht #4988 it seems – I applied the fix there and checks still fail. But The actual exception is now revealed and this can be reproduced locally by removing all Flow/Neos tables and running:
../../bin/behat -f progress --strict --no-interaction '-vvv' '--stop-on-failure' '-c' 'Neos.Neos/Tests/Behavior/behat.yml'
=>
001 Scenario: Match homepage URL # Features/FrontendRouting/Basic.feature:69
When the command CreateRootWorkspace is executed with payload: # Features/FrontendRouting/Basic.feature:30
RuntimeException: A transaction is active already, can't commit events! in Packages/Libraries/neos/eventstore-doctrineadapter/src/DoctrineEventStore.php:95
So this is the line that fails. I'll investigate..
I can confirm that the last version works in conjunction with the reworked catchup:
If we were to create a dedicated connection per projection, it would probably work here as well – and maybe that even makes sense since they have their independent transaction boundaries
I have encountered the bug also in the NodeTemplates Ci (see https://github.com/Flowpack/Flowpack.NodeTemplates/pull/51/commits/f37b6c4a21abd9ae4fa368a62c5a81ab01d1a152)
The first error is:
Neos.ContentRepository.Core/Classes/EventStore/EventPersister.php:47
RuntimeException: A transaction is active already, can't commit events!
and succeeding errors:
Neos.ContentRepository.Core/Classes/Infrastructure/DbalCheckpointStorage.php:88
RuntimeException: Failed to acquire checkpoint lock for subscriber "Neos\ContentRepository\Core\Projection\ContentStream\ContentStreamProjection" because a transaction is active already
Use a dedicated DBAL Connection for the
DoctrineEventStore
in order to prevent nested transactions potentially leading to RuntimeException ofAs a result, the
doctrine:migrate
andcr:setup
commands can be skipped during CI