db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Zanter <dzan...@gmail.com>
Subject Re: Derby Locks - best practices
Date Fri, 01 Jun 2012 19:45:38 GMT
Do mean the scenario of:
    Multiple threads are updating the exact same rows

    Multiple threads doing updates to different rows, but due to
queries/indexes/etc are causing contention between each other.

On Fri, Jun 1, 2012 at 3:16 PM, Pavel Bortnovskiy
<pbortnovskiy@jefferies.com> wrote:
> Hello, all:
> Derby is used in my application in the in-memory only mode. For a long time
> Derby’s lock logic caused no worries, but recently some use cases failed
> with lock timeouts. Thus I’m looking for guidance on best practices for
> handling locks in Derby. A use-case which may cause timeouts to obtain a
> lock: one thread is executing an SQL statement which accesses two (or more)
> in-memory tables. Those two tables are being modified by  other threads at
> random times. So, situations in which the SQL is executed for a long time
> and the other threads are frequently updating the tables may cause lock
> timeouts.
> Besides best practices to avoid timeouts and deadlocks, I would like to ask
> the following questions:
> 1)      What’s the default length of lock timeouts?
> 2)      Does my app need another layer of synchronization mechanism/locks to
> avoid attempts to update in-memory tables or execute SQLs against them?
> 3)      Can my application utilize Derby’s locks through some API – to query
> their state or to use them in making a decision of whether to batch updates
> or to execute them, to wait or execute the SQLs?
> Your help would be greatly appreciated,
> Pavel.
> Jefferies archives and monitors outgoing and incoming e-mail. The contents
> of this email, including any attachments, are confidential to the ordinary
> user of the email address to which it was addressed. If you are not the
> addressee of this email you may not copy, forward, disclose or otherwise use
> it or any part of it in any form whatsoever. This email may be produced at
> the request of regulators or in connection with civil litigation. Jefferies
> accepts no liability for any errors or omissions arising as a result of
> transmission. Use by other than intended recipients is prohibited. In the
> United Kingdom, Jefferies operates as Jefferies International Limited;
> registered in England: no. 1978621; registered office: Vintners Place, 68
> Upper Thames Street, London EC4V 3BJ. Jefferies International Limited is
> authorised and regulated by the Financial Services Authority.

View raw message