[jira] Commented: (JCR-688) Improve name resolution
[ https://issues.apache.org/jira/browse/JCR-688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12462987 ] Marcel Reutegger commented on JCR-688: -- I think the patch is very good, I just have one issue: name resolution through the CachingNameResolver is serialized. The call resolver.getQName(name) within CachingNameResolver.getQName() is in a synchronized(this). Can this be change in a way that multiple thread can resolve names concurrently? Improve name resolution --- Key: JCR-688 URL: https://issues.apache.org/jira/browse/JCR-688 Project: Jackrabbit Issue Type: Improvement Components: core Reporter: Jukka Zitting Priority: Minor Fix For: 1.3 Attachments: JCR-688.LocalCache.patch, JCR-688.NameResolver.patch As discussed in JCR-685, the current CachingNamespaceResolver class contains excessive synchronization causing monitor contention that reduces performance. In JCR-685 there's a proposed patch that replaces synchronization with a read-write lock that would allow concurrent read access to the name cache. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (JCR-688) Improve name resolution
[ https://issues.apache.org/jira/browse/JCR-688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12462989 ] Jukka Zitting commented on JCR-688: --- The call resolver.getQName(name) within CachingNameResolver.getQName() is in a synchronized(this).Can this be change in a way that multiple thread can resolve names concurrently? I think so. The reason for the synchronization is to guard access to the young generation maps that gets modified. I think it would be enough to make just the young map and the increaseGenerationAge() method synchronized. I'll take a look at this later today. Improve name resolution --- Key: JCR-688 URL: https://issues.apache.org/jira/browse/JCR-688 Project: Jackrabbit Issue Type: Improvement Components: core Reporter: Jukka Zitting Priority: Minor Fix For: 1.3 Attachments: JCR-688.LocalCache.patch, JCR-688.NameResolver.patch As discussed in JCR-685, the current CachingNamespaceResolver class contains excessive synchronization causing monitor contention that reduces performance. In JCR-685 there's a proposed patch that replaces synchronization with a read-write lock that would allow concurrent read access to the name cache. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Assigned: (JCR-688) Improve name resolution
[ https://issues.apache.org/jira/browse/JCR-688?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jukka Zitting reassigned JCR-688: - Assignee: Jukka Zitting Improve name resolution --- Key: JCR-688 URL: https://issues.apache.org/jira/browse/JCR-688 Project: Jackrabbit Issue Type: Improvement Components: core Reporter: Jukka Zitting Assigned To: Jukka Zitting Priority: Minor Fix For: 1.3 Attachments: JCR-688.LocalCache.patch, JCR-688.NameResolver.patch As discussed in JCR-685, the current CachingNamespaceResolver class contains excessive synchronization causing monitor contention that reduces performance. In JCR-685 there's a proposed patch that replaces synchronization with a read-write lock that would allow concurrent read access to the name cache. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (JCR-688) Improve name resolution
[ https://issues.apache.org/jira/browse/JCR-688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12463005 ] Stefan Guggisberg commented on JCR-688: --- i agree with jukka's rationale, +1 for the redesign/patch (assuming the synchronization issue mentioned by marcel gets resolved). it would be very interesting to see some 'before/after' benckmark/profiling results. Improve name resolution --- Key: JCR-688 URL: https://issues.apache.org/jira/browse/JCR-688 Project: Jackrabbit Issue Type: Improvement Components: core Reporter: Jukka Zitting Assigned To: Jukka Zitting Priority: Minor Fix For: 1.3 Attachments: JCR-688.LocalCache.patch, JCR-688.NameResolver.patch As discussed in JCR-685, the current CachingNamespaceResolver class contains excessive synchronization causing monitor contention that reduces performance. In JCR-685 there's a proposed patch that replaces synchronization with a read-write lock that would allow concurrent read access to the name cache. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (JCR-688) Improve name resolution
[ https://issues.apache.org/jira/browse/JCR-688?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jukka Zitting updated JCR-688: -- Attachment: JCR-688.NameResolver.v2.patch Improve name resolution --- Key: JCR-688 URL: https://issues.apache.org/jira/browse/JCR-688 Project: Jackrabbit Issue Type: Improvement Components: core Reporter: Jukka Zitting Assigned To: Jukka Zitting Priority: Minor Fix For: 1.3 Attachments: JCR-688.LocalCache.patch, JCR-688.NameResolver.patch, JCR-688.NameResolver.v2.patch As discussed in JCR-685, the current CachingNamespaceResolver class contains excessive synchronization causing monitor contention that reduces performance. In JCR-685 there's a proposed patch that replaces synchronization with a read-write lock that would allow concurrent read access to the name cache. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (JCR-688) Improve name resolution
[ https://issues.apache.org/jira/browse/JCR-688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12463021 ] Jukka Zitting commented on JCR-688: --- Attached JCR-688.NameResolver.v2.patch with reduced synchronization and a slightly improved increaseGenerationAge() method. A quick ad-hoc test with the above testPropertyAccess method running in 20 concurrent threads is about 6% faster using this implementation than with the current CachingNamespaceResolver. A few more percents can probably be achieved by getting rid of the current NameFormat indirections obsoleted by the new NameResolver interface. Careful analysis of the performance tradeoffs could improve the cache even more. For example it might make sense to make the young generation write-only (i.e. only add mappings to it within the synchronized increaseGenerationAge()) to avoid extra monitor contention. Improve name resolution --- Key: JCR-688 URL: https://issues.apache.org/jira/browse/JCR-688 Project: Jackrabbit Issue Type: Improvement Components: core Reporter: Jukka Zitting Assigned To: Jukka Zitting Priority: Minor Fix For: 1.3 Attachments: JCR-688.LocalCache.patch, JCR-688.NameResolver.patch, JCR-688.NameResolver.v2.patch As discussed in JCR-685, the current CachingNamespaceResolver class contains excessive synchronization causing monitor contention that reduces performance. In JCR-685 there's a proposed patch that replaces synchronization with a read-write lock that would allow concurrent read access to the name cache. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (JCR-698) Lack of transaction support in case of jackrabbit webdav interface
[ https://issues.apache.org/jira/browse/JCR-698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12463046 ] angela commented on JCR-698: as stated in my reply the custom 'local' lock scope is used to send a set of transient modifications without intermediate save calls. therefore this issue doesn't make sense to me. can this issue be resolved? Lack of transaction support in case of jackrabbit webdav interface -- Key: JCR-698 URL: https://issues.apache.org/jira/browse/JCR-698 Project: Jackrabbit Issue Type: Bug Components: webdav Environment: win xp Reporter: Edyta Kalka No transaction control. Transaction abort (UNLOCK command containing abort transaction status) is ignored. Transaction commit takes place although UNLOCK with commit transaction status is not send. Thread describing problem: http://www.nabble.com/UNLOCK-with-%27abort%27-transaction-status-don%27t-abort-the-transaction-tf2858874.html -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (JCR-322) Support node type modification and removal
[ https://issues.apache.org/jira/browse/JCR-322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12463048 ] Sandro Boehme commented on JCR-322: --- o node type lock: apart from being very difficult/messy to implement with the current architecture this would probably cause a serious and thus inacceptable performance degredation. Too bad. I thought this would be a way to go to avoid locking the whole repository. o default node type (nt:base // nt:unstructured) Of course you are right. I should have had a deeper look in the spec to find it out by myself before asking. It's a pity, that it doesn't work. Much thanks for your feedback anyway! Regards, Sandro Support node type modification and removal -- Key: JCR-322 URL: https://issues.apache.org/jira/browse/JCR-322 Project: Jackrabbit Issue Type: New Feature Components: nodetype Affects Versions: 0.9, 1.0 Reporter: Jukka Zitting There is currently no way to modify or remove registered node types. The existing reregister and unregister methods in NodeTypeRegistry throw not yet implemented exceptions for anything else than trivial node type changes. JSR 283 is working on an node type management API that we should ultimately implement. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (JCR-688) Improve name resolution
[ https://issues.apache.org/jira/browse/JCR-688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12463150 ] Jukka Zitting commented on JCR-688: --- Committed version 3 of the NameResolver classes in revision 494219. The committed classes have some minor differences to the above proposals, most notably: a) ParsingNameResolver was further optimized and is now most likely the fastest validating JCR name parser there is. b) CachingNameResolver now caches both parsed and formatted names, as benchmarking showed noticeable gain from doing so. c) CachingNameResolver was simplified so that only a single synchronized method is required for controlling concurrency. Improve name resolution --- Key: JCR-688 URL: https://issues.apache.org/jira/browse/JCR-688 Project: Jackrabbit Issue Type: Improvement Components: core Reporter: Jukka Zitting Assigned To: Jukka Zitting Priority: Minor Fix For: 1.3 Attachments: JCR-688.LocalCache.patch, JCR-688.NameResolver.patch, JCR-688.NameResolver.v2.patch As discussed in JCR-685, the current CachingNamespaceResolver class contains excessive synchronization causing monitor contention that reduces performance. In JCR-685 there's a proposed patch that replaces synchronization with a read-write lock that would allow concurrent read access to the name cache. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (JCR-688) Improve name resolution
[ https://issues.apache.org/jira/browse/JCR-688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12463206 ] Tobias Bocanegra commented on JCR-688: -- what about caching of paths? Improve name resolution --- Key: JCR-688 URL: https://issues.apache.org/jira/browse/JCR-688 Project: Jackrabbit Issue Type: Improvement Components: core Reporter: Jukka Zitting Assigned To: Jukka Zitting Priority: Minor Fix For: 1.3 Attachments: JCR-688.LocalCache.patch, JCR-688.NameResolver.patch, JCR-688.NameResolver.v2.patch As discussed in JCR-685, the current CachingNamespaceResolver class contains excessive synchronization causing monitor contention that reduces performance. In JCR-685 there's a proposed patch that replaces synchronization with a read-write lock that would allow concurrent read access to the name cache. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira