[MGNLDAM-528] Error when updating assets in DAM preventing the installation of Magnolia 5.3.5 Created: 09/Dec/14  Updated: 06/Jul/18  Resolved: 06/Jul/18

Status: Closed
Project: Magnolia DAM Module
Component/s: DAM App
Affects Version/s: 2.0.5
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Gareth Williams Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
duplicate
duplicates MGNLDAM-491 Update to mgnl 5.3.1 fails if there i... 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

 Description   

When running the update tasks from Magnolia 5.2.x to Magnolia 5.3.5 the following error occurs

Magnolia DAM App (version 2.0.5)
Error while installing or updating dam-app module. Task 'Update the Asset fileName property' failed. (NullPointerException: )

This error stops the installation process. Upon restarting magnolia the following error occurs

Magnolia DAM App (version 2.0.5)
Error while installing or updating dam-app module. Task 'Bootstrap' failed. (ItemExistsException: a node with uuid 018254f6-471e-4e59-b853-c0262c23247e already exists!)

This prevents me from restarting magnolia.

The root cause of this error is that the JCR has some deleted assets but the deletion has not yet been published. As a result the call to AssetNodeTypes.AssetResource.getResourceNodeFromAsset(asset) line 93 of UpdateDamAssetFileNamePropertiesTask returns null causing the null pointer.

Some additional null checking is required in the UpdateDamAssetFileNamePropertiesTask.

See stacktrace below.

java.lang.NullPointerException
at info.magnolia.dam.app.setup.for2_0.UpdateDamAssetFileNamePropertiesTask$DamFileNamePropertyVisitor.visit(UpdateDamAssetFileNamePropertiesTask.java:93)
at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:656)
at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:658)
at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:651)
at info.magnolia.dam.app.setup.for2_0.UpdateDamAssetFileNamePropertiesTask.execute(UpdateDamAssetFileNamePropertiesTask.java:70)
at info.magnolia.module.ModuleManagerImpl.applyDeltas(ModuleManagerImpl.java:514)
at info.magnolia.module.ModuleManagerImpl.installOrUpdateModule(ModuleManagerImpl.java:496)
at info.magnolia.module.ModuleManagerImpl$1.doExec(ModuleManagerImpl.java:274)
at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:414)
at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:411)
at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:385)
at info.magnolia.module.ModuleManagerImpl.performInstallOrUpdate(ModuleManagerImpl.java:268)
at info.magnolia.module.ui.ModuleManagerWebUI$2.run(ModuleManagerWebUI.java:124)
at java.lang.Thread.run(Thread.java:744)
2014-12-09 09:16:09,406 ERROR info.magnolia.module.ui.ModuleManagerWebUI : Could not perform installation: null
java.lang.NullPointerException
at info.magnolia.dam.app.setup.for2_0.UpdateDamAssetFileNamePropertiesTask$DamFileNamePropertyVisitor.visit(UpdateDamAssetFileNamePropertiesTask.java:93)
at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:656)
at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:658)
at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:651)
at info.magnolia.dam.app.setup.for2_0.UpdateDamAssetFileNamePropertiesTask.execute(UpdateDamAssetFileNamePropertiesTask.java:70)
at info.magnolia.module.ModuleManagerImpl.applyDeltas(ModuleManagerImpl.java:514)
at info.magnolia.module.ModuleManagerImpl.installOrUpdateModule(ModuleManagerImpl.java:496)
at info.magnolia.module.ModuleManagerImpl$1.doExec(ModuleManagerImpl.java:274)
at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:414)
at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:411)
at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:385)
at info.magnolia.module.ModuleManagerImpl.performInstallOrUpdate(ModuleManagerImpl.java:268)
at info.magnolia.module.ui.ModuleManagerWebUI$2.run(ModuleManagerWebUI.java:124)
at java.lang.Thread.run(Thread.java:744)
2014-12-09 09:16:09,406 ERROR info.magnolia.module.InstallContextImpl : > Could not perform installation: null
java.lang.NullPointerException
at info.magnolia.dam.app.setup.for2_0.UpdateDamAssetFileNamePropertiesTask$DamFileNamePropertyVisitor.visit(UpdateDamAssetFileNamePropertiesTask.java:93)
at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:656)
at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:658)
at info.magnolia.jcr.util.NodeUtil.visit(NodeUtil.java:651)
at info.magnolia.dam.app.setup.for2_0.UpdateDamAssetFileNamePropertiesTask.execute(UpdateDamAssetFileNamePropertiesTask.java:70)
at info.magnolia.module.ModuleManagerImpl.applyDeltas(ModuleManagerImpl.java:514)
at info.magnolia.module.ModuleManagerImpl.installOrUpdateModule(ModuleManagerImpl.java:496)
at info.magnolia.module.ModuleManagerImpl$1.doExec(ModuleManagerImpl.java:274)
at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:414)
at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:411)
at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:385)
at info.magnolia.module.ModuleManagerImpl.performInstallOrUpdate(ModuleManagerImpl.java:268)
at info.magnolia.module.ui.ModuleManagerWebUI$2.run(ModuleManagerWebUI.java:124)
at java.lang.Thread.run(Thread.java:744)


Generated at Mon Feb 12 05:00:44 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.