[LIVECOPY-217] Live-Copy-Relink does not work Created: 30/Jul/20 Updated: 20/Aug/20 Resolved: 18/Aug/20 |
|
| Status: | Closed |
| Project: | Live Copy |
| Component/s: | None |
| Affects Version/s: | 3.1.1 |
| Fix Version/s: | 3.1.2, 3.2 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Arne Gerstaedt | Assignee: | Andrei Ichimescu |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | maintenance | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| 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
|
| Date of First Response: | |
| Epic Link: | Ext DAMs maintenance & partnership support |
| Sprint: | Maintenance 20 |
| Story Points: | 5 |
| Description |
|
PROJECT RITTAL / HENKELHIEDL **The Live-Copy-Relink-Function deson't seem to work properly. Despite the fact that we created multiple live copy for different languages from a "source_tree" - every link inside of those live copy directs to the source tree, and not to the related site. Further Explanations have been given on 29.th July to JAN SCHULE and JESUS ALONSO. Please find attached reuqested components. |
| Comments |
| Comment by Jesus Alonso [ 04/Aug/20 ] |
|
Hello Arne_Gerstaedt, I've been able to make the rittal-component light module works. I'm attaching the updated version here -> rittal-component-updated.zip I kindly ask you to try to reproduce the issue with the attached light module version. If you are able to reproduce it, please let me know how to proceed. On the other hand, from your existing installation, please provide the log file after reproducing the issue. Unfortunately in the attached log file there is anything related to relinking. It should appear messages like "rewritePageLinks on XXX". Please make sure to clean the log file before reproducing the error. |
| Comment by Arne Gerstaedt [ 05/Aug/20 ] |
|
Dear @Jesus Alonso,
I just updated the ticket with a recent magnolia-debug_log-1. Theres some stuff form the server-start involved. We testet everything with our components from the /de and then with your components /LiveCopyTest. Unfortunately with the same result as before. |
| Comment by Jesus Alonso [ 05/Aug/20 ] |
|
Hello Arne_Gerstaedt Checking the logs it seems there are a lot of missing references as you can see. Unfortunately, you executed this test without the jar we provided to you, which contains more logs and would help us identify the root case of the issue. It would be great if you could repeat the test but with the 3.1.2-SNAPSHOT jar. Notice it should appear messages like "rewritePageLinks on XXX". Notice the final error is Exception trying to access node with identifier: 'b2d0babb-ab9f-428e-b5e5-0889271c379e' in workspace: 'website' In parallel maybe you could try to find out where is this reference. Finally, if you are able to reproduce the error with our modified light module, I would request you to provide us an export of the data to try to reproduce the issue locally, that would help a lot of find out where the problem is. |
| Comment by Jesus Alonso [ 05/Aug/20 ] |
|
Hello Arne_Gerstaedt While I think it is import to identify why there are missing references, here it is a new jar that should make the relink operation be completed (while maybe failing on some pages). It also contains more logs to identify the root cause. Please execute the test with the attached jar -> magnolia-livecopy-3.1.2-SNAPSHOT.jar Thanks in advance! |
| Comment by Jesus Alonso [ 06/Aug/20 ] |
|
Hello again Arne_Gerstaedt, I think I could have identified the root cause of the issue. I've been able to reproduce the problem when a copy site has a page with an invalid or missing reference to the master. For instance, something like this: - master - copy - child
With this structure and executing a "Relink all pages ..." from copy node, you get this exception which I think is the same than the one in your logs. 020-08-06 10:06:15,007 ERROR info.magnolia.jcr.util.SessionUtil : Exception trying to access node with identifier: 'b28078e3-dd16-4af3-8c75-52387a32dd22' in workspace: 'website'020-08-06 10:06:15,007 ERROR info.magnolia.jcr.util.SessionUtil : Exception trying to access node with identifier: 'b28078e3-dd16-4af3-8c75-52387a32dd22' in workspace: 'website'javax.jcr.ItemNotFoundException: b28078e3-dd16-4af3-8c75-52387a32dd22 at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:384) ~[jackrabbit-core-2.20.0.jar:2.20.0] at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:328) ~[jackrabbit-core-2.20.0.jar:2.20.0] at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:621) ~[jackrabbit-core-2.20.0.jar:2.20.0] at org.apache.jackrabbit.core.SessionImpl.getNodeById(SessionImpl.java:538) ~[jackrabbit-core-2.20.0.jar:2.20.0] at org.apache.jackrabbit.core.SessionImpl.getNodeByIdentifier(SessionImpl.java:1142) ~[jackrabbit-core-2.20.0.jar:2.20.0] at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.jcr.util.SessionUtil.getNodeByIdentifier(SessionUtil.java:128) ~[magnolia-core-6.2.2.jar:?] at info.magnolia.livecopy.jcr.LiveCopyUtils.getMasterNode(LiveCopyUtils.java:295) ~[magnolia-livecopy-3.2-SNAPSHOT.jar:?] at info.magnolia.livecopy.actions.rewire.RewirePageLinksHelper.rewritePageLinks(RewirePageLinksHelper.java:54) ~[magnolia-livecopy-3.2-SNAPSHOT.jar:?] at info.magnolia.livecopy.actions.RewirePageLinksAction.onSuccess(RewirePageLinksAction.java:103) ~[magnolia-livecopy-3.2-SNAPSHOT.jar:?] at info.magnolia.livecopy.actions.RewirePageLinksAction.lambda$process$0(RewirePageLinksAction.java:87) ~[magnolia-livecopy-3.2-SNAPSHOT.jar:?] at java.util.Optional.ifPresent(Optional.java:159) ~[?:1.8.0_231] at info.magnolia.ui.AlertBuilder.lambda$build$ccff1191$1(AlertBuilder.java:182) ~[magnolia-ui-framework-6.2.2.jar:?] at sun.reflect.GeneratedMethodAccessor944.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_231] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_231]
Anyway, we could confirm whether this is the case or not with the logs when you repeat the test. |
| Comment by Arne Gerstaedt [ 06/Aug/20 ] |
|
@Jesus Alonso, thank you very much. I forwarded everything to our development - team. |
| Comment by Arne Gerstaedt [ 06/Aug/20 ] |
|
@Jesus Alonso, I just uploaded the latest DEBUG LOG [^200806_magnolia-debug.log] |
| Comment by Jesus Alonso [ 06/Aug/20 ] |
|
Hello Arne_Gerstaedt, unfortunately I don't see any of the new logs I added in the last versions. Could you please ensure you are using the correct version and repeat the test? Notice it should appear messages like "rewritePageLinks on XXX", otherwise it means you are using a wrong version of the jar. On the other hand, would it be possible to export the data to try to investigate in parallel the issue? |
| Comment by Arne Gerstaedt [ 07/Aug/20 ] |
|
@Jesus,
ok, next round. We run the next test to make sure, the latest jar is included, and will provide the log afterwards. Meanwhile i attached two XML files from test trees, so you might have a look if me missed something here. 200807_website.LiveCopyTest.xml 200807_website.LiveCopyTest1.xml Nevertheless I think an additional Meeting is necessary soon, so we might have another look at the environment together, but I'll contact Tatjana for that and let you know. |
| Comment by Arne Gerstaedt [ 07/Aug/20 ] |
|
@Jesus, Here are our latest Logs.
|
| Comment by Mercedes Iruela [ 11/Aug/20 ] |
|
Hi Arne, This tickets has been marked as a bug and will be tackled by our development team as soon as possible. We will let you know about progress on it. Regards, |
| Comment by Andrei Ichimescu [ 14/Aug/20 ] |
|
Hello Arne Gerstädt, My name is Andrei, and while Jesus is on vacation, I took over this issue. While I'm investigating the problem further, in order to speed up the process, I have a request for you: Can you create a minimal website with some links, then create a live-copy slave and retry the relinking? Please tell me if the problem is still reproducing under this minimalistic scenario, and if you can attach some logs, that would be very helpful.
Thank you
|
| Comment by Arne Gerstaedt [ 17/Aug/20 ] |
|
Hey Andrei, thank you very much for picking up the issues. The procedure you suggested has already been tested unfortunately without success. The relevant logs are the ones provided on August 7th. best regards |
| Comment by Andrei Ichimescu [ 18/Aug/20 ] |
|
The fix consists in a better error handling. As the live-copy module doesn't enforce a strict relation between master nodes and live-slaves (master nodes can be removed by the user), we have to ignore the invalid slave nodes (that do not have a master node, or the masterContentIdentifier property is missing). The fix is applied for the “relink” and the “Pushing content from master to live copy pages” actions. |
| Comment by Federico Grilli [ 19/Aug/20 ] |
|
mdrapela/docuteam - not sure how you handle release notes in this case but I guess this deserves a mention |
| Comment by Martin Drápela [ 19/Aug/20 ] |
|
Will be mentioned here when released, fgrilli: |
| Comment by Arne Gerstaedt [ 19/Aug/20 ] |
|
Hey Andrej, thank you for your answer. You wrote something about the fix, but i cannot find any new uploads to the ticket. (Last files were uploaded by me on 7th. August) Have i missed something? Best
|
| Comment by Andrei Ichimescu [ 19/Aug/20 ] |
|
Hi Arne, You did not miss anything. The fix is in our 3.2 branch and also in the 3.1.x branch. A snapshot version available here: https://nexus.magnolia-cms.com/content/repositories/magnolia.addons.snapshots/info/magnolia/livecopy/magnolia-livecopy/3.1.2-SNAPSHOT/magnolia-livecopy-3.1.2-20200818.124841-15.jar . The fix is usually provided to the customers at the next release. However, due to the urgency of the situation, you can contact the support team for either a patch or for the snapshot version. Because of security reasons, I cannot upload the livecopy jar. Thank you for understanding, Andrei |
| Comment by Andrei Ichimescu [ 19/Aug/20 ] |
|
Please note that I have released the patched version of live copy. The jar can be found here https://nexus.magnolia-cms.com/content/repositories/magnolia.addons.releases/info/magnolia/livecopy/magnolia-livecopy/3.1.2-LIVECOPY-217/magnolia-livecopy-3.1.2-LIVECOPY-217.jar |
| Comment by Arne Gerstaedt [ 19/Aug/20 ] |
|
@Andrei,
ah, thank you so much. But for downloading the jar (in your second link) i've to register to customer support anyway, haven't I? I'll write them immediately.
Best
|
| Comment by Arne Gerstaedt [ 19/Aug/20 ] |
|
So, as discussed in the Meeting today, the latest bugfix does not seem to work. But we think we've found the spot where the trouble starts :
transformerClass: info.magnolia.ui.form.field.transformer.composite.DelegatingCompositeFieldTransforme # This defintion is shared by some components and is included e.g. in link.yaml and teaser.yaml name: linkType class: info.magnolia.ui.form.field.definition.SwitchableFieldDefinition transformerClass: info.magnolia.ui.form.field.transformer.composite.DelegatingCompositeFieldTransformer required: false selectionType: radio type: String options: - name: page label: rittal-base.be.components.teaser.page selected: true value: page - name: external label: rittal-base.be.components.teaser.external selected: false value: external - name: noLink label: rittal-base.be.components.teaser.noLink selected: false value: noLink fields: - name: page class: info.magnolia.ui.form.field.definition.LinkFieldDefinition targetWorkspace: website appName: pages identifierToPathConverter: class: info.magnolia.ui.form.field.converter.BaseIdentifierToPathConverter type: String required: false - name: external fieldType: composite layout: vertical i18n: true fields: - name: link label: rittal-base.be.components.teaser.link fieldType: text type: String i18n: true - name: target label: rittal-base.be.components.teaser.target fieldType: checkbox defaultValue: true buttonLabel: rittal-base.be.components.teaser.target.button i18n: false |