[JBoss-user] [Performance Tuning] - Re: JBoss vs. WebLogic tuning results

2004-12-16 Thread koreth
"[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

2004-12-09 Thread koreth
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

2004-12-08 Thread koreth
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

2004-12-08 Thread koreth
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

2004-12-08 Thread koreth
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

2004-12-07 Thread koreth
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

2004-12-07 Thread koreth
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

2004-12-06 Thread koreth
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

2004-12-06 Thread koreth
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

2004-12-06 Thread koreth
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

2004-12-06 Thread koreth
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

2004-12-04 Thread koreth
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

2004-12-02 Thread koreth
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

2004-11-12 Thread koreth
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

2004-11-12 Thread koreth
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

2004-11-12 Thread koreth
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

2004-11-12 Thread koreth
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

2004-11-11 Thread koreth
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

2004-11-11 Thread koreth
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

2004-11-11 Thread koreth
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?

2004-11-05 Thread koreth
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.

2004-10-20 Thread koreth
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