If you are experiencing problems with locked nodes on public when trying to publish content you should raise the logging level for publishing.
Types of issues
WARN org.apache.jackrabbit.core.lock.LockManagerImpl : Unable to remove session-scoped lock on node ‘2aaf8f48-bff6-4cb7-a468-f8a95be0c68f-5’: This session has been closed. See the chained exception for a trace of where the session was closed
INFO ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 10 more times. INFO ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 9 more times. INFO ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 8 more times. INFO ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 7 more times. INFO ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 6 more times. INFO ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 5 more times. INFO ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 4 more times. INFO ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 3 more times. INFO ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 2 more times. INFO ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 1 more times. ERROR receiver.operation.jcr.AbstractJcrReceiveOperation: Operation not permitted, /travel is locked by unfinished transaction. info.magnolia.publishing.locking.LockManager$LockException: Operation not permitted, /travel is locked by unfinished transaction. at info.magnolia.publishing.transactional.receiver.locking.TransactionalJcrLockManager.applyLock(TransactionalJcrLockManager.java:128) ~[magnolia-publishing-transactional-receiver-1.0.5.jar:?] at info.magnolia.publishing.receiver.operation.jcr.AbstractJcrReceiveOperation.preExecute(AbstractJcrReceiveOperation.java:174) ~[magnolia-publishing-receiver-1.2.jar:?] at info.magnolia.publishing.receiver.operation.jcr.AbstractJcrReceiveOperation.execute(AbstractJcrReceiveOperation.java:146) [magnolia-publishing-receiver-1.2.jar:?] at info.magnolia.publishing.transactional.receiver.operation.jcr.JcrTransactionPublicationOperation.execute(JcrTransactionPublicationOperation.java:87) [magnolia-publishing-transactional-receiver-1.0.5.jar:?] at info.magnolia.publishing.dispatcher.AbstractDispatcher.dispatch(AbstractDispatcher.java:105) [magnolia-publishing-core-1.2.jar:?]
Publishing modules
Update your publishing modules
<dependencies> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-core</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-app</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-receiver</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-sender</artifactId> <version>1.2.3</version> </dependency> <dependencies>
<dependencies> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-core</artifactId> <version>1.1.7</version> </dependency> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-app</artifactId> <version>1.1.7</version> </dependency> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-receiver</artifactId> <version>1.1.7</version> </dependency> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-sender</artifactId> <version>1.1.7</version> </dependency> <dependencies>
Publishing transactional modules
Update your publishing transactional modules to v1.0.7 for both Magnolia 6.2.x and Magnolia 5.7.x
<dependencies> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-transactional-core</artifactId> <version>1.0.7</version> </dependency> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-transactional-app</artifactId> <version>1.0.7</version> </dependency> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-transactional-receiver</artifactId> <version>1.0.7</version> </dependency> <dependency> <groupId>info.magnolia.publishing</groupId> <artifactId>magnolia-publishing-transactional-sender</artifactId> <version>1.0.7</version> </dependency> <dependencies>
Raise the logging level
<Logger name="info.magnolia.publishing" level="ALL"/>
You can also raise the logging level of publishing in a running instance. Log into your public instance(s) and open the Log Tools app.
Publication IDs
Each time a lock is required for publication the session which created that lock will identify itself in the lockOwner field.
- rootLock:
publication-session-rootLock-session-admin-293
- nodeLock:
publication-session-nodeLock-session-admin-293
- parentLock:
publication-session-parentLock-session-admin-293
Using the lock id we should be able track when and where locks created.
2020-08-31 15:01:48,242 ERROR info.magnolia.publishing.locking.JcrLockManager : Cannot acquire lock [owner: publication-session-nodeLock-session-admin-293 expires: infinite lock]
Looking further back in the logs we should be able to find when the node was locked.
Related tickets
- - EEPUBLISH-28Getting issue details... STATUS
- - EEPUBLISH-29Getting issue details... STATUS
- - PUBLISHING-86Getting issue details... STATUS
- - PUBLISHING-88Getting issue details... STATUS
Known Issues
JcrLockManager falsely reports node locked.
2020-09-01 19:39:33,979 DEBUG info.magnolia.publishing.locking.JcrLockManager : session-admin-374 DID lock website:/travel/stories 2020-09-01 19:39:33,979 DEBUG info.magnolia.publishing.locking.JcrLockManager : Cannot acquire lock [owner: publishing-session-parentLock-session-admin-374 expires: infinite lock]