[ https://issues.apache.org/jira/browse/IBATIS-477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Butler closed IBATIS-477. ------------------------------ Resolution: Invalid Wow it's my week to read WebSphere heap dumps. Lucky me :) It's a little hard to tell because of the lack of indentation, but it looks like you've got 573 threads with a DaoContext object in a ThreadLocal. I'm quite certain that iBATIS never puts a DaoContext in a ThreadLocal. So I'm guessing you've got some non-standard DAO usage pattern going on. My guess is that you are somehow rebuilding the DaoManager for each thread, rather than building one instance of it storing it in a Singleton somewhere. Please take this to the user lists. This is not a bug. > iBatis 2.2 SQLMAP heap dump websphere 6.0 AIX , DB2 V8 zOS > ----------------------------------------------------------- > > Key: IBATIS-477 > URL: https://issues.apache.org/jira/browse/IBATIS-477 > Project: iBatis for Java > Issue Type: Bug > Components: SQL Maps > Affects Versions: 2.2.0 > Environment: iBatis 2.2 AIX 5.x Websphere 6.0 , IBM DB2 V8 zOS , > JDBC > Reporter: Jerry Sun > Priority: Critical > > We have heap dump happens and track down to iBatis SQLMap. Please see > following. Any help will be appreciate. Thanks ! > Maximum heap was set to 1024m and almost 1000mb of heap is in use. > Anlaysis of the heapdump shows the com/ibatis/sqlmap/engine/* > code occupying most of heap(Nearly 900mb). > ******************** > > 402,544,512 (45%) [8,208] 573 array of > java/lang/ThreadLocal$ThreadLocalMap$Entry 0x70000000cf85290 > 3,812,624 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x700000016051ca0 > 3,761,584 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x7000000308d4048 > 3,761,584 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000002a51fb30 > 3,761,536 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000003ff49b38 > 3,761,472 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000003fbea490 > 3,761,456 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000002663c540 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x700000023a3f510 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000001f850c20 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000002c798748 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000002beb8b08 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000000d431208 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x700000035b745f8 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000001ce4ae18 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000003623f1f0 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x700000022339948 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000001bffe348 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000001bcf6960 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x70000003e6e9058 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x7000000223b3130 > 3,761,240 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x700000007d7a088 > There are 553 more children > > > > > > > > Expansion of each of the object shows the com/ibatis/sqlmap/engine/* > code > 3,812,624 (0%) [48] 3 java/lang/ThreadLocal$ThreadLocalMap$Entry > 0x700000016051ca0 > 3,812,560 (0%) [32] 1 java/util/ArrayList 0x700000016051c78 > 3,812,528 (0%) [96] 1 array of java/lang/Object 0x700000016051c08 > 3,812,432 (0%) [64] 5 com/ibatis/dao/engine/impl/DaoContext > 0x7000000105fb018 > 3,792,120 (0%) [24] 1 > com/ibatis/dao/engine/transaction/sqlmap/SqlMapDaoTransactionManager > 0x7000000105fa258 > 3,792,096 (0%) [32] 2 > com/ibatis/sqlmap/engine/impl/SqlMapClientImpl 0x7000000109ebaa8 > 3,792,064 (0%) [128] 10 > com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate 0x700000010714088 > 3,237,584 (0%) [64] 1 java/util/HashMap 0x700000010714038 > 3,237,520 (0%) [8,208] 492 array of java/util/HashMap$Entry > 0x700000013cbaf98 > 31,464 (0%) [40] 3 java/util/HashMap$Entry 0x7000000151c1128 > 28,144 (0%) [40] 3 java/util/HashMap$Entry 0x700000013edc5c8 > 3,208 (0%) [128] 8 > com/ibatis/sqlmap/engine/mapping/statement/InsertStatement > 0x7000000151b8010 > 2,584 (0%) [72] 7 > com/ibatis/sqlmap/engine/mapping/parameter/BasicParameterMap > 0x7000000151b7558 > 1,112 (0%) [48] 4 array of > com/ibatis/sqlmap/engine/mapping/parameter/BasicParameterMapping > 0x7000000151c14b8 > 272 (0%) [104] 4 > com/ibatis/sqlmap/engine/mapping/parameter/BasicParameterMapping > 0x7000000151c1880 > 168 (0%) [32] 1 java/lang/String 0x7000000151c1850 > 136 (0%) [136] 0 char[] 0x7000000151c17c0 > 48 (0%) [32] 1 java/lang/String 0x700000005488f60 > 32 (0%) [32] 1 java/lang/String 0x7000000151c18f8 > 16 (0%) [16] 0 > com/ibatis/sqlmap/engine/type/StringTypeHandler 0x7000000108c3700 > 272 (0%) [104] 4 > com/ibatis/sqlmap/engine/mapping/parameter/BasicParameterMapping > 0x7000000151c1718 > 264 (0%) [104] 4 > com/ibatis/sqlmap/engine/mapping/parameter/BasicParameterMapping > 0x7000000151b72c0 > 256 (0%) [104] 4 > com/ibatis/sqlmap/engine/mapping/parameter/BasicParameterMapping > 0x7000000151c19d8 > 936 (0%) [64] 1 java/util/HashMap 0x7000000151b7508 > 352 (0%) [48] 3 > com/ibatis/sqlmap/engine/exchange/JavaBeanDataExchange 0x7000000151c1320 > 112 (0%) [32] 1 java/lang/String 0x7000000151b73d8 > 3,792,064 (0%) [128] 10 > com/ibatis/sqlmap/engine/impl/SqlMapExecutorDelegate 0x700000010714088 > 304 (0%) [304] 0 class > com/obus/admin/policyLinks/data/ServicesDTO 0x7000000151bdcc8 > 160 (0%) [32] 1 java/lang/String 0x700000010bcb0d8 > 352 (0%) [24] 1 > com/ibatis/sqlmap/engine/mapping/sql/stat/StaticSql 0x7000000151c1160 > 128 (0%) [32] 1 java/util/ArrayList 0x7000000151b7fc8 > 16 (0%) [16] 0 array of > com/ibatis/sqlmap/engine/mapping/result/ResultMap 0x7000000151b7ff0 > ***************************************** -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.