users@glassfish.java.net

3.1.2 upgrade gone horribly wrong

From: Glenn Holmer <gholmer_at_weycogroup.com>
Date: Tue, 29 May 2012 09:38:37 -0500

We upgraded two of our lowest-traffic servers from GlassFish 3.1.1 to
3.1.2. Unfortunately, we had to roll back the upgrade due to a constant
stream of the following exceptions in both machines' log files:

[#|2012-05-29T06:55:07.477-0500|SEVERE|glassfish3.1.2|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=107;_ThreadName=Thread-2;|GRIZZLY0051: ProcessorTask exception.
java.lang.IndexOutOfBoundsException
        at java.nio.Buffer.checkBounds(Buffer.java:559)
        at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:143)
        at com.sun.grizzly.util.InputReader.read(InputReader.java:216)
        at com.sun.grizzly.http.ajp.AjpInputBuffer.ensureAvailable(AjpInputBuffer.java:210)
        at com.sun.grizzly.http.ajp.AjpInputBuffer.readAjpMessageHeader(AjpInputBuffer.java:79)
        at com.sun.grizzly.http.ajp.AjpProcessorTask.parseRequest(AjpProcessorTask.java:107)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:706)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
        at java.lang.Thread.run(Thread.java:722)
|#]

As part of the install, we replaced two Grizzly jar files as suggested
in the following JIRA issue:

http://java.net/jira/browse/GLASSFISH-18446

This was done because we were unable to front GF with Apache without
these files. Could this be related?

We set up for Apache with the following commands:

asadmin create-http-listener --listenerport 8009 --listeneraddress 0.0.0.0 --defaultvs server jk-listener
asadmin set server-config.network-config.network-listeners.network-listener.jk-listener.jk-enabled=true

We then create a new thread pool named "jk-thread-pool", with minimum
size 5 and maximum 150, and set the jk-listener to use that.

Can anyone provide any insight into the issue?

-- 
____________________________________________________________
Glenn Holmer                          gholmer_at_weycogroup.com
Software Engineer                        phone: 414-908-1809
Weyco Group, Inc.                          fax: 414-908-1601