Timeout trying to lock table problem

40 views
Skip to first unread message

Su Yeon Kim

unread,
Jul 9, 2014, 1:42:24 AM7/9/14
to h2-da...@googlegroups.com
hi! 

This is error message.

I execute commands update or insert query directly.

I try to MVCC=TRUE to the database URL
But This method is not solved.

And How do I set up LOCK_TIMEOUT=10000 ?

How do I solve?

Please help me.

Thank you

org.h2.jdbc.JdbcSQLException: Timeout trying to lock table "T_AUDIO"; SQL statement:

SELECT a.*, b.name n_name, b.imgurl n_imgurl, c.name m_name  FROM t_audio a JOIN  t_narrator b ON a.narrator = b.num JOIN t_media c ON a.media = c.num 

JOIN t_preference d ON c.num = d.media AND d.usernum = ? ORDER BY a.num DESC LIMIT 10 OFFS                                                                                        ET ? [50200-176]

        at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)

        at org.h2.message.DbException.get(DbException.java:178)

        at org.h2.message.DbException.get(DbException.java:154)

        at org.h2.table.RegularTable.doLock(RegularTable.java:530)

        at org.h2.table.RegularTable.lock(RegularTable.java:464)

        at org.h2.table.TableFilter.lock(TableFilter.java:147)

        at org.h2.command.dml.Select.queryWithoutCache(Select.java:632)

        at org.h2.command.dml.Query.query(Query.java:323)

        at org.h2.command.dml.Query.query(Query.java:291)

        at org.h2.command.dml.Query.query(Query.java:37)

        at org.h2.command.CommandContainer.query(CommandContainer.java:91)

        at org.h2.command.Command.executeQuery(Command.java:197)

        at org.h2.server.TcpServerThread.process(TcpServerThread.java:321)

        at org.h2.server.TcpServerThread.run(TcpServerThread.java:160)

        at java.lang.Thread.run(Thread.java:745)

 

        at org.h2.engine.SessionRemote.done(SessionRemote.java:606)

        at org.h2.command.CommandRemote.executeQuery(CommandRemote.java:159)

        at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.                                                                                        java:109)

        at postino.DB.query(DB.java:66)

        at postino.DB.listPrefAudio(DB.java:373)

        at postino.PrefServlet.doGet(PrefServlet.java:39)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl                                                                                        icationFilterChain.java:303)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF                                                                                        ilterChain.java:208)

        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52                                                                                        )

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl                                                                                        icationFilterChain.java:241)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF                                                                                        ilterChain.java:208)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV                                                                                        alve.java:220)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV                                                                                        alve.java:122)

        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica                                                                                        torBase.java:501)

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j                                                                                        ava:171)

        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j                                                                                        ava:102)

        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:                                                                                        950)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal                                                                                        ve.java:116)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav                                                                                        a:408)

        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp                                                                                        11Processor.java:1040)

        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(                                                                                        AbstractProtocol.java:607)

        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin                                                                                        t.java:316)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.                                                                                        java:1145)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor                                                                                        .java:615)

        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh                                                                                        read.java:61)

        at java.lang.Thread.run(Thread.java:745)

Noel Grandin

unread,
Jul 9, 2014, 9:36:15 AM7/9/14
to h2-da...@googlegroups.com


On 2014-07-09 07:42 AM, Su Yeon Kim wrote:
>
> And How do I set up LOCK_TIMEOUT=10000 ?
>

You can increase the lock timeout by modifying the JDBC URL e.g. see here:
http://h2database.com/html/grammar.html#set_lock_timeout

But the best way is to improve the performance of your queries so that they don't lock the tables for as long.
Reply all
Reply to author
Forward
0 new messages