As shalin says threadsafety is not given importance because DIH is
singlethreaded. But eventually we may move there .
But we indeed tried once w/ multithreaded indexing for around 3million
records and the performance gain we observed was <10% . We realized
that it was bound by Lucene's ability to
Hmm, the import operation in DIH is single threaded. Each entity has a
separate instance of DataSource for itself. I think that we may not need the
synchronization at all.
On Tue, Nov 18, 2008 at 10:22 PM, Yonik Seeley <[EMAIL PROTECTED]> wrote:
> I took a very quick peek... looks like Mark is ri
I took a very quick peek... looks like Mark is right, there are some
non-thread-safe practices going on there with both "conn" and
"connLastUsed". Prob also want another check inside the sync block so
multiple threads don't pile up at that sync block and all open a new
connection in turn (or just
Okay. Lets agree to disagree on the connection protection.
How about conLastUsed? If multiple threads can enter that method (the
only reason you would need synchronization) then all of the threads will
access the same instance field 'conLastUsed' outside of synchronization,
possibly as both wr
it is not . conn is protected throughout
On Tue, Nov 18, 2008 at 9:48 PM, Mark Miller <[EMAIL PROTECTED]> wrote:
> But if your going to sync a variable, you can't read/write it outside of
> proper synchronization. Maybe I am just not following the code...
>
> Noble Paul ??? ?? wrote:
>>
>>
But if your going to sync a variable, you can't read/write it outside of
proper synchronization. Maybe I am just not following the code...
Noble Paul ??? ?? wrote:
one JdbcDataSource has only one connection the connection object/the
connLastUsed etc needs to be protected.
On Tue, Nov
one JdbcDataSource has only one connection the connection object/the
connLastUsed etc needs to be protected.
On Tue, Nov 18, 2008 at 9:24 PM, Mark Miller <[EMAIL PROTECTED]> wrote:
> JdbcDataSource looks like it has a little funkiness going on. Why is there a
> synchronize block there? Can multi
JdbcDataSource looks like it has a little funkiness going on. Why is
there a synchronize block there? Can multiple threads call getConnection
concurrently? If they can, this is not thread safe anyway. If they
can't, why is factory.call (or is it the close?) being protected with a
sync?
privat