On Wed, Feb 24, 2010 at 9:03 PM, Felix Meschberger <fmesc...@gmail.com> wrote:
> A big -1 (I already see the deadlocks in front of me)

if there are deadlocks caused by such a change then the api's clearly being
misused (i.e. concurrent use of session instances) and there's a risk of data
corruption.

it's IMO better to detect and fix such improper api usage.

cheers
stefan

>
> If we want to make sessions thread-safe, we should use proper
> implementations. On the other hand, it is probably really better to
> stick with the current setup of "a session is not thread-safe" and any
> concurrent use of the same session is unsupported.
>
> Regards
> Felix
>
> On 24.02.2010 18:34, Thomas Müller wrote:
>> Currently, Jackrabbit sessions are somewhat synchronized, but not
>> completely (for example it's still possible to concurrently read and
>> update data). There were some problems because of that, and probably
>> there still are.
>>
>> I believe it's better to synchronize all methods in the session (on
>> the session object). This includes methods on nodes and properties and
>> so on. If this does turn out to be a performance problem, we can
>> remove synchronization where required (and where it can safely be
>> removed) or change the implementation (use immutable objects or safe
>> data structures).
>>
>> This is more conservative, but I think the impact on performance will
>> be minimal. Of course performance is important, however I think data
>> consistency is more important than the possible gain of a few percents
>> of (read-) performance.
>>
>> Regards,
>> Thomas
>>
>
>

Reply via email to