You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by Lothar Krenzien <lk...@web.de> on 2006/06/14 18:21:18 UTC
IllegalStateException in DataRowStore (thrown by LRUMap)
Hi,
I'm not sure where to post it, but because I get this error by cayenne I try it first here. A few days ago I reported a NPE within the class apache.commons.map.LRUMap wich is used by the class "DataRowStore". After synchronizing all access to the corresponding field the NPE went away but now I have another exception:
2006-06-14 00:26:22,359 [ERROR] BaseDataLoggerGate.com.sunreader.sr2.gate.BaseDataLoggerGate.doPost: >
java.lang.IllegalStateException: Entry.next=null, data[removeIndex]=<ObjectId:TblStatusstatus=ins>=org.objectstyle.cayenne.DataRow@1f1d2ce[values={description=inserted, status=ins}, version=-9223372036854491432, replaces=-9223372036854775808] previous=<ObjectId:TblEffBlockDataeffBlockDataId=24455598>=org.objectstyle.cayenne.DataRow@4bac35[values={tempValue=31.35, efficiencyValue=1.0761, effBlockDataId=24455598, energyValue=8.16, efficiencyBlockId=767, status=ins, irradiationValue=673.98, earnings=4.4064, importEffBlockDataId=1042169, dataDate=Mon Jun 12 11:30:00 CEST 2006, co2Saving=6.12}, version=-9223372036854494908, replaces=-9223372036854495032] key=<ObjectId:TblLoggerloggerId=923> value=org.objectstyle.cayenne.DataRow@1a87890[values={plantId=923, newSerialNumber=null, commChannelType=analog, loggerProductId=1, loggerId=923, serialNumber=DL-NE101-01331, commChannelManufacturer=Conergy}, version=-9223372036854491407, replaces=-9223372036854775808] size=10000 maxSize=10000
Please check that your keys are immutable, and that you have used synchronization properly. If so, then please report this to commons-dev@jakarta.apache.org as a bug.
at org.apache.commons.collections.map.LRUMap.reuseMapping(LRUMap.java:300)
at org.apache.commons.collections.map.LRUMap.addMapping(LRUMap.java:266)
at org.apache.commons.collections.map.AbstractHashedMap.put(AbstractHashedMap.java:283)
at org.objectstyle.cayenne.access.DataRowStore.processUpdatedSnapshots(DataRowStore.java:621)
at org.objectstyle.cayenne.access.DataRowStore.processSnapshotChanges(DataRowStore.java:575)
at org.objectstyle.cayenne.access.DataRowStore.snapshotsUpdatedForObjects(DataRowStore.java:314)
at org.objectstyle.cayenne.access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:159)
at org.objectstyle.cayenne.access.ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java:134)
at org.objectstyle.cayenne.access.DataDomainQueryAction.interceptObjectConversion(DataDomainQueryAction.java:375)
at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:151)
at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:765)
at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:253)
at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:90)
at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1422)
at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1411)
at com.conergy.sunreader.sr2.back.dao.ProductDAO.isLoggerAlreadyAvailable(Unknown Source)
I't would be glad to get an answer as far as possible.
Thanks, Lothar
______________________________________________________________________
XXL-Speicher, PC-Virenschutz, Spartarife & mehr: Nur im WEB.DE Club!
Jetzt gratis testen! http://freemail.web.de/home/landingpad/?mc=021130
Re: IllegalStateException in DataRowStore (thrown by LRUMap)
Posted by Andrus Adamchik <an...@objectstyle.org>.
While I don't have the answers, it would be helpful if you could
provide more details:
1. What version of commons-collections do you have (I checked 3.1 and
the line numbers do not match with the stack below)
2. Does it happen as a result of a certain sequence of events, or
does it happen randomly under heavy load?
Andrus
On Jun 14, 2006, at 8:21 PM, Lothar Krenzien wrote:
> Hi,
>
> I'm not sure where to post it, but because I get this error by
> cayenne I try it first here. A few days ago I reported a NPE within
> the class apache.commons.map.LRUMap wich is used by the class
> "DataRowStore". After synchronizing all access to the corresponding
> field the NPE went away but now I have another exception:
>
> 2006-06-14 00:26:22,359 [ERROR]
> BaseDataLoggerGate.com.sunreader.sr2.gate.BaseDataLoggerGate.doPost: >
> java.lang.IllegalStateException: Entry.next=null, data[removeIndex]
> =<ObjectId:TblStatusstatus=ins>=org.objectstyle.cayenne.DataRow@1f1d2c
> e[values={description=inserted, status=ins},
> version=-9223372036854491432, replaces=-9223372036854775808]
> previous=<ObjectId:TblEffBlockDataeffBlockDataId=24455598>=org.objects
> tyle.cayenne.DataRow@4bac35[values={tempValue=31.35,
> efficiencyValue=1.0761, effBlockDataId=24455598, energyValue=8.16,
> efficiencyBlockId=767, status=ins, irradiationValue=673.98,
> earnings=4.4064, importEffBlockDataId=1042169, dataDate=Mon Jun 12
> 11:30:00 CEST 2006, co2Saving=6.12}, version=-9223372036854494908,
> replaces=-9223372036854495032] key=<ObjectId:TblLoggerloggerId=923>
> value=org.objectstyle.cayenne.DataRow@1a87890[values={plantId=923,
> newSerialNumber=null, commChannelType=analog, loggerProductId=1,
> loggerId=923, serialNumber=DL-NE101-01331,
> commChannelManufacturer=Conergy}, version=-9223372036854491407,
> replaces=-9223372036854775808] size=10000 maxSize=10000
> Please check that your keys are immutable, and that you have used
> synchronization properly. If so, then please report this to commons-
> dev@jakarta.apache.org as a bug.
> at org.apache.commons.collections.map.LRUMap.reuseMapping
> (LRUMap.java:300)
> at org.apache.commons.collections.map.LRUMap.addMapping(LRUMap.java:
> 266)
> at org.apache.commons.collections.map.AbstractHashedMap.put
> (AbstractHashedMap.java:283)
> at
> org.objectstyle.cayenne.access.DataRowStore.processUpdatedSnapshots
> (DataRowStore.java:621)
> at
> org.objectstyle.cayenne.access.DataRowStore.processSnapshotChanges
> (DataRowStore.java:575)
> at
> org.objectstyle.cayenne.access.DataRowStore.snapshotsUpdatedForObjects
> (DataRowStore.java:314)
> at org.objectstyle.cayenne.access.ObjectResolver.objectsFromDataRows
> (ObjectResolver.java:159)
> at
> org.objectstyle.cayenne.access.ObjectResolver.synchronizedObjectsFromD
> ataRows(ObjectResolver.java:134)
> at
> org.objectstyle.cayenne.access.DataDomainQueryAction.interceptObjectCo
> nversion(DataDomainQueryAction.java:375)
> at org.objectstyle.cayenne.access.DataDomainQueryAction.execute
> (DataDomainQueryAction.java:151)
> at org.objectstyle.cayenne.access.DataDomain.onQuery
> (DataDomain.java:765)
> at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery
> (ObjectContextQueryAction.java:253)
> at org.objectstyle.cayenne.access.DataContextQueryAction.execute
> (DataContextQueryAction.java:90)
> at org.objectstyle.cayenne.access.DataContext.onQuery
> (DataContext.java:1422)
> at org.objectstyle.cayenne.access.DataContext.performQuery
> (DataContext.java:1411)
> at
> com.conergy.sunreader.sr2.back.dao.ProductDAO.isLoggerAlreadyAvailable
> (Unknown Source)
>
> I't would be glad to get an answer as far as possible.
>
> Thanks, Lothar
> ______________________________________________________________________
> XXL-Speicher, PC-Virenschutz, Spartarife & mehr: Nur im WEB.DE Club!
> Jetzt gratis testen! http://freemail.web.de/home/landingpad/?mc=021130
>
>