[jira] Commented: (CAY-1124) DataRowStore blocked

From: Tore Halset (JIRA) ("Tore)
Date: Wed Oct 15 2008 - 16:06:11 EDT

  • Next message: Ricardo Ghisi Tobaldini (JIRA): "[jira] Created: (CAY-1125) MySQL SMALLINT UNSIGNED is mapped as java.lang.Short, should be java.lang.Integer"

        [ https://issues.apache.org/cayenne/browse/CAY-1124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13167#action_13167 ]

    Tore Halset commented on CAY-1124:
    ----------------------------------

    In the same thread dump, there were some other RUNNABLE that also looked strange. I do not know if those are relevant.

    "TP-Processor12" daemon prio=10 tid=0x00002aab77946400 nid=0x166d runnable [0x0000000044d74000..0x0000000044d75db0]
       java.lang.Thread.State: RUNNABLE
            at java.lang.Class.getDeclaredMethods0(Native Method)
            at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
            at java.lang.Class.getDeclaredMethod(Class.java:1935)
            at org.apache.cayenne.util.Invocation.lookupMethodInHierarchy(Invocation.java:134)
            at org.apache.cayenne.util.Invocation.<init>(Invocation.java:111)
            at org.apache.cayenne.util.Invocation.<init>(Invocation.java:65)
            at org.apache.cayenne.event.EventManager$NonBlockingInvocation.<init>(EventManager.java:436)
            at org.apache.cayenne.event.EventManager.addListener(EventManager.java:216)
            at org.apache.cayenne.event.EventManager.addNonBlockingListener(EventManager.java:192)
            at org.apache.cayenne.access.ObjectStore.setDataRowCache(ObjectStore.java:262)
            at org.apache.cayenne.access.ObjectStore.<init>(ObjectStore.java:129)
            at org.apache.cayenne.access.ObjectStore.<init>(ObjectStore.java:118)
            at org.apache.cayenne.access.DataDomain.createDataContext(DataDomain.java:601)

    "TP-Processor11" daemon prio=10 tid=0x00002aab77945800 nid=0x166c runnable [0x0000000044c73000..0x0000000044c74b30]
       java.lang.Thread.State: RUNNABLE
            at java.lang.Class.getDeclaredMethods0(Native Method)
            at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
            at java.lang.Class.getDeclaredMethod(Class.java:1935)
            at org.apache.cayenne.util.Invocation.lookupMethodInHierarchy(Invocation.java:134)
            at org.apache.cayenne.util.Invocation.<init>(Invocation.java:111)
            at org.apache.cayenne.util.Invocation.<init>(Invocation.java:65)
            at org.apache.cayenne.event.EventManager$NonBlockingInvocation.<init>(EventManager.java:436)
            at org.apache.cayenne.event.EventManager.addListener(EventManager.java:216)
            at org.apache.cayenne.event.EventManager.addNonBlockingListener(EventManager.java:192)
            at org.apache.cayenne.access.ObjectStore.setDataRowCache(ObjectStore.java:262)
            at org.apache.cayenne.access.ObjectStore.<init>(ObjectStore.java:129)
            at org.apache.cayenne.access.ObjectStore.<init>(ObjectStore.java:118)
            at org.apache.cayenne.access.DataDomain.createDataContext(DataDomain.java:601)

    "TP-Processor7" daemon prio=10 tid=0x00002aab798c1800 nid=0xc30 runnable [0x0000000044067000..0x0000000044068ab0]
       java.lang.Thread.State: RUNNABLE
            at java.lang.Class.getDeclaredMethods0(Native Method)
            at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
            at java.lang.Class.getDeclaredMethod(Class.java:1935)
            at org.apache.cayenne.util.Invocation.lookupMethodInHierarchy(Invocation.java:134)
            at org.apache.cayenne.util.Invocation.<init>(Invocation.java:111)
            at org.apache.cayenne.util.Invocation.<init>(Invocation.java:65)
            at org.apache.cayenne.event.EventManager$NonBlockingInvocation.<init>(EventManager.java:436)
            at org.apache.cayenne.event.EventManager.addListener(EventManager.java:216)
            at org.apache.cayenne.event.EventManager.addNonBlockingListener(EventManager.java:192)
            at org.apache.cayenne.access.ObjectStore.setDataRowCache(ObjectStore.java:262)
            at org.apache.cayenne.access.ObjectStore.<init>(ObjectStore.java:129)
            at org.apache.cayenne.access.ObjectStore.<init>(ObjectStore.java:118)
            at org.apache.cayenne.access.DataDomain.createDataContext(DataDomain.java:601)

    "DefaultQuartzScheduler_Worker-1" prio=10 tid=0x00002aab7b157c00 nid=0xc17 runnable [0x0000000043159000..0x000000004315
    9b30]
       java.lang.Thread.State: RUNNABLE
            at org.apache.commons.collections.map.AbstractReferenceMap$ReferenceEntrySetIterator.hasNext(AbstractReferenceM
    ap.java:736)
            at org.apache.cayenne.access.ObjectStore.postprocessAfterCommit(ObjectStore.java:442)
            at org.apache.cayenne.access.DataDomainFlushAction.postprocess(DataDomainFlushAction.java:258)
            at org.apache.cayenne.access.DataDomainFlushAction.flush(DataDomainFlushAction.java:150)
            - locked <0x00002aaab91a5c40> (a org.apache.cayenne.access.DataRowStore)
            at org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:821)
            at org.apache.cayenne.access.DataDomain$2.transform(DataDomain.java:788)
            at org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:847)
            at org.apache.cayenne.access.DataDomain.onSync(DataDomain.java:785)
            at org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:1175)
            - locked <0x00002aaad54ae3e8> (a org.apache.cayenne.access.ObjectStore)
            at org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:1088)

    > DataRowStore blocked
    > --------------------
    >
    > Key: CAY-1124
    > URL: https://issues.apache.org/cayenne/browse/CAY-1124
    > Project: Cayenne
    > Issue Type: Bug
    > Components: Cayenne Core Library
    > Affects Versions: 3.0
    > Environment: 3.0M3
    > Reporter: Tore Halset
    > Assignee: Tore Halset
    > Fix For: 3.0
    >
    >
    > I have gotten this one a couple of times on our production system running 3.0M3. As far as I see, this code has not been improved since 3.0M3, so I register this as a major bug.
    > "TP-Processor5" daemon prio=10 tid=0x00002aab798c0400 nid=0xc2e waiting for monitor entry [0x0000000043e64000..0x000000
    > 0043e66bb0]
    > java.lang.Thread.State: BLOCKED (on object monitor)
    > at org.apache.cayenne.access.DataRowStore.getCachedSnapshot(DataRowStore.java:351)
    > - waiting to lock <0x00002aaab91a5c40> (a org.apache.cayenne.access.DataRowStore)
    > at org.apache.cayenne.access.DataDomainQueryAction.interceptOIDQuery(DataDomainQueryAction.java:174)
    > at org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:114)
    > at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:740)
    > at org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:296)
    > at org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:84)
    > at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1331)
    > at org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1320)
    > at org.apache.cayenne.DataObjectUtils.objectForQuery(DataObjectUtils.java:275)
    > at org.apache.cayenne.DataObjectUtils.objectForPK(DataObjectUtils.java:261)
    > at org.apache.cayenne.DataObjectUtils.objectForPK(DataObjectUtils.java:172)
    > "DefaultQuartzScheduler_Worker-10" prio=10 tid=0x00002aab7afedc00 nid=0xc20 waiting for monitor entry [0x0000000043a62000..0x0000000043a62db0]
    > java.lang.Thread.State: BLOCKED (on object monitor)
    > at org.apache.cayenne.access.DataRowStore.getCachedSnapshot(DataRowStore.java:351)
    > - waiting to lock <0x00002aaab91a5c40> (a org.apache.cayenne.access.DataRowStore)
    > at org.apache.cayenne.access.DataDomainQueryAction.interceptOIDQuery(DataDomainQueryAction.java:174)
    > at org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:114)
    > at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:740)
    > at org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:296)
    > at org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:84)
    > at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1331)
    > at org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1320)
    > at org.apache.cayenne.DataObjectUtils.objectForQuery(DataObjectUtils.java:275)
    > at org.apache.cayenne.DataObjectUtils.objectForPK(DataObjectUtils.java:261)
    > at org.apache.cayenne.DataObjectUtils.objectForPK(DataObjectUtils.java:172)
    > "DefaultQuartzScheduler_Worker-3" prio=10 tid=0x00002aab7af02c00 nid=0xc19 waiting for monitor entry [0x000000004335b000..0x000000004335be30]
    > java.lang.Thread.State: BLOCKED (on object monitor)
    > at org.apache.cayenne.access.DataRowStore.snapshotsUpdatedForObjects(DataRowStore.java:234)
    > - waiting to lock <0x00002aaab91a5c40> (a org.apache.cayenne.access.DataRowStore)
    > at org.apache.cayenne.access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:125)
    > at org.apache.cayenne.access.ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java:101)
    > - locked <0x00002aaabb39bb70> (a org.apache.cayenne.access.ObjectStore)
    > at org.apache.cayenne.access.DataDomainQueryAction.interceptObjectConversion(DataDomainQueryAction.java:460)
    > at org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:129)
    > at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:740)
    > at org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:296)
    > at org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:84)
    > at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1331)
    > at org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1320)
    >

    -- 
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
    



    This archive was generated by hypermail 2.0.0 : Wed Oct 15 2008 - 16:06:33 EDT