[MGNLSYNC-42] Synchronization manager does not complete normally Created: 25/May/20  Updated: 29/Mar/22  Resolved: 25/Jun/20

Status: Closed
Project: Magnolia Synchronization Module
Component/s: Core, REST
Affects Version/s: 1.8, 1.9
Fix Version/s: 1.8.3, 1.9

Type: Bug Priority: Neutral
Reporter: Richard Gange Assignee: Canh Nguyen
Resolution: Fixed Votes: 1
Labels: cs-bk
Remaining Estimate: 0d
Time Spent: 5d 3h
Original Estimate: Not Specified

Attachments: PNG File mgnl-system.png     PNG File partial-sync.png     PDF File synchronization-5.7.pdf     PDF File synchronization-tests.pdf     PNG File travel-book-tour.png     PNG File unlock.png    
Issue Links:
Relates
relates to MGNLSYNC-44 Syncing nodes with missing versions Closed
relates to MGNLSYNC-43 Finalize support for invoking synchro... Closed
dependency
depends upon EEPUBLISH-27 TransactionSender's executeOperation ... Closed
relation
is related to PUBLISHING-86 Provide an app to clear activation locks Closed
is related to MGNLDEMO-347 Stories page has a broken version his... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Release notes required:
Yes
Documentation update required:
Yes
Date of First Response:
Sprint: Maintenance 10, HL & LD 5, HL & LD 6
Story Points: 8
Team: Nucleus

 Description   

Using version 1.9-beta2 I find that synchronizations are not finishing normally. The log will claim the sync has been completed but the system workspace is still filled with nodes that have not been cleaned. I'm also getting part of the website sync'd.

Public side log with info.magnolia.publishing set for DEBUG.

2020-05-25 13:55:41,937 DEBUG ional.receiver.locking.TransactionalJcrLockManager: 132:1590407741936 Requesting XA lock
2020-05-25 13:55:41,939 DEBUG info.magnolia.publishing.locking.JcrLockManager   : parent path:/
2020-05-25 13:55:41,947 DEBUG info.magnolia.publishing.locking.JcrLockManager   : session-admin-696 DID locked magnolia-mgnlSystem:/website-rootLock
2020-05-25 13:55:41,947 DEBUG ional.receiver.locking.TransactionalJcrLockManager: 132:1590407741936 Got clearance for JCR lock on parent node /
2020-05-25 13:55:41,947 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Checking the timestamp of publication request
2020-05-25 13:55:41,948 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 132:1590407741936 Starting content publication
2020-05-25 13:55:41,948 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 132:1590407741936 Checking for existence of content website:b06b82a2-74b0-4994-8015-028c4fd60716
2020-05-25 13:55:41,948 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 132:1590407741936 b06b82a2-74b0-4994-8015-028c4fd60716 doesn't exist in website and will be imported under parent path: /
2020-05-25 13:55:41,948 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing travel into parent path /
2020-05-25 13:55:41,959 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing main into parent path /travel
...
...
2020-05-25 13:55:43,192 INFO  r.operation.jcr.JcrTransactionPublicationOperation: 132:1590407741936 User superuser successfully published website:/travel on magnoliaPublic.
2020-05-25 13:55:43,193 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Ordering travel before sportstation
2020-05-25 13:55:43,260 DEBUG info.magnolia.publishing.locking.JcrLockManager   : session-admin-696 DID unlocked magnolia-mgnlSystem:/website-rootLock
2020-05-25 13:55:43,311 DEBUG ional.receiver.locking.TransactionalJcrLockManager: 133:1590407743311 Requesting XA lock
2020-05-25 13:55:43,311 DEBUG info.magnolia.publishing.locking.JcrLockManager   : parent path:/travel
2020-05-25 13:55:43,330 DEBUG info.magnolia.publishing.locking.JcrLockManager   : session-admin-697 DID locked website:/travel
2020-05-25 13:55:43,330 DEBUG ional.receiver.locking.TransactionalJcrLockManager: 133:1590407743311 Got clearance for JCR lock on parent node /travel
2020-05-25 13:55:43,331 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Checking the timestamp of publication request
2020-05-25 13:55:43,331 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 133:1590407743311 Starting content publication
2020-05-25 13:55:43,331 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 133:1590407743311 Checking for existence of content website:05872876-073e-40a3-a3c5-0d0a18c1d43d
2020-05-25 13:55:43,331 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 133:1590407743311 05872876-073e-40a3-a3c5-0d0a18c1d43d doesn't exist in website and will be imported under parent path: /travel
2020-05-25 13:55:43,331 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing tour-type into parent path /
2020-05-25 13:55:43,339 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing main into parent path /tour-type
...
...
2020-05-25 13:55:43,484 INFO  r.operation.jcr.JcrTransactionPublicationOperation: 133:1590407743311 User superuser successfully published website:/travel/tour-type on magnoliaPublic.
2020-05-25 13:55:43,520 DEBUG info.magnolia.publishing.locking.JcrLockManager   : session-admin-697 DID unlocked website:/travel
2020-05-25 13:55:43,608 DEBUG ional.receiver.locking.TransactionalJcrLockManager: 129:1590407743608 Requesting XA lock
2020-05-25 13:55:43,609 DEBUG info.magnolia.publishing.locking.JcrLockManager   : parent path:/travel
2020-05-25 13:55:43,627 DEBUG info.magnolia.publishing.locking.JcrLockManager   : session-admin-699 DID locked website:/travel
2020-05-25 13:55:43,627 DEBUG ional.receiver.locking.TransactionalJcrLockManager: 129:1590407743608 Got clearance for JCR lock on parent node /travel
2020-05-25 13:55:43,627 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Checking the timestamp of publication request
2020-05-25 13:55:43,630 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 129:1590407743608 Starting content publication
2020-05-25 13:55:43,630 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 129:1590407743608 Checking for existence of content website:028a4a92-35df-45a3-b6ff-58381db74eb5
2020-05-25 13:55:43,630 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 129:1590407743608 028a4a92-35df-45a3-b6ff-58381db74eb5 doesn't exist in website and will be imported under parent path: /travel
2020-05-25 13:55:43,630 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing destination into parent path /
2020-05-25 13:55:43,636 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing main into parent path /destination
2020-05-25 13:55:43,639 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing 0 into parent path /destination/main
2020-05-25 13:55:43,642 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing 00 into parent path /destination/main
2020-05-25 13:55:43,648 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing 02 into parent path /destination/main
2020-05-25 13:55:43,656 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing 01 into parent path /destination/main
2020-05-25 13:55:43,666 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing footer into parent path /destination
...
...
2020-05-25 13:55:43,792 INFO  r.operation.jcr.JcrTransactionPublicationOperation: 129:1590407743608 User superuser successfully published website:/travel/destination on magnoliaPublic.
2020-05-25 13:55:43,813 DEBUG info.magnolia.publishing.locking.JcrLockManager   : session-admin-699 DID unlocked website:/travel
2020-05-25 13:55:43,877 DEBUG ional.receiver.locking.TransactionalJcrLockManager: 127:1590407743877 Requesting XA lock
2020-05-25 13:55:43,878 DEBUG info.magnolia.publishing.locking.JcrLockManager   : parent path:/travel
2020-05-25 13:55:43,894 DEBUG info.magnolia.publishing.locking.JcrLockManager   : session-admin-701 DID locked website:/travel
2020-05-25 13:55:43,894 DEBUG ional.receiver.locking.TransactionalJcrLockManager: 127:1590407743877 Got clearance for JCR lock on parent node /travel
2020-05-25 13:55:43,894 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Checking the timestamp of publication request
2020-05-25 13:55:43,895 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 127:1590407743877 Starting content publication
2020-05-25 13:55:43,895 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 127:1590407743877 Checking for existence of content website:af4cd608-2dda-4535-a5e0-703ef92fd45a
2020-05-25 13:55:43,895 DEBUG r.operation.jcr.JcrTransactionPublicationOperation: 127:1590407743877 af4cd608-2dda-4535-a5e0-703ef92fd45a doesn't exist in website and will be imported under parent path: /travel
2020-05-25 13:55:43,895 DEBUG receiver.operation.jcr.AbstractJcrReceiveOperation: Importing tour into parent path /
...
...
2020-05-25 13:55:44,026 INFO  r.operation.jcr.JcrTransactionPublicationOperation: 127:1590407743877 User superuser successfully published website:/travel/tour on magnoliaPublic.
2020-05-25 13:55:44,053 DEBUG info.magnolia.publishing.locking.JcrLockManager   : session-admin-701 DID unlocked website:/travel

Trying to call sync again leads to:

2020-05-25 13:57:14,623 DEBUG ional.receiver.locking.TransactionalJcrLockManager: About to begin publish of website:b06b82a2-74b0-4994-8015-028c4fd60716:/travel
2020-05-25 13:57:14,624 DEBUG ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Requesting XA lock
2020-05-25 13:57:14,625 INFO  ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 10 more times.
2020-05-25 13:57:16,628 INFO  ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 9 more times.
2020-05-25 13:57:18,630 INFO  ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 8 more times.
2020-05-25 13:57:20,635 INFO  ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 7 more times.
2020-05-25 13:57:22,639 INFO  ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 6 more times.
2020-05-25 13:57:24,639 INFO  ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 5 more times.
2020-05-25 13:57:26,644 INFO  ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 4 more times.
2020-05-25 13:57:28,645 INFO  ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 3 more times.
2020-05-25 13:57:30,646 INFO  ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 2 more times.
2020-05-25 13:57:32,646 INFO  ional.receiver.locking.TransactionalJcrLockManager: 129:1590407834622 Node /travel is locked by transaction. Will retry 1 more times.
2020-05-25 13:57:34,649 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:?]
	at info.magnolia.publishing.transactional.receiver.dispatcher.TransactionalHeadersDispatcher.dispatch(TransactionalHeadersDispatcher.java:57) [magnolia-publishing-transactional-receiver-1.0.5.jar:?]
	at info.magnolia.publishing.transactional.receiver.dispatcher.TransactionalHeadersDispatcher.dispatch(TransactionalHeadersDispatcher.java:38) [magnolia-publishing-transactional-receiver-1.0.5.jar:?]
	at info.magnolia.publishing.receiver.filter.PublicationFilter.doFilter(PublicationFilter.java:61) [magnolia-publishing-receiver-1.2.jar:?]
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:127) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-6.2.jar:?]
	at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:79) [magnolia-module-enterprise-6.2.jar:?]
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MultipartRequestFilter.doFilter(MultipartRequestFilter.java:151) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-6.2.jar:?]
	at info.magnolia.personalization.preview.filter.PreviewFilter.doFilter(PreviewFilter.java:92) [magnolia-personalization-preview-app-2.0.jar:?]
	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:155) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:128) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:110) [magnolia-core-6.2.jar:?]
	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:96) [magnolia-core-6.2.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:9.0.31]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:9.0.31]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [catalina.jar:9.0.31]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.31]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688) [catalina.jar:9.0.31]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.31]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:9.0.31]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) [tomcat-coyote.jar:9.0.31]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:9.0.31]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-coyote.jar:9.0.31]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639) [tomcat-coyote.jar:9.0.31]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.31]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.31]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]

Trying to call a sync on the entire travel site only published 4 pages.



 Comments   
Comment by Richard Gange [ 25/May/20 ]

To see this issue I set up an author instance with the travel demo installed. I also set a public instance without the demo.

Using a groovy script I attempted to sync the travel website recursively:

import info.magnolia.objectfactory.Components
import info.magnolia.repository.RepositoryConstants

manager = Components.getComponent(info.magnolia.synchronization.manager.SynchronizationManager)

request = manager.synchronize("http://localhost:7070/magnoliaPublic", 
    RepositoryConstants.WEBSITE, "/travel", true, null, null, null);

I hit the problems mentioned in the description.

I tried to manually unlock the travel site but it says the node is not locked even though it's being reported locked in the log.

import javax.jcr.Session
import info.magnolia.context.MgnlContext

session = MgnlContext.getJCRSession("website");
lockManager = session.getWorkspace().getLockManager(); 
lockManager.unlock("/travel");
session.save();
Comment by Richard Gange [ 25/May/20 ]

Author side log w/ info.magnolia.synchronization set for DEBUG.

2020-05-25 13:50:15,632 INFO  info.magnolia.module.scheduler.SchedulerModule    : Job synchonization-20200525-135015625 added [16 50 13 25 05 ? 2020]. Will fire first time at Mon May 25 13:50:16 CEST 2020
2020-05-25 13:50:16,007 DEBUG nchronization.manager.SimpleSynchronizationManager: Synchronization synchonization-20200525-135015625 is now running
2020-05-25 13:50:16,007 INFO  info.magnolia.module.scheduler.CommandJob         : Starting job [synchonization-20200525-135015625]...
2020-05-25 13:50:19,080 DEBUG ynchronization.commands.RestSynchronizationCommand: Synchronization execuded successfully for node /travel.
2020-05-25 13:50:19,667 DEBUG ynchronization.commands.RestSynchronizationCommand: Synchronization execuded successfully for node /travel/tour-type.
2020-05-25 13:50:20,149 DEBUG ynchronization.commands.RestSynchronizationCommand: Synchronization execuded successfully for node /travel/destination.
2020-05-25 13:50:20,552 DEBUG ynchronization.commands.RestSynchronizationCommand: Synchronization execuded successfully for node /travel/tour.
2020-05-25 13:50:20,568 ERROR info.magnolia.module.scheduler.CommandJob         : Cannot execute command {0}-{1}.
java.lang.NullPointerException: null
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:87) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:124) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:69) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.commands.MgnlCommand.executeSynchronized(MgnlCommand.java:80) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:69) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.module.scheduler.CommandJob.execute(CommandJob.java:110) [magnolia-module-scheduler-2.3.3.jar:?]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]
2020-05-25 13:50:28,426 INFO  info.magnolia.module.scheduler.SchedulerModule    : Job synchonization-20200525-135028425 added [28 50 13 25 05 ? 2020]. Will fire first time at Mon May 25 13:50:28 CEST 2020
2020-05-25 13:50:28,431 DEBUG nchronization.manager.SimpleSynchronizationManager: Synchronization synchonization-20200525-135028425 is now running
2020-05-25 13:50:28,431 INFO  info.magnolia.module.scheduler.CommandJob         : Starting job [synchonization-20200525-135028425]...
2020-05-25 13:50:48,954 ERROR ynchronization.sender.DefaultSynchronizationSender: Synchronization: synchonization-20200525-135028425, error: [WEBAPP: [magnoliaPublic, Operation not permitted, /travel is locked by unfinished transaction.]]
 Message: {1}
info.magnolia.publishing.operation.SendOperation$OperationExecutionException: [WEBAPP: [magnoliaPublic, Operation not permitted, /travel is locked by unfinished transaction.]]
 Message: {1}
	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:139) ~[magnolia-publishing-sender-1.2.jar:?]
	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:75) ~[magnolia-publishing-sender-1.2.jar:?]
	at info.magnolia.publishing.sender.AbstractSender$2.doRun(AbstractSender.java:277) ~[magnolia-publishing-core-1.2.jar:?]
	at info.magnolia.publishing.sender.AbstractSender$Task.run(AbstractSender.java:299) ~[magnolia-publishing-core-1.2.jar:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_181]
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) ~[guava-28.2-jre.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_181]
	at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_181]
2020-05-25 13:50:48,964 ERROR info.magnolia.module.scheduler.CommandJob         : Cannot execute command {0}-{1}.
info.magnolia.publishing.exception.PublicationException: Synchronization failed
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:106) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:69) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.commands.MgnlCommand.executeSynchronized(MgnlCommand.java:80) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:69) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.module.scheduler.CommandJob.execute(CommandJob.java:110) [magnolia-module-scheduler-2.3.3.jar:?]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]
2020-05-25 13:55:41,356 INFO  info.magnolia.module.scheduler.SchedulerModule    : Job synchonization-20200525-135541353 added [41 55 13 25 05 ? 2020]. Will fire first time at Mon May 25 13:55:41 CEST 2020
2020-05-25 13:55:41,362 DEBUG nchronization.manager.SimpleSynchronizationManager: Synchronization synchonization-20200525-135541353 is now running
2020-05-25 13:55:41,364 INFO  info.magnolia.module.scheduler.CommandJob         : Starting job [synchonization-20200525-135541353]...
2020-05-25 13:55:43,266 DEBUG ynchronization.commands.RestSynchronizationCommand: Synchronization execuded successfully for node /travel.
2020-05-25 13:55:43,523 DEBUG ynchronization.commands.RestSynchronizationCommand: Synchronization execuded successfully for node /travel/tour-type.
2020-05-25 13:55:43,817 DEBUG ynchronization.commands.RestSynchronizationCommand: Synchronization execuded successfully for node /travel/destination.
2020-05-25 13:55:44,058 DEBUG ynchronization.commands.RestSynchronizationCommand: Synchronization execuded successfully for node /travel/tour.
2020-05-25 13:55:44,062 ERROR info.magnolia.module.scheduler.CommandJob         : Cannot execute command {0}-{1}.
java.lang.NullPointerException: null
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:87) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:124) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:69) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.commands.MgnlCommand.executeSynchronized(MgnlCommand.java:80) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:69) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.module.scheduler.CommandJob.execute(CommandJob.java:110) [magnolia-module-scheduler-2.3.3.jar:?]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]
2020-05-25 13:57:14,052 INFO  info.magnolia.module.scheduler.SchedulerModule    : Job synchonization-20200525-135714050 added [14 57 13 25 05 ? 2020]. Will fire first time at Mon May 25 13:57:14 CEST 2020
2020-05-25 13:57:14,060 DEBUG nchronization.manager.SimpleSynchronizationManager: Synchronization synchonization-20200525-135714050 is now running
2020-05-25 13:57:14,060 INFO  info.magnolia.module.scheduler.CommandJob         : Starting job [synchonization-20200525-135714050]...
2020-05-25 13:57:34,737 ERROR ynchronization.sender.DefaultSynchronizationSender: Synchronization: synchonization-20200525-135714050, error: [WEBAPP: [magnoliaPublic, Operation not permitted, /travel is locked by unfinished transaction.]]
 Message: {1}
info.magnolia.publishing.operation.SendOperation$OperationExecutionException: [WEBAPP: [magnoliaPublic, Operation not permitted, /travel is locked by unfinished transaction.]]
 Message: {1}
	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:139) ~[magnolia-publishing-sender-1.2.jar:?]
	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:75) ~[magnolia-publishing-sender-1.2.jar:?]
	at info.magnolia.publishing.sender.AbstractSender$2.doRun(AbstractSender.java:277) ~[magnolia-publishing-core-1.2.jar:?]
	at info.magnolia.publishing.sender.AbstractSender$Task.run(AbstractSender.java:299) ~[magnolia-publishing-core-1.2.jar:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_181]
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) ~[guava-28.2-jre.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_181]
	at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_181]
2020-05-25 13:57:34,745 ERROR info.magnolia.module.scheduler.CommandJob         : Cannot execute command {0}-{1}.
info.magnolia.publishing.exception.PublicationException: Synchronization failed
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:106) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:69) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.commands.MgnlCommand.executeSynchronized(MgnlCommand.java:80) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:69) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.module.scheduler.CommandJob.execute(CommandJob.java:110) [magnolia-module-scheduler-2.3.3.jar:?]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]
2020-05-25 14:09:27,880 INFO  info.magnolia.module.scheduler.SchedulerModule    : Job synchonization-20200525-140927877 added [28 09 14 25 05 ? 2020]. Will fire first time at Mon May 25 14:09:28 CEST 2020
2020-05-25 14:09:28,010 DEBUG nchronization.manager.SimpleSynchronizationManager: Synchronization synchonization-20200525-140927877 is now running
2020-05-25 14:09:28,011 INFO  info.magnolia.module.scheduler.CommandJob         : Starting job [synchonization-20200525-140927877]...
2020-05-25 14:09:29,294 DEBUG ynchronization.commands.RestSynchronizationCommand: Synchronization execuded successfully for node /travel.
2020-05-25 14:09:49,386 ERROR ynchronization.sender.DefaultSynchronizationSender: Synchronization: synchonization-20200525-140927877, error: [WEBAPP: [magnoliaPublic, Operation not permitted, /tour-type is locked by unfinished transaction.]]
 Message: {1}
info.magnolia.publishing.operation.SendOperation$OperationExecutionException: [WEBAPP: [magnoliaPublic, Operation not permitted, /tour-type is locked by unfinished transaction.]]
 Message: {1}
	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:139) ~[magnolia-publishing-sender-1.2.jar:?]
	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:75) ~[magnolia-publishing-sender-1.2.jar:?]
	at info.magnolia.publishing.sender.AbstractSender$2.doRun(AbstractSender.java:277) ~[magnolia-publishing-core-1.2.jar:?]
	at info.magnolia.publishing.sender.AbstractSender$Task.run(AbstractSender.java:299) ~[magnolia-publishing-core-1.2.jar:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_181]
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) ~[guava-28.2-jre.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_181]
	at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_181]
2020-05-25 14:09:49,394 ERROR info.magnolia.module.scheduler.CommandJob         : Cannot execute command {0}-{1}.
info.magnolia.publishing.exception.PublicationException: Synchronization failed
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:106) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:124) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:69) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.commands.MgnlCommand.executeSynchronized(MgnlCommand.java:80) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:69) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.module.scheduler.CommandJob.execute(CommandJob.java:110) [magnolia-module-scheduler-2.3.3.jar:?]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]
2020-05-25 14:09:58,890 INFO  info.magnolia.module.scheduler.SchedulerModule    : Job synchonization-20200525-140958890 added [59 09 14 25 05 ? 2020]. Will fire first time at Mon May 25 14:09:59 CEST 2020
2020-05-25 14:09:59,009 DEBUG nchronization.manager.SimpleSynchronizationManager: Synchronization synchonization-20200525-140958890 is now running
2020-05-25 14:09:59,009 INFO  info.magnolia.module.scheduler.CommandJob         : Starting job [synchonization-20200525-140958890]...
2020-05-25 14:10:19,684 ERROR ynchronization.sender.DefaultSynchronizationSender: Synchronization: synchonization-20200525-140958890, error: [WEBAPP: [magnoliaPublic, Operation not permitted, /travel is locked by unfinished transaction.]]
 Message: {1}
info.magnolia.publishing.operation.SendOperation$OperationExecutionException: [WEBAPP: [magnoliaPublic, Operation not permitted, /travel is locked by unfinished transaction.]]
 Message: {1}
	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:139) ~[magnolia-publishing-sender-1.2.jar:?]
	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:75) ~[magnolia-publishing-sender-1.2.jar:?]
	at info.magnolia.publishing.sender.AbstractSender$2.doRun(AbstractSender.java:277) ~[magnolia-publishing-core-1.2.jar:?]
	at info.magnolia.publishing.sender.AbstractSender$Task.run(AbstractSender.java:299) ~[magnolia-publishing-core-1.2.jar:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_181]
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) ~[guava-28.2-jre.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_181]
	at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_181]
2020-05-25 14:10:19,689 ERROR info.magnolia.module.scheduler.CommandJob         : Cannot execute command {0}-{1}.
info.magnolia.publishing.exception.PublicationException: Synchronization failed
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:106) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:69) ~[magnolia-synchronization-rest-1.9-beta2.jar:?]
	at info.magnolia.commands.MgnlCommand.executeSynchronized(MgnlCommand.java:80) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:69) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.module.scheduler.CommandJob.execute(CommandJob.java:110) [magnolia-module-scheduler-2.3.3.jar:?]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]
Comment by Richard Gange [ 25/May/20 ]

We need to make our test case more robust. Publishing a single node isn't enough.

Comment by Richard Gange [ 28/May/20 ]

After fixing MGNLSYNC-44 and rerunning the travel demo test I have (on the first run):

2020-05-28 13:40:29,882 INFO  info.magnolia.module.scheduler.SchedulerModule    : Job synchronization-20200528-134029878 added [30 40 13 28 05 ? 2020]. Will fire first time at Thu May 28 13:40:30 CEST 2020
2020-05-28 13:40:30,026 INFO  info.magnolia.module.scheduler.CommandJob         : Starting job [synchronization-20200528-134029878]...
2020-05-28 13:40:33,472 WARN  ynchronization.commands.RestSynchronizationCommand: No versions found for node /travel/stories. Removing mixin hasVersion.
2020-05-28 13:40:33,760 WARN  ynchronization.commands.RestSynchronizationCommand: No versions found for node /travel/stories/story. Removing mixin hasVersion.
2020-05-28 13:40:37,447 INFO  ynchronization.commands.RestSynchronizationCommand: Skipping activation of modified not versioned node node /travel/book-tour
2020-05-28 13:40:37,509 ERROR ynchronization.sender.DefaultSynchronizationSender: Synchronization: synchronization-20200528-134029878, error: [WEBAPP: [magnoliaPublic, Operation not permitted, /travel/book-tour is locked]]
 Message: {1}
info.magnolia.publishing.operation.SendOperation$OperationExecutionException: [WEBAPP: [magnoliaPublic, Operation not permitted, /travel/book-tour is locked]]
 Message: {1}
	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:139) ~[magnolia-publishing-sender-1.2.jar:?]
	at info.magnolia.publishing.sender.operation.HttpPublicationOperation.execute(HttpPublicationOperation.java:75) ~[magnolia-publishing-sender-1.2.jar:?]
	at info.magnolia.publishing.sender.AbstractSender$2.doRun(AbstractSender.java:277) ~[magnolia-publishing-core-1.2.jar:?]
	at info.magnolia.publishing.sender.AbstractSender$Task.run(AbstractSender.java:299) ~[magnolia-publishing-core-1.2.jar:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_181]
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) ~[guava-28.2-jre.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_181]
	at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_181]
2020-05-28 13:40:37,528 ERROR info.magnolia.module.scheduler.CommandJob         : Cannot execute command {0}-{1}.
info.magnolia.publishing.exception.PublicationException: Synchronization failed
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:113) ~[magnolia-synchronization-rest-1.9-SNAPSHOT.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:131) ~[magnolia-synchronization-rest-1.9-SNAPSHOT.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:131) ~[magnolia-synchronization-rest-1.9-SNAPSHOT.jar:?]
	at info.magnolia.synchronization.commands.RestSynchronizationCommand.execute(RestSynchronizationCommand.java:69) ~[magnolia-synchronization-rest-1.9-SNAPSHOT.jar:?]
	at info.magnolia.commands.MgnlCommand.executeSynchronized(MgnlCommand.java:80) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:69) ~[magnolia-core-6.2.jar:?]
	at info.magnolia.module.scheduler.CommandJob.execute(CommandJob.java:110) [magnolia-module-scheduler-2.3.3.jar:?]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]

In this case I have an unactivated child node with modified parent node.

Comment by Richard Gange [ 28/May/20 ]

So we need another way to handle a modified not versioned node. Maybe we need to scan for these types of node before syncing.

If they are found we could:

  • Throw an error and abort the sync.
  • Create a version and warn.
  • Send the page node without any data.

I don't have a good solution. Users should understand that a healthy version history is required for a successful sync. So update the docs?

Comment by Simon Lutz [ 02/Jun/20 ]

This ticket covers the issue with synchronizing the same node more than once.

The related issue regarding the synchronization strategy for new nodes is covered here: MGNLSYNC-45.

Generated at Mon Feb 12 07:39:18 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.