Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Hang in JDataStore?

2 views
Skip to first unread message

Michael Benveniste

unread,
Dec 4, 2006, 11:28:20 AM12/4/06
to
Apparently, the following fairly complex SQL statement is blocking
JDataStore on occasion. When it does execute successfully, it takes
between one and three seconds to do so.

select u.user_id, u.first_name, u.last_name, u.create_date
from usm_user u
inner join usm_user_role_map urm on u.user_id=urm.user_id
inner join usm_role r on r.role_id=urm.role_id
inner join usm_role_func_map rfm on r.role_id=rfm.role_id
inner join usm_function f on rfm.func_id=f.func_id
inner join usm_application a on f.app_id=a.app_id
where r.role_name=? and a.app_name=?

select u.user_id, u.first_name, u.last_name, u.create_date
from usm_user u
inner join usm_user_grp_map ugm on ugm.user_id=u.user_id
inner join usm_grp_role_map grm on ugm.group_id=grm.group_id
inner join usm_role r on r.role_id=grm.role_id
inner join usm_role_func_map rfm on r.role_id=rfm.role_id
inner join usm_function f on rfm.func_id=f.func_id
inner join usm_application a on f.app_id=a.app_id
where r.role_name=? and a.app_name=?

A java trace dump shows that we're waiting for something in
a sort cursor:
3XMTHREADINFO "Servlet.Engine.Transports : 4" (TID:0x307F8B48,
sys_thread_t:0x5AD065A8, state:CW, native ID:0x3FB7) prio=5
4XESTACKTRACE at java.lang.Object.wait(Native Method)
4XESTACKTRACE at java.lang.Object.wait(Object.java(Compiled
Code))
4XESTACKTRACE at com.borland.datastore.vb.a(Unknown Source)
4XESTACKTRACE at com.borland.datastore.vb.j(Unknown Source)
4XESTACKTRACE at com.borland.datastore.vb.p(Unknown Source)
4XESTACKTRACE at
com.borland.datastore.SqlHelp.createSortCursor(Unknown Source)
4XESTACKTRACE at com.borland.datastore.q2.rb.x(Unknown Source)
4XESTACKTRACE at com.borland.datastore.q2.rb.a(Unknown Source)
4XESTACKTRACE at com.borland.datastore.q2.nb.a(Unknown Source)
4XESTACKTRACE at com.borland.datastore.q2.nb.a(Unknown Source)
4XESTACKTRACE at com.borland.datastore.q2.hb.b(Unknown Source)
4XESTACKTRACE at com.borland.datastore.q2.cb.b(Unknown Source)
4XESTACKTRACE at com.borland.datastore.q2.id.a(Unknown Source)
4XESTACKTRACE at com.borland.datastore.q2.QueryEngine.a(Unknown
Source)
4XESTACKTRACE at
com.borland.datastore.q2.QueryEngine.execute(Unknown Source)
4XESTACKTRACE at com.borland.datastore.jdbc.LConnection.a(Unknown
Source)
4XESTACKTRACE at
com.borland.datastore.jdbc.LStatement.executeQuery(Unknown Source)
4XESTACKTRACE at
sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
4XESTACKTRACE at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled
Code))
4XESTACKTRACE at
java.lang.reflect.Method.invoke(Method.java(Compiled Code))
4XESTACKTRACE at
com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java(Compiled
Code))
4XESTACKTRACE at $Proxy13.executeQuery(Unknown Source)
4XESTACKTRACE at
com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java(Compiled
Code))

Any ideas what's happening here?

--
Michael Benveniste -- mhb-...@clearether.com
Spam and UCE professionally evaluated for $250. Use this email
address only to submit mail for evaluation.

Michael Benveniste

unread,
Dec 5, 2006, 4:55:23 PM12/5/06
to
Slight correction. There's a UNION between these two...

> select u.user_id, u.first_name, u.last_name, u.create_date
> from usm_user u
> inner join usm_user_role_map urm on u.user_id=urm.user_id
> inner join usm_role r on r.role_id=urm.role_id
> inner join usm_role_func_map rfm on r.role_id=rfm.role_id
> inner join usm_function f on rfm.func_id=f.func_id
> inner join usm_application a on f.app_id=a.app_id
> where r.role_name=? and a.app_name=?

> union


> select u.user_id, u.first_name, u.last_name, u.create_date
> from usm_user u
> inner join usm_user_grp_map ugm on ugm.user_id=u.user_id
> inner join usm_grp_role_map grm on ugm.group_id=grm.group_id
> inner join usm_role r on r.role_id=grm.role_id
> inner join usm_role_func_map rfm on r.role_id=rfm.role_id
> inner join usm_function f on rfm.func_id=f.func_id
> inner join usm_application a on f.app_id=a.app_id
> where r.role_name=? and a.app_name=?

--

Steve

unread,
Dec 14, 2006, 12:42:36 AM12/14/06
to
Hi,

What version of JDataStore are you using?

-Steve

"Michael Benveniste" <mhb-...@clearether.com> wrote in message
news:4575ea9c$1...@newsgroups.borland.com...

Michael Benveniste

unread,
Dec 14, 2006, 9:55:15 AM12/14/06
to
"Steve" <sshaug...@b.com> wrote in message
news:4580e400$1...@newsgroups.borland.com...

> Hi,
>
> What version of JDataStore are you using?

6.7.25. I eventually opened an incident with Borland and
was told it was likely a bug in that version.

Steve Shaughnessy

unread,
Dec 18, 2006, 11:29:31 AM12/18/06
to
Verstion 7 is better. If you can reproduce the same problem in 7, we'll
look at it.

-Steve

"Michael Benveniste" <mhb-...@clearether.com> wrote in message

news:4ud6uoF...@mid.individual.net...

0 new messages