log: WARN ItemStateMap overwriting map entry
Hi, I've just updated Sling, started, stopped and started again Sling standalone and see several 100 lines of 24.02.2010 16:11:48.732 *WARN* [SCR Component Actor] org.apache.jackrabbit.core.state.ItemStateMap overwriting map entry b43a5b0e-27e7-ecd6-88fa-5a6d238bf879 24.02.2010 16:11:48.732 *WARN* [SCR Component Actor] org.apache.jackrabbit.core.state.ItemStateMap overwriting map entry 436d46a1-654d-e70e-c322-16a108f3893d 24.02.2010 16:11:48.733 *WARN* [SCR Component Actor] org.apache.jackrabbit.core.state.ItemStateMap overwriting map entry 57b3843e-71c9-27d2-50a8-96232516bfc7 in the log. Is the the update to JR2 still in progress and should I just way a few days? Marc
Re: NoClassDefFoundError in start-up log
https://issues.apache.org/jira/browse/SLING-1327 On Tue, Jan 26, 2010 at 9:14 AM, Felix Meschberger fmesc...@gmail.comwrote: Hi Marc, This looks like the RMI registry support cannot be started in the new Jackrabbit 1.6 binding. Unless you need the RMI binding, this has no influence on the functionality. Yep, I found it when I wanted to debug something in the repository with the Eclipse plugin... Cheers, Marc Would you mind reporting an issue ? Thanks alot. Regards Felix On 25.01.2010 20:53, Marc Speck wrote: I've just checked-out and compiled Sling from the repository and got the error log below. Is this a known bug or is anything wrong on my side? Marc 25.01.2010 20:43:23.727 *ERROR* [SCR Component Actor] org.apache.felix.scr Unexpected problem executing task Enable Component: org.apache.sling.jcr.jackrabbit.server.RmiRegistrationSupport (5) (java.lang.NoClassDefFoundError: org/apache/jackrabbit/rmi/server/RemoteAdapterFactory) java.lang.NoClassDefFoundError: org/apache/jackrabbit/rmi/server/RemoteAdapterFactory at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:183) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:991) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:298) at org.apache.felix.scr.impl.manager.AbstractComponentManager$1.doRun(AbstractComponentManager.java:138) at org.apache.felix.scr.impl.ComponentActivatorTask.run(ComponentActivatorTask.java:67) at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:96) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.jackrabbit.rmi.server.RemoteAdapterFactory at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:744) at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:61) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1656) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 13 mor
Re: NoClassDefFoundError in start-up log
Hi Felix, I've updated to 903202 and NoClassDefFoundError is gone, thanks a lot for fixing so quickly! Now I run into an other issue with closed sessions which sounds like [1] [2]. It happens randomly when our integration tests run but seldom in the same classes. Maybe the traces below help resolving the Jira issues. Cheers, Marc 1. https://issues.apache.org/jira/browse/SLING-1272 2. https://issues.apache.org/jira/browse/SLING-1283 javax.jcr.RepositoryException: this session has been closed at org.apache.jackrabbit.core.SessionImpl.sanityCheck(SessionImpl.java:375) at org.apache.jackrabbit.core.SessionImpl.hasPendingChanges(SessionImpl.java:869) at org.apache.sling.jcr.base.internal.PooledSession.hasPendingChanges(PooledSession.java:213) javax.jcr.RepositoryException: this session has been closed at org.apache.jackrabbit.core.SessionImpl.sanityCheck(SessionImpl.java:375) at org.apache.jackrabbit.core.ItemImpl.sanityCheck(ItemImpl.java:137) at org.apache.jackrabbit.core.NodeImpl.addMixin(NodeImpl.java:997) at org.apache.jackrabbit.core.NodeImpl.addMixin(NodeImpl.java:2779) javax.jcr.RepositoryException: this session has been closed at org.apache.jackrabbit.core.SessionImpl.sanityCheck(SessionImpl.java:375) at org.apache.jackrabbit.core.ItemImpl.sanityCheck(ItemImpl.java:137) at org.apache.jackrabbit.core.ItemImpl.getPath(ItemImpl.java:1272) On Tue, Jan 26, 2010 at 10:20 AM, Felix Meschberger fmesc...@gmail.comwrote: Hi, On 26.01.2010 09:56, Marc Speck wrote: https://issues.apache.org/jira/browse/SLING-1327 Thanks. Regards Felix On Tue, Jan 26, 2010 at 9:14 AM, Felix Meschberger fmesc...@gmail.com wrote: Hi Marc, This looks like the RMI registry support cannot be started in the new Jackrabbit 1.6 binding. Unless you need the RMI binding, this has no influence on the functionality. Yep, I found it when I wanted to debug something in the repository with the Eclipse plugin... Cheers, Marc Would you mind reporting an issue ? Thanks alot. Regards Felix On 25.01.2010 20:53, Marc Speck wrote: I've just checked-out and compiled Sling from the repository and got the error log below. Is this a known bug or is anything wrong on my side? Marc 25.01.2010 20:43:23.727 *ERROR* [SCR Component Actor] org.apache.felix.scr Unexpected problem executing task Enable Component: org.apache.sling.jcr.jackrabbit.server.RmiRegistrationSupport (5) (java.lang.NoClassDefFoundError: org/apache/jackrabbit/rmi/server/RemoteAdapterFactory) java.lang.NoClassDefFoundError: org/apache/jackrabbit/rmi/server/RemoteAdapterFactory at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:183) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:991) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:298) at org.apache.felix.scr.impl.manager.AbstractComponentManager$1.doRun(AbstractComponentManager.java:138) at org.apache.felix.scr.impl.ComponentActivatorTask.run(ComponentActivatorTask.java:67) at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:96) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.jackrabbit.rmi.server.RemoteAdapterFactory at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:744) at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:61) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1656) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 13 mor
Re: NoClassDefFoundError in start-up log
Hi Felix, Have you tried setting the Maximum Idle Sessions (pool.maxIdle) property of the repository configuration to 0 (zero) to disable session pooling ? oh my, I set maxIdle=0 but nothing changed. After poking around for half an hour I remembered that the console is full of traps... I changed the setting in the first Repository entry but I should have changed the running instance... All fine now, thanks for the hint, Marc Regards Felix Cheers, Marc 1. https://issues.apache.org/jira/browse/SLING-1272 2. https://issues.apache.org/jira/browse/SLING-1283 javax.jcr.RepositoryException: this session has been closed at org.apache.jackrabbit.core.SessionImpl.sanityCheck(SessionImpl.java:375) at org.apache.jackrabbit.core.SessionImpl.hasPendingChanges(SessionImpl.java:869) at org.apache.sling.jcr.base.internal.PooledSession.hasPendingChanges(PooledSession.java:213) javax.jcr.RepositoryException: this session has been closed at org.apache.jackrabbit.core.SessionImpl.sanityCheck(SessionImpl.java:375) at org.apache.jackrabbit.core.ItemImpl.sanityCheck(ItemImpl.java:137) at org.apache.jackrabbit.core.NodeImpl.addMixin(NodeImpl.java:997) at org.apache.jackrabbit.core.NodeImpl.addMixin(NodeImpl.java:2779) javax.jcr.RepositoryException: this session has been closed at org.apache.jackrabbit.core.SessionImpl.sanityCheck(SessionImpl.java:375) at org.apache.jackrabbit.core.ItemImpl.sanityCheck(ItemImpl.java:137) at org.apache.jackrabbit.core.ItemImpl.getPath(ItemImpl.java:1272) On Tue, Jan 26, 2010 at 10:20 AM, Felix Meschberger fmesc...@gmail.com wrote: Hi, On 26.01.2010 09:56, Marc Speck wrote: https://issues.apache.org/jira/browse/SLING-1327 Thanks. Regards Felix On Tue, Jan 26, 2010 at 9:14 AM, Felix Meschberger fmesc...@gmail.com wrote: Hi Marc, This looks like the RMI registry support cannot be started in the new Jackrabbit 1.6 binding. Unless you need the RMI binding, this has no influence on the functionality. Yep, I found it when I wanted to debug something in the repository with the Eclipse plugin... Cheers, Marc Would you mind reporting an issue ? Thanks alot. Regards Felix On 25.01.2010 20:53, Marc Speck wrote: I've just checked-out and compiled Sling from the repository and got the error log below. Is this a known bug or is anything wrong on my side? Marc 25.01.2010 20:43:23.727 *ERROR* [SCR Component Actor] org.apache.felix.scr Unexpected problem executing task Enable Component: org.apache.sling.jcr.jackrabbit.server.RmiRegistrationSupport (5) (java.lang.NoClassDefFoundError: org/apache/jackrabbit/rmi/server/RemoteAdapterFactory) java.lang.NoClassDefFoundError: org/apache/jackrabbit/rmi/server/RemoteAdapterFactory at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:183) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:991) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:298) at org.apache.felix.scr.impl.manager.AbstractComponentManager$1.doRun(AbstractComponentManager.java:138) at org.apache.felix.scr.impl.ComponentActivatorTask.run(ComponentActivatorTask.java:67) at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:96) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.jackrabbit.rmi.server.RemoteAdapterFactory at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:744) at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:61) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1656) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 13 mor
NoClassDefFoundError in start-up log
I've just checked-out and compiled Sling from the repository and got the error log below. Is this a known bug or is anything wrong on my side? Marc 25.01.2010 20:43:23.727 *ERROR* [SCR Component Actor] org.apache.felix.scr Unexpected problem executing task Enable Component: org.apache.sling.jcr.jackrabbit.server.RmiRegistrationSupport (5) (java.lang.NoClassDefFoundError: org/apache/jackrabbit/rmi/server/RemoteAdapterFactory) java.lang.NoClassDefFoundError: org/apache/jackrabbit/rmi/server/RemoteAdapterFactory at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:183) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:991) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:298) at org.apache.felix.scr.impl.manager.AbstractComponentManager$1.doRun(AbstractComponentManager.java:138) at org.apache.felix.scr.impl.ComponentActivatorTask.run(ComponentActivatorTask.java:67) at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:96) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.apache.jackrabbit.rmi.server.RemoteAdapterFactory at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:744) at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:61) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1656) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 13 mor
ServletResolver
I'm trying to find all options for directing requests to different servlets. I was glad if somebody could confirm that the following use cases are not covered: 1. A wildcard for the name of the first node in the path, e.g. @scr.property name=sling.servlet.paths value=\/.*?\/a\/b 2. jcr:mixinTypes are ignored for servlet resolving. 3. A RegExp for selectors or extensions. For example, I currently have the version in the path like /foo/bar.version=12.xml, so @scr.property name=sling.servlet.selectors value=version=.+ Thanks for any hints, Marc
Re: ServletResolver
Thanks for the quick confirmation, Marc On Mon, Sep 14, 2009 at 10:51 AM, Vidar Ramdal vi...@idium.no wrote: On Mon, Sep 14, 2009 at 10:46 AM, Marc Speck marcsp...@gmail.com wrote: I'm trying to find all options for directing requests to different servlets. I was glad if somebody could confirm that the following use cases are not covered: 1. A wildcard for the name of the first node in the path, e.g. @scr.property name=sling.servlet.paths value=\/.*?\/a\/b Not supported. 2. jcr:mixinTypes are ignored for servlet resolving. True. 3. A RegExp for selectors or extensions. For example, I currently have the version in the path like /foo/bar.version=12.xml, so @scr.property name=sling.servlet.selectors value=version=.+ Not supported. As a general rule for servlet registration, each servlet is registered to one or more paths in the virtual resource tree. The path must be an actual resolvable path, i.e. it cannot consist of regex'es (as this could possibly yield an unlimited number of paths). However, you might be able to write your own ResourceProvider to handle those cases. -- Vidar S. Ramdal vi...@idium.no - http://www.idium.no Sommerrogata 13-15, N-0255 Oslo, Norway + 47 22 00 84 00 / +47 21 531941, ext 2070
Re: ServletResolver
On Mon, Sep 14, 2009 at 1:59 PM, Vidar Ramdal vi...@idium.no wrote: On Mon, Sep 14, 2009 at 1:41 PM, Bertrand Delacretaz bdelacre...@codeconsult.ch wrote: Hi, On Mon, Sep 14, 2009 at 12:22 PM, Marc Speck marcsp...@gmail.com wrote: On Mon, Sep 14, 2009 at 11:43 AM, Bertrand Delacretaz bdelacre...@gmail.com wrote: ...using version.12 instead of version=12 should help here, 12 then becomes just another selector. Excellent idea, parsing getSelectorString() should give the number. I have also /foo/bar.version.12 for folders but it's fine to look into the extension for the number. You don't even need to parse if you use SlingHttpServletRequest.getRequestPathInfo().getSelectors(). Right, but if the order should ever get mixed up in the future, the algorithm is more likely to fail then parsing version.123.. ...The OptingServlet sounds interesting. It means that I can register several servlets for the same resourceType and implement accept() accordingly?.. Yes, that's the idea, for those (hopefully rare) cases where the other mechanisms aren't sufficient. Yeah, do what Bertrand says - I didn't think about the OptingServlet when replying to your questions. Seems it can do pretty much what you want. I'd need it for the main resourceType that handles 70% of traffic. It seems that SlingServletResolver does not cache OptingServlets which makes sense. However, I will have to investigate how much performance I loose with giving up servlet caching. A custom ResourceCollector.hashCode could probably solve the problem but this goes too far for me. I'm rather considering creating 3 subResourceTypes just for servlet resolving. As JCR queries are inheritance-sensitive to type constraints, I think it's the solution with the least side effects. Thanks for your suggestions, Marc