[ 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-development