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!