[jira] Commented: (JCR-688) Improve name resolution

2007-01-08 Thread Marcel Reutegger (JIRA)

[ 
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

2007-01-08 Thread Jukka Zitting (JIRA)

[ 
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

2007-01-08 Thread Jukka Zitting (JIRA)

 [ 
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

2007-01-08 Thread Stefan Guggisberg (JIRA)

[ 
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

2007-01-08 Thread Jukka Zitting (JIRA)

 [ 
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

2007-01-08 Thread Jukka Zitting (JIRA)

[ 
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

2007-01-08 Thread angela (JIRA)

[ 
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

2007-01-08 Thread Sandro Boehme (JIRA)

[ 
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

2007-01-08 Thread Jukka Zitting (JIRA)

[ 
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

2007-01-08 Thread Tobias Bocanegra (JIRA)

[ 
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