Hi Lukas,

Yes, we assumed that Factory is thread safe, when it initialized with
DataSource.

Best regards,
Denis

On Thu, Oct 18, 2012 at 10:30 AM, Lukas Eder <[email protected]> wrote:
> Hi Denis,
>
> Thank you for your suggested patch. As discussed on the relevant ticket:
> https://github.com/jOOQ/jOOQ/issues/1857
>
> And on your pull request:
> https://github.com/jOOQ/jOOQ/pull/1858
>
> These synchronisation issues probably originate from the fact that you
> assumed the Factory was thread-safe, which it isn't. Your pull request
> has been merged as it is probably a good step forward. However, true
> thread-safety should be analysed more in-depth in the upcoming jOOQ
> 3.0. I have created #1867 for this:
> https://github.com/jOOQ/jOOQ/issues/1867
>
> Cheers
> Lukas
>
> 2012/10/2 Bondarenko Denis <[email protected]>:
>> Hi!
>>
>> After starting our application sometimes we catch exceptions like this:
>> 1) java.lang.NullPointerException
>> at org.jooq.SchemaMapping.map(SchemaMapping.java:336)
>> at org.jooq.impl.Util.getMappedSchema(Util.java:906)
>> at org.jooq.impl.TableImpl.toSQL(TableImpl.java:123)
>> 2) java.lang.NullPointerException
>> at org.jooq.impl.TableImpl.toSQL(TableImpl.java:131)
>>
>>
>> Error is in lazy initialization of two fields of org.jooq.SchemaMapping 
>> class :
>>
>> private transient Map<String, Schema>   schemata;
>> private transient Map<String, Table<?>> tables;
>>
>> I've attached test-case for this, and suggested patch.
>> Test-case tries to raise exception, usually it will take from 300 up
>> to 5000 runs.
>> Test-case based on Sergey Epik's test-case for ticket 1543.
>>
>>
>> PS.I just added this ticket to GitHub. But since i am novice for git
>> and github, that it will take too much time for add on GitHub all
>> related code.
>> So i decided to write email.

Reply via email to