[ http://jira.jboss.com/jira/browse/JBWEB-7?page=history ]
Ben Wang reassigned JBWEB-7: ---------------------------- Assign To: Ben Wang (was: Remy Maucherat) > replication-granularity ATTRIBUTE problem > ----------------------------------------- > > Key: JBWEB-7 > URL: http://jira.jboss.com/jira/browse/JBWEB-7 > Project: JBoss Web > Type: Bug > Components: Tomcat > Versions: JBossWeb-4.0.0 > Environment: RedHat AS2.1 > JDK1.4.2_03 > Apache2+mod_jk2 > JBoss4.0.0 > replication-trigger is SET > (when SET_AND_NON_PRIMITIVE_GET was set, the result was the same) > Reporter: Toshiya Kobayahsi > Assignee: Ben Wang > > > I'm applying HttpSessionReplication to my application. > When replication-granularity is SESSION, replication works fine. > But I set replication-granularity to ATTRIBUTE, and stressed the > web-application.Then I got the following error log. > 2004-12-07 14:18:17,410 ERROR [TP-Processor10][org.jboss.cache.TreeCache] > commit(): entry for transaction <smtla009:33398>:476 not found > I changed the log level of TreeCache, and tried again. > 2004-12-07 14:18:17,407 DEBUG [TP-Processor1][org.jboss.cache.TreeCache] > _put(<smtla009:33398>:475, "/JSESSION/km2Atal2mscTqdFK7beMAw**", > km2Atal2mscTqdFK7beMAw**, [EMAIL PROTECTED]) > 2004-12-07 14:18:17,408 DEBUG [TP-Processor10][org.jboss.cache.TreeCache] > _put(<smtla009:33398>:476, "/JSESSION/f4Ul4Y9ouu93Ndxk6rOugw**/ATTRIBUTE", > homepageVisits, [EMAIL PROTECTED]) > 2004-12-07 14:18:17,408 DEBUG [TP-Processor1][org.jboss.cache.TreeCache] > _put(<smtla009:33398>:475, "/JSESSION/km2Atal2mscTqdFK7beMAw**/ATTRIBUTE", > homepageVisits, [EMAIL PROTECTED]) > 2004-12-07 14:18:17,408 DEBUG [TP-Processor10][org.jboss.cache.TreeCache] > callRemoteMethods(): destination list is empty, discarding call > 2004-12-07 14:18:17,408 DEBUG [TP-Processor1][org.jboss.cache.TreeCache] > callRemoteMethods(): destination list is empty, discarding call > 2004-12-07 14:18:17,409 DEBUG [TP-Processor10][org.jboss.cache.TreeCache] > callRemoteMethods(): destination list is empty, discarding call > 2004-12-07 14:18:17,409 DEBUG [TP-Processor1][org.jboss.cache.TreeCache] > callRemoteMethods(): destination list is empty, discarding call > 2004-12-07 14:18:17,409 DEBUG [TP-Processor10][org.jboss.cache.TreeCache] > commit(): called to commit cache with gtx <smtla009:33398>:476 > 2004-12-07 14:18:17,409 DEBUG [TP-Processor1][org.jboss.cache.TreeCache] > commit(): called to commit cache with gtx <smtla009:33398>:475 > 2004-12-07 14:18:17,409 DEBUG [TP-Processor10][org.jboss.cache.TreeCache] > commit(): releasing lock ... > 2004-12-07 14:18:17,409 DEBUG [TP-Processor1][org.jboss.cache.TreeCache] > commit(): releasing lock ... > 2004-12-07 14:18:17,409 DEBUG [TP-Processor10][org.jboss.cache.TreeCache] > commit(): releasing lock ... > 2004-12-07 14:18:17,409 DEBUG [TP-Processor1][org.jboss.cache.TreeCache] > commit(): releasing lock ... > 2004-12-07 14:18:17,409 DEBUG [TP-Processor10][org.jboss.cache.TreeCache] > commit(): releasing lock ... > 2004-12-07 14:18:17,409 DEBUG [TP-Processor1][org.jboss.cache.TreeCache] > commit(): releasing lock ... > 2004-12-07 14:18:17,410 DEBUG [TP-Processor1][org.jboss.cache.TreeCache] > commit(): removing local transaction key > TransactionImpl:XidImpl[FormatId=257, > GlobalId=smtla009.osaka.sunmoretec.co.jp/1794, BranchQual=, localId=1794] > 2004-12-07 14:18:17,410 DEBUG [TP-Processor10][org.jboss.cache.TreeCache] > commit(): removing local transaction key > TransactionImpl:XidImpl[FormatId=257, > GlobalId=smtla009.osaka.sunmoretec.co.jp/1795, BranchQual=, localId=1795] > 2004-12-07 14:18:17,410 DEBUG [TP-Processor10][org.jboss.cache.TreeCache] > commit(): called to commit cache with gtx <smtla009:33398>:476 > 2004-12-07 14:18:17,410 ERROR [TP-Processor10][org.jboss.cache.TreeCache] > commit(): entry for transaction <smtla009:33398>:476 not found > #To avoid CuncurrentModificationException, I had to change one logging > code("commit(): releasing lock ...") > I see two "commit(): called to commit cache with gtx <smtla009:33398>:476". > Why commit happened twice? > ATTRIBUTE granularity is not reliable? > This can easily reproduce with a simple servlet handling HttpSession. > like this: > Code: > public void doGet(HttpServletRequest request, HttpServletResponse response) > throws ServletException, IOException { > > HttpSession session = request.getSession(); > Integer value = (Integer)session.getAttribute("COUNT"); > if (value == null) { > value = new Integer(0); > } > session.setAttribute("COUNT", new Integer(value.intValue() + 1)); > /* building html */ > } > > and stress the servlet using JMeter(100threads or more...). > mod_jk2 is not necessary requirement for this problem. > I found this problem only with 4.0.0. > With 3.2.6, this didn't occur. > This is not log4j issue. The duplicate commit message is found only for the > TX which ends up with the error log. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ JBoss-Development mailing list JBoss-Development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-development