We're running a patched version of the Jackrabbit Server bundle
(o.a.s.jcr.jr.server) 2.0.6, where we have upgraded the Jackrabbit
bundles to 1.6.2.This in order to get a fix for the nasty JCR-2554
bug, which was crashing our application daily.

Now we have an issue with initial loading of files:
08.06.2010 20:12:33.786 *ERROR* [Background Update kolibri-files (42)]
org.apache.sling.jcr.contentloader.internal.Loader Cannot load initial
content for bundle kolibri-files : no matching property definition
found for {http://www.jcp.org/jcr/1.0}lastModified
javax.jcr.nodetype.ConstraintViolationException: no matching property
definition found for {http://www.jcp.org/jcr/1.0}lastModified
        at 
org.apache.jackrabbit.core.nodetype.EffectiveNodeType.getApplicablePropertyDef(EffectiveNodeType.java:770)
        at 
org.apache.jackrabbit.core.NodeImpl.getApplicablePropertyDefinition(NodeImpl.java:911)
        at 
org.apache.jackrabbit.core.ItemManager.getDefinition(ItemManager.java:224)
        at org.apache.jackrabbit.core.ItemData.getDefinition(ItemData.java:97)
        at 
org.apache.jackrabbit.core.PropertyData.getPropertyDefinition(PropertyData.java:53)
        at 
org.apache.jackrabbit.core.PropertyImpl.getDefinition(PropertyImpl.java:729)
        at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:2512)
        at 
org.apache.sling.jcr.contentloader.internal.DefaultContentCreator.createProperty(DefaultContentCreator.java:435)
        at 
org.apache.sling.jcr.contentloader.internal.DefaultContentCreator.createFileAndResourceNode(DefaultContentCreator.java:659)
        at 
org.apache.sling.jcr.contentloader.internal.Loader.createFile(Loader.java:576)
        at 
org.apache.sling.jcr.contentloader.internal.Loader.handleFile(Loader.java:462)
        at 
org.apache.sling.jcr.contentloader.internal.Loader.installFromPath(Loader.java:409)
        at 
org.apache.sling.jcr.contentloader.internal.Loader.installFromPath(Loader.java:404)
        at 
org.apache.sling.jcr.contentloader.internal.Loader.installContent(Loader.java:275)
        at 
org.apache.sling.jcr.contentloader.internal.Loader.registerBundleInternal(Loader.java:183)
        at 
org.apache.sling.jcr.contentloader.internal.Loader.registerBundle(Loader.java:122)
        at 
org.apache.sling.jcr.contentloader.internal.ContentLoaderService.bundleChanged(ContentLoaderService.java:146)
        at 
org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:800)

The problem seems to be that the createFileAndResourceNode method
attempts to create a nt:resource node, and set the jcr:lastModified
property to a Long value, whereas the jcr:lastModified property is
defined as a Date.

But this definition hasn't changed between Jackrabbit 1.6.0 and 1.6.2.

So why does this suddenly break? And, perhaps more interesting, why
did it work in the first place?

[1] https://issues.apache.org/jira/browse/JCR-2554

-- 
Vidar S. Ramdal <vi...@idium.no> - http://www.idium.no
Sommerrogata 13-15, N-0255 Oslo, Norway
+ 47 22 00 84 00 / +47 22 00 84 76
Quando omni flunkus moritatus!

Reply via email to