It seems that the MemoryNodeStore, used by the CopyVersionHistoryTest, is not compatible with the early shutdown approach. The early shutdown disables the source repository in the very first commit hook call during the merge. However, the MemoryNodeStore tries to access the source repository even after the first commit hook is run.
Switching the MemoryNodeStore to a memory-based SegmentNodeStore in the CopyVersionHistoryTest#performCopy() method fixes the issue. Marcel - could you commit the change? Best regards, Tomek On 08/09/15 10:13, "Tomek Rekawek" <[email protected]> wrote: >Hi Marcel, > >The setEarlyShutdown invoked in the test code is intended. There is also the >RepositoryUpgrade#overrideEarlyShutdown() method, which should override the >manual setting, if we need to have access to the source repository in the >commit hooks. The override method should prevent such exceptions. > >Let me check what’s the source of the problem. > >Best regards, >Tomek > >On 08/09/15 08:45, "Marcel Reutegger" <[email protected]> wrote: > >>Hi, >> >>while fixing some upgrade tests I noticed this method: >>RepositoryUpgrade.setEarlyShutdown(). >> >>In CopyVersionHistoryTest.performCopy() this flag is set >>to true and causes many ERROR and WARN messages during the >>copy: >> >>08:37:12.177 ERROR [main] BundleDbPersistenceManager.java:900 failed to >>read bundle (stacktrace on DEBUG log level): >>ff313fbc-38bd-4eec-a671-4de95acd9991: java.sql.SQLException: Data source >>is closed >>08:37:12.184 WARN [main] JackrabbitNodeState.java:714 >>/jcr:system/jcr:versionStorage/35/bf/b5/35bfb553-9af9-40bb-8eb3-4176aa682a8 >>5/jcr:rootVersion: Skipping broken child node entry jcr:frozenNode >> >> >>Is this really intended? The test does not fail, but the closed >>data source introduces a significant delay during the copy >>operation because Jackrabbit retries the SQL call after a 100 ms >>sleep. Setting the flag to false reduces the time to run the >>CopyVersionHistoryTest from 18 sec to 5 sec. >> >> >>Regards >> Marcel
