[JBoss-user] [Performance Tuning] - Re: JBoss vs. WebLogic tuning results
"[EMAIL PROTECTED]" wrote : It should not happen. Do you see any other errors during first deployment? As a matter of fact, I do. If I convert just a couple of beans to the new container configuration, I get:13:20:36,526 ERROR [EntityContainer] Starting failed jboss.j2ee:jndiName=ReceivableHome,service=EJB | java.lang.ClassCastException | at org.jboss.ejb.plugins.cmp.jdbc2.JDBCStoreManager2.start(JDBCStoreManager2.java:172) | at org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManager.java:157) | at org.jboss.ejb.EntityContainer.startService(EntityContainer.java:340) | at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:272) | at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:222) | at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:324) | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144) | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) | at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249) | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642) | at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891) | at $Proxy0.start(Unknown Source) | at org.jboss.system.ServiceController.start(ServiceController.java:416) | at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:324) | ... I can provide the complete stack trace if that's not enough. It is worth noting that I get this exception whether or not the entity bean in question is configured to use "cmp2.x jdbc2 pm". It seems like this bean fails to deploy if any other bean uses that container configuration. So I tried changing all of them, thinking maybe it was an all-or-nothing arrangement. The stack trace is different, but I still get a failure:13:48:53,480 ERROR [EjbModule] Initialization failed jboss.j2ee:module=ejbs.jar,service=EjbModule | java.lang.ClassCastException | at org.jboss.ejb.EjbModule.createEntityContainer(EjbModule.java:651) | at org.jboss.ejb.EjbModule.createContainer(EjbModule.java:549) | at org.jboss.ejb.EjbModule.createService(EjbModule.java:330) | at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:238) | at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:220) | at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:324) | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:144) | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) | at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:249) | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642) | at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891) | at $Proxy0.create(Unknown Source) | at org.jboss.system.ServiceController.create(ServiceController.java:328) | at org.jboss.system.ServiceController.create(ServiceController.java:273) | ... What can I do to further diagnose the problem? All these beans deploy and function without trouble if I use either the default container configuration or the "instance per transaction" configuration. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3858417#3858417 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3858417 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Performance Tuning] - Re: JBoss vs. WebLogic tuning results
I did try -XX:+UseParNewGC, -XX:+UseConcMarkSweepGC, and -XX:+UseParallelGC, the first two both by themselves and together. -XX:+UseParNewGC shaved maybe 5 seconds off the test run time. -XX:+UseConcMarkSweepGC actually made my test about 10 seconds slower, and -XX:+UseParNewGC didn't make much difference. My sense was that some of those were aimed at multiprocessor systems with larger numbers of processors than the 2 in each of my machines. I'd easily believe that if I had 4 or 8 or 16 CPUs, I'd see a lot more benefit. I will check out those profilers. Thanks for answering my newbie questions -- poking and prodding the JVM is something I've never had a need to learn much about until now. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857987#3857987 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857987 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Performance Tuning] - Re: JBoss vs. WebLogic tuning results
On the test run that produced those numbers, the VM arguments I passed into run.sh were: -XX:MaxNewSize=768m -XX:SurvivorRatio=8 -Xms1536m -Xmx1536m -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails I had tried setting MinNewSize as well but it didn't seem to make any big difference in the run times. SurvivorRatio is from the BEA tuning guide and seemed to help slightly, but adjusting the MaxNewSize had more impact. If there's some setting I can use, or some monitoring tool I can install, that will tell me what kinds of objects are being created and destroyed, I'll be happy to try that! I want JBoss to be a viable option for us -- I'm kind of the main free-software advocate in my company and the closer I can get it to WebLogic's numbers, the easier it'll be to convince management to go with the more open software. Thanks for the responses! View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857980#3857980 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857980 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Performance Tuning] - Re: JBoss vs. WebLogic tuning results
anonymous wrote : Have a look at | http://www-106.ibm.com/developerworks/java/library/j-jtp11253/ | and try to setup your JVM parameters more properly. Thanks for that pointer. I've tried fiddling with different sizes for different parts of the heap and switching garbage collectors. I can shave 5-10 seconds off the test run time, which is good but still nowhere near WebLogic. Turning on very verbose GC logging as described in that article was informative, however. It tells me that WebLogic is being a lot more frugal about its object creation. Here is the GC output from two consecutive test runs under WL8 using the default garbage collectors (this is on just one of the two app servers): 397.132: [GC 397.133: [DefNew: 209791K->24046K(235968K), 2.8994055 secs] 258827K->73082K(1022400K), 2.8995789 secs] | 420.994: [GC 420.994: [DefNew: 233838K->16438K(235968K), 2.3361720 secs] 282874K->78856K(1022400K), 2.3365907 secs] | 459.288: [GC 459.288: [DefNew: 226230K->18275K(235968K), 0.4941213 secs] 288648K->84648K(1022400K), 0.4942972 secs] | 479.701: [GC 479.702: [DefNew: 228067K->14275K(235968K), 0.4610617 secs] 294440K->84463K(1022400K), 0.4612431 secs] Totaling up the differences in the "A->B" figures, that's a total of 1595MB garbage-collected. On JBoss, with the tweaks that got me the biggest performance gain, namely heap size increased to 1536MB and the MaxNew size set to 768MB (vs. 1024MB and 256MB for WebLogic), the output looks like this: 417.876: [GC 417.876: [DefNew: 147873K->6848K(157248K), 0.1584065 secs] 254811K->113787K(1555392K), 0.1585619 secs] | 418.741: [Full GC 418.742: [Tenured: 106938K->104471K(1398144K), 5.8910570 secs] 130645K->104471K(1555392K), | [Perm : 32410K->32375K(32512K)], 5.8912741 secs] | 431.097: [GC 431.097: [DefNew: 139775K->3583K(157248K), 0.1146439 secs] 244247K->108054K(1555392K), 0.1148095 secs] | 438.575: [GC 438.575: [DefNew: 143358K->4848K(157248K), 0.1276344 secs] 247829K->109319K(1555392K), 0.1278011 secs] | 445.096: [GC 445.096: [DefNew: 144624K->5849K(157248K), 0.8005188 secs] 249095K->110320K(1555392K), 0.8006881 secs] | 456.110: [GC 456.110: [DefNew: 145624K->7329K(157248K), 0.1943690 secs] 250095K->111800K(1555392K), 0.1945323 secs] | 463.571: [GC 463.571: [DefNew: 147071K->9693K(157248K), 0.2391462 secs] 251542K->114165K(1555392K), 0.2393058 secs] | 470.461: [GC 470.461: [DefNew: 149469K->11348K(157248K), 0.2775235 secs] 253941K->117005K(1555392K), 0.2776854 secs] | 477.302: [GC 477.302: [DefNew: 151124K->9799K(157248K), 0.9607772 secs] 256781K->119013K(1555392K), 0.9609508 secs] | 484.992: [Full GC 484.992: [Tenured: 109214K->120788K(1398144K), 4.1267928 secs] 248755K->120788K(1555392K), |[Perm : 32500K->32500K(32512K)], 4.1270046 secs] | 495.718: [GC 495.718: [DefNew: 139772K->1598K(157248K), 0.0804109 secs] 260560K->122386K(1555392K), 0.0806087 secs] | 502.776: [GC 502.776: [DefNew: 141364K->3113K(157248K), 0.1058699 secs] 262152K->123901K(1555392K), 0.1060297 secs] | 509.985: [GC 509.985: [DefNew: 142889K->5255K(157248K), 0.1436009 secs] 263677K->126043K(1555392K), 0.1437650 secs] | 520.092: [GC 520.092: [DefNew: 145031K->5883K(157248K), 0.1592386 secs] 265819K->126672K(1555392K), 0.1593999 secs] | 526.785: [GC 526.785: [DefNew: 145659K->7906K(157248K), 0.8480749 secs] 266448K->128694K(1555392K), 0.8482264 secs] | 533.990: [GC 533.990: [DefNew: 147682K->9275K(157248K), 0.2309098 secs] 268470K->130063K(1555392K), 0.2310682 secs] | 541.335: [GC 541.335: [DefNew: 149051K->9970K(157248K), 0.2338242 secs] 269839K->131308K(1555392K), 0.2339857 secs] | 547.981: [GC 547.981: [DefNew: 149746K->9285K(157248K), 0.2470304 secs] 271084K->132613K(1555392K), 0.2471913 secs] | 549.211: [Full GC 549.211: [Tenured: 123328K->130785K(1398144K), 3.6915951 secs] 145917K->130785K(1555392K), |[Perm : 32523K->32523K(32768K)], 3.6918101 secs] | 562.457: [GC 562.458: [DefNew: 139775K->5966K(157248K), 0.2013474 secs] 270561K->136752K(1555392K), 0.2015033 secs] That's a total of 4736MB of objects garbage-collected. I'm the first to admit I'm no expert on Java memory management! But I have to wonder if any amount of tweaking of GC settings is going to make up for a 3X difference in the amount of garbage that needs to be collected. If I'm interpreting those numbers incorrectly, I look forward to being set straight. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857949#3857949 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857949 --- 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-user] [Performance Tuning] - Re: JBoss vs. WebLogic tuning results
anonymous wrote : Have you tried 'cmp2.x jdbc2 pm' container? Just did, and it seems to not like redeploying my EJBs -- do I have to do something special to get redeployment to work? It spews exceptions like org.jboss.deployment.DeploymentException: Failed to register table cache for IP_AUC; - nested throwable: (javax.management.InstanceAlreadyExistsException: jboss.cmp:ejbname=Auction,service=tablecache,table=IP_AUC already registered.) and I have to restart the server. Which is a bit frustrating when I want to do a lot of redeployment to test my changes! View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857936#3857936 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857936 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Performance Tuning] - JBoss vs. WebLogic tuning results
I've been evaluating JBoss 4.0.1RC2 and WebLogic 8.1SP2 to host an online auction application. I'm now far enough along to have a few numbers, and I thought others might be interested in the effects of different tuning operations. The test server setup is the same for both: a BigIP load balancer set to do simple round-robining of HTTP requests, a bank of three Sun Ultra T1 servers running Apache 2 with mod_jk2 and mod_weblogic (each on its own virtual host), a cluster of two Sun Enterprise 220R servers with 4GB of memory to run the app server software (Sun JVM 1.4.2_06), and a Sun Enterprise 420R running Oracle 8. The test client for this particular set of numbers is a stress-test tool that opens a bunch of simultaneous connections and requests the "place a bid" JSP on the same item. As soon as each JSP returns a result, it immediately opens a new connection and places another bid. Cookies are not preserved across requests, so each one is a new HTTP session. The application is a combination of JDBC, session beans, and CMP entity beans, all local. One quirk is that it has its own internal equivalent of the JBoss Cache -- when a clusterwide variable is set, the machines in the cluster make HTTP requests to each other to keep everything in sync. Placing a bid depends on either one or two such requests depending on whether you've landed on the cluster's master server or one of the slaves. (I.e., each request will cause cross-cluster traffic.) Once a bid is placed and the result is returned to the client, there is some additional background tasks such as sending E-mail notifications. But you wanted to see numbers! With no tuning whatsoever, just the default "all" server configuration, JBoss completes a test run of 500 bids in 4:33. With optimistic locking and instance-per-transaction on all the relevant entity beans, the same test run takes 3:43. With the PreparedStatement cache configured, it's 2:44. With interval-based rather than synchronous HTTP session replication, that drops to 2:35. With a maximum heap size specified in the JVM startup arguments (-Xmx1024m) I get a nearly 50% speedup and the run time drops to 1:21. That got knocked down to 1:10 when I modified our intra-cluster code to remember session cookies between requests (cutting down on session creation) along with a few other tweaks such as fiddling with thread priority to reduce starvation. The speed increase from the JVM memory setting really surprised me, especially since I haven't seen it mentioned in any JBoss tuning manuals. Maybe it's just considered so obvious as to not be worth mentioning, I don't know. But it made as big a difference as all the other tuning steps combined. Now to WebLogic. It started off at 2:40 with no particular tuning effort. With the code tweaks I made in the course of testing JBoss, that dropped down to 1:40, but I don't know which changes in particular accounted for which parts of that speed increase. With the JVM memory settings recommended by BEA's tuning guide, the run time dropped to 0:57. With the JDBC connection pool set to a fixed size rather than dynamically growing and shrinking, the time dropped to a blazing fast 0:37. (Fiddling with the pool size had no measurable impact on JBoss, though I did try it.) So as things stand right now, for this particular test suite on this particular application, with all the tuning tweaks I know how to do, WebLogic is a little under twice as fast as JBoss. One thing I've noticed from watching the tests run is that JBoss seems to be a lot burstier in its responses. It will crank along for 30 or 40 requests at about the same rate as WebLogic, maybe even a tad faster. Then it will pause for a few seconds, respond to another 10 or 15 requests, pause for a second, and so on. It looks like garbage collection, as there is often no activity in my debug logs during the pauses. WebLogic's results come back at a steady pace with no hiccups. The application code is exactly the same in both cases, so the app servers must be doing something very different with their memory management (assuming I'm correct about it being garbage collection.) I plan to run other benchmarks and try out any other tweaks that I can find. If I get any interesting results I'll be sure to report them here. And of course I welcome any suggestions people have based on my admittedly vague description of my setup. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857829#3857829 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857829 --- 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-user m
[JBoss-user] [Clustering/JBoss] - Re: HTTP session replication ConcurrentModificationException
Thanks, that seems to have done the trick! View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857681#3857681 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857681 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Clustering/JBoss] - Re: HTTP session replication ConcurrentModificationException
I should add that switching to asynchronous instant replication, or to interval-based replication, does not seem to help. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857645#3857645 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857645 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Installation & Configuration] - Re: NullPointerException in PreparedStatementCache.ageOut
Thanks! That seems to have done the trick. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857636#3857636 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857636 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Clustering/JBoss] - HTTP session replication ConcurrentModificationException
I have a stress test tool that does lots of JSP fetches without retaining any cookies between requests. The container therefore is creating a new session for each request (which is the expected behavior) and my JSP code is setting a few session attributes when it sees it's dealing with a new session. On a standalone server, this works fine. Once I'm running in a cluster with synchronous HTTP session replication, I start getting lots of these: 23:59:59,284 ERROR [OrderedSynchronizationHandler] failed calling afterCompletion() on [EMAIL PROTECTED] | java.util.ConcurrentModificationException | at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:448) | at java.util.AbstractList$Itr.next(AbstractList.java:419) | at java.util.AbstractCollection.toString(AbstractCollection.java:454) | at java.lang.String.valueOf(String.java:2131) | at java.lang.StringBuffer.append(StringBuffer.java:370) | at org.jboss.cache.lock.IdentityLock.toString(IdentityLock.java:303) | at java.lang.String.valueOf(String.java:2131) | at java.lang.StringBuffer.append(StringBuffer.java:370) | at org.jboss.cache.TreeCache.commit(TreeCache.java:2818) | at org.jboss.cache.interceptors.TransactionInterceptor$SynchronizationHandler.afterCompletion(TransactionInterceptor.java:108) | at org.jboss.cache.interceptors.OrderedSynchronizationHandler.afterCompletion(OrderedSynchronizationHandler.java:79) | at org.jboss.tm.TransactionImpl.doAfterCompletion(TransactionImpl.java:1418) | at org.jboss.tm.TransactionImpl.completeTransaction(TransactionImpl.java:1090) | at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:349) | at org.jboss.tm.TxManager.commit(TxManager.java:200) | at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:126) | at org.jboss.web.tomcat.tc5.session.JBossCacheManager.processSessionRepl(JBossCacheManager.java:364) | at org.jboss.web.tomcat.tc5.session.JBossCacheManager.storeSession(JBossCacheManager.java:213) | at org.jboss.web.tomcat.tc5.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:37) | at org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:91) | at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) | at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) | at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) | at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) | at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) | at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) | at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) | at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) | at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) | at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300) | at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374) | at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743) | at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675) | at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866) | at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) | at java.lang.Thread.run(Thread.java:534) It looks like maybe the fact that I'm setting session attributes while another thread is creating a new session is causing the session replication code to get confused. Anyone else seen this behavior? View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857635#3857635 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857635 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Installation & Configuration] - Re: NullPointerException in PreparedStatementCache.ageOut
No joy. I checked out the latest sources from CVS just now, and I still get the same exception: java.lang.NullPointerException at org.jboss.resource.adapter.jdbc.PreparedStatementCache.ageOut(PreparedStatementCache.java:37) at org.jboss.util.LRUCachePolicy$LRUList.demote(LRUCachePolicy.java:346) at org.jboss.util.LRUCachePolicy.insert(LRUCachePolicy.java:162) at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:350) at org.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:205) ... For good measure, I tried checking out both the "jboss-4.0" module and the "jboss-head" module; same result from both. Has this fix not hit CVS yet? If not, is there a patch I can apply? View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857633#3857633 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857633 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Installation & Configuration] - Re: NullPointerException in PreparedStatementCache.ageOut
I'm still seeing this problem in 4.0.1RC2, which was just released (over a month after the bug in question was marked closed, so I assume it ought to include the fix.) View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857448#3857448 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857448 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Installation & Configuration] - Re: NullPointerException in PreparedStatementCache.ageOut
I started seeing the same problem under 4.0.1RC1 when I turned on the prepared statement cache. My OS is Solaris 9, JVM is Sun's 1.4.2_06 on a dual-processor SPARC server talking to an Oracle 8i database. So I guess we've established that it's not OS-specific, it's not database-specific, and it's not JBoss version-specific! The start of my stack trace: java.lang.NullPointerException at org.jboss.resource.adapter.jdbc.PreparedStatementCache.ageOut(PreparedStatementCache.java:37) at org.jboss.util.LRUCachePolicy$LRUList.demote(LRUCachePolicy.java:346) at org.jboss.util.LRUCachePolicy.insert(LRUCachePolicy.java:162) at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:350) at org.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:205) (The next stack element is my application code that's doing a JDBC prepareStatement() call.) Any ideas on this? View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857278#3857278 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857278 --- 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-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [The Lizzard's corner] - Re: Forum search doesn't do
That seems to work. Thanks. Had no idea it was case-sensitive. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3855069#3855069 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3855069 --- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Clustering/JBoss] - Re: Can't get sticky sessions to work
Got it! It turns out there's one other thing you have to change. It's not documented in the 3.x clustering book or the "using mod_jk with JBoss" wiki page, but if you dig around in the wiki enough, you come across a link to "New JBoss3.2.6 Tomcat session replication" which has a brief mention of the extra configuration item. Edit jbossweb-tomcat50.sar/META-INF/jboss-service.xml, search for "UseJK", and set its value to "true", like: true Once I did that and restarted, JBoss started putting the jvmRoute value at the end of my JSESSIONID cookies, and my sessions are now sticky. (The mod_jk2 configuration isn't an issue; it's the Tomcat configuration.) Hope this helps someone else out there. If any of the JBoss developers are reading this, please please please add this to the 4.x clustering book so the next person doesn't waste a couple of days setting up what should be fairly basic functionality. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3855044#3855044 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3855044 --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Clustering/JBoss] - Re: Can't get sticky sessions to work
Just tried that, no change in behavior. The machines can definitely ping each other by name. I wonder... Are you sure you're actually getting sticky sessions? If you reload a JSP or servlet a bunch of times, do the requests only ever go to one of the app servers? And when you clear the JSESSIONID cookie, do you sometimes get the other server? I don't see how that JSESSIONID could work -- after I tried your latest suggestion, I browsed through the mod_jk2 source code. I'm looking at jk_requtil.c (the jk2_requtil_getSessionRoute function) and jk_worker_lb.c (the jk2_get_most_suitable_worker function). Unless I'm just completely misreading the code, it looks like if the JSESSIONID doesn't include a ".", the lb worker will round-robin the request among all its available servers (paying attention to the lb_factor, of course.) It doesn't look like there's any path through the code that would cause a JSESSIONID with no period to stick to a particular server -- apart from pulling out the jvmRoute value, the load balancer code doesn't even look at the session cookie. Thanks for taking the time to keep up with this thread! View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3855030#3855030 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3855030 --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [The Lizzard's corner] - Forum search doesn't do
Has anyone gotten the search function on this message board to do "and" queries (search for threads containing X and Y)? It seems like it turns the "and" into "or". For example, search for "InitialContext" and you get 2433 matches. Search for "InitialContext and EJB" and you get 17258 matches -- adding an additional search term should reduce the number of results! You get the same thing if you search for "InitialContext EJB" and select the "search for all terms" radio button. Am I missing something obvious here? This makes the search function next to useless for me -- unless I get very lucky, any single word I search for will have way too many hits to read through. Hope this is the right place to post this. There doesn't seem to be a forum for comments about the jboss.org site itself. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3854953#3854953 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3854953 --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Clustering/JBoss] - Re: Can't get sticky sessions to work
Oh, I should add that I also tried replacing the hostnames with the IP addresses in the channel definitions, no effect that I can tell. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3854950#3854950 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3854950 --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Clustering/JBoss] - Re: Can't get sticky sessions to work
Thanks for the suggestion. I modified my workers2.properties to look like yours, but still no stickiness. Apache still happily talks to both of the app servers, but if I open a browser, go to one of my JSPs, and repeatedly reload the page, I see the requests going to both app servers instead of just to the one that handled the initial request. Can you tell me what your JSESSIONID cookie looks like after you visit a page on one of your servers? I believe it's supposed to look like (random characters).(server ID) if sticky sessions are enabled, but perhaps the documentation is wrong on that point. Here's my new workers2.properties. [logger] | level=DEBUG | | [config:] | file=/etc/apache2/workers2.properties | debug=0 | debugEnv=0 | | [shm] | file=/tmp/mod_jk2_shm.file | size=1048576 | debug=0 | disabled=0 | | [workerEnv:] | info=Global server options | timing=1 | debug=0 | | [lb:lb] | info=Default load balancer. | debug=1 | | [channel.socket:sgrimm1:8009] | port=8009 | host=10.0.0.1 | lb_factor=100 | | [channel.socket:sgrimm2:8009] | port=8009 | host=10.0.0.2 | lb_factor=100 | | [uri:/jsp/*] | info=JSPs. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3854949#3854949 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3854949 --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Clustering/JBoss] - Can't get sticky sessions to work
I have a cluster of two JBoss 4.0.1RC1 servers sitting behind an Apache 2 server running mod_jk2. The Apache server is doing load balancing and failover, but so far I have been completely unable to get session stickiness to work. The JSESSIONID cookie never includes the jvmRoute value. I've modified my jbossweb-tomcat50.sar/server.xml file's Engine tag: host 1: host 2: My application's web.xml has the "distributable" tag. The two hosts see each other in the cluster; I get log messages at startup like 14:37:20,056 INFO [DefaultPartition] New cluster view for partition DefaultPartition: 9 ([10.0.0.1:1099, 10.0.0.2:1099] delta: 0) | 14:37:20,067 INFO [DefaultPartition] I am (null) received membershipChanged event: | 14:37:20,071 INFO [DefaultPartition] Dead members: 0 ([]) | 14:37:20,076 INFO [DefaultPartition] New Members : 0 ([]) | 14:37:20,080 INFO [DefaultPartition] All Members : 2 ([10.0.0.1:1099, 10.0.0.2:1099]) I tried running a network sniffer on the traffic between Apache and JBoss, and I see that JBoss is sending back a JSESSIONID cookie that doesn't include the jvmRoute value. So I assume it's not a problem with the configuration on the Apache side. Or is mod_jk2 supposed to be the thing that appends the jvmRoute to the session cookie? Here's my workers2.properties just in case it's relevant. [shm] | file=/tmp/mod_jk2_shm.file | size=1048576 | | [channel.socket:sgrimm1:8009] | [channel.socket:sgrimm2:8009] | | [ajp13:sgrimm1:8009] | channel=channel.socket:sgrimm1:8009 | tomcatId=sgrimm1 | | [ajp13:sgrimm2:8009] | channel=channel.socket:sgrimm2:8009 | tomcatId=sgrimm2 | | [status:status] | | [lb:lb] | stickySession=1 | | [uri:/jsp/*] | worker=lb | | [uri:/jmx-console/*] | worker=lb I originally had "[lb]" instead of "[lb:lb]" but it made no difference. In attempting to diagnose the problem, I tried adding a debug logger to the Tomcat server.xml, using the existing logger as a guide: I don't get any debug output, but I do get this message: 13:35:30,262 INFO [STDOUT] Can't find resource org.jboss.web.tomcat.session.LocalStrings [EMAIL PROTECTED] | 13:35:30,265 INFO [STDOUT] [Ljava.net.URL;@1e16028 (It looks like there is a LocalStrings.properties in org.jboss.web.tomcat.tc5.session, but not in org.jboss.web.tomcat.session.) Any thoughts on how I can diagnose this, or better yet, fix it? View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3854897#3854897 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3854897 --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Advanced Documentation] - 3.x clustering book good for 4.0 too?
I'm looking to set up a 4.0 cluster, but there seems to be zero documentation on the subject. How applicable is the 3.x clustering documentation to 4.0? If everything stayed pretty much the same, then I'll happily buy the book, but if there were a lot of changes, I'd just be wasting money. Thanks! View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3854026#3854026 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3854026 --- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Installation & Configuration] - Re: deployment dependencies working differently in jboss4.0.
I'm having a very similar problem, probably the same root cause: I have an MBean that talks to a session bean that lives in an exploded ear. It worked fine in 3.x but in 4.0.0 when it tries to do the JNDI lookup on the local home interface, I get javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: (my EJB home class)] I've defined a dependency on the MBean so it loads after the EJB is deployed, but that doesn't help. Something clearly changed in this area between 3.2 and 4.0.0. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3852129#3852129 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3852129 --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user