[MAGNOLIA-3985] primaryItemType set on mgnl:resource (in custom_nodetypes.xml) prevents application from being able to start up repo Created: 29/Feb/12  Updated: 16/Jul/12  Resolved: 29/Feb/12

Status: Closed
Project: Magnolia
Component/s: None
Affects Version/s: 4.5
Fix Version/s: 4.5

Type: Bug Priority: Critical
Reporter: Daniel Lipp Assignee: Daniel Lipp
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
relation
is related to MAGNOLIA-2988 Preliminary support for jackrabbit 2 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
Date of First Response:

 Description   

2012-02-29 09:24:11,872 ERROR org.apache.jackrabbit.core.RepositoryImpl : failed to start Repository: internal error: invalid custom node type definition stored in /nodetypes/custom_nodetypes.xml
javax.jcr.RepositoryException: internal error: invalid custom node type definition stored in /nodetypes/custom_nodetypes.xml
at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.<init>(NodeTypeRegistry.java:787)
at org.apache.jackrabbit.core.RepositoryImpl.createNodeTypeRegistry(RepositoryImpl.java:425)
at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:295)
at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:605)
at org.apache.jackrabbit.core.jndi.BindableRepository.createRepository(BindableRepository.java:141)
at org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:117)
at org.apache.jackrabbit.core.jndi.BindableRepository.<init>(BindableRepository.java:106)
at org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.getObjectInstance(BindableRepositoryFactory.java:52)
at org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(RegistryHelper.java:74)
at info.magnolia.jackrabbit.ProviderImpl.init(ProviderImpl.java:214)
at info.magnolia.repository.DefaultRepositoryManager.loadRepository(DefaultRepositoryManager.java:185)
at info.magnolia.repository.DefaultRepositoryManager.loadRepositories(DefaultRepositoryManager.java:171)
at info.magnolia.repository.DefaultRepositoryManager.init(DefaultRepositoryManager.java:85)
at info.magnolia.cms.beans.config.ContentRepository.init(ContentRepository.java:143)
at info.magnolia.cms.beans.config.ConfigLoader.load(ConfigLoader.java:141)
at info.magnolia.init.MagnoliaServletContextListener$1.doExec(MagnoliaServletContextListener.java:276)
at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:430)
at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:427)
at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:390)
at info.magnolia.init.MagnoliaServletContextListener.startServer(MagnoliaServletContextListener.java:273)
at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:200)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.apache.jackrabbit.core.nodetype.InvalidNodeTypeDefException: [

{http://www.magnolia.info/jcr/mgnl}

resource] primaryItemName is already specified by a supertype and must therefore not be overridden.
at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.validateNodeTypeDef(NodeTypeRegistry.java:1500)
at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.internalRegister(NodeTypeRegistry.java:1303)
at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.internalRegister(NodeTypeRegistry.java:1249)
at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.<init>(NodeTypeRegistry.java:781)
... 44 more



 Comments   
Comment by Daniel Lipp [ 29/Feb/12 ]

JCR 2.0 does no longer accept setting the primaryItemType for nodeType "mgnl:resource" - this is obsolete anyway, as it'll be inherited from the super type "nt:resource"

Comment by Daniel Lipp [ 29/Feb/12 ]

Jackrabbit 2.0 does no longer support it - see MAGNOLIA-2988.

-> simply set primaryItemType="" for mgnl:resource

Comment by Edgar Vonk [ 16/Jul/12 ]

We ran into this issue while upgrading our Magnolia implementation from 4.4.6 to 4.5.3. I think the information in this JIRA issue and in the upgrade documentation is wrong?

The solution in our case anyway was not to set the primaryItemType to an empty string (this did not solve anything) but instead to remove the primaryItemName for nodeType 'mgnl:resource'. If I understand it correctly this is also what is said in MAGNOLIA-2988?

If what I say is correct could you update the upgrade documentation accordingly? Cheers.

Generated at Mon Feb 12 03:51:34 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.