[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: Text File 200807_magnolia-debug (1)-1.log     Text File 200807_magnolia-debug (1).log     Text File 200807_magnolia-debug-1-1.log     Text File 200807_magnolia-debug-1.log     Text File 200807_magnolia-error-1-1.log     Text File 200807_magnolia-error-1.log     Text File 200807_magnolia-error-2-1.log     Text File 200807_magnolia-error-2.log     Text File 200807_magnolia-error-3.log     Text File 200807_magnolia-error.log     XML File 200807_website.LiveCopyTest.xml     XML File 200807_website.LiveCopyTest1.xml     File listContainer.yaml     Text File magnolia-debug-1.log     Text File magnolia-debug.log     Text File magnolia-error.log     File magnolia-livecopy-3.1.2-SNAPSHOT.jar     Zip Archive rittal-base.zip     Zip Archive rittal-component-updated.zip     Zip Archive rittal-component.zip    
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. Unfortunately, I'm unable to reproduce the issue. I've created 3 different components: link, teaser and footerLinkList, but relink action works fine.

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 and let me know the result and provide the appropriate logs.

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. 

200807_magnolia-debug (1).log

200807_magnolia-debug-1.log

200807_magnolia-error-1.log

200807_magnolia-error-2.log

200807_magnolia-error.log

 

 

 

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,
Mercedes

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
https://documentation.magnolia-cms.com/display/DOCS62/Live+Copy+module#LiveCopymodule-LiveCopy3.2Bluecomingsoon

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
Arne 

 

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
Arne 

 

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

 
Generated at Mon Feb 12 02:26:36 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.