geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevan Miller <kevan.mil...@gmail.com>
Subject Re: HOWL exception
Date Tue, 18 Mar 2008 18:27:35 GMT

On Mar 14, 2008, at 6:25 AM, Tomasz Mazan wrote:

>
> Hi Guys
> I got very ugly (and blocking) issue with HOWL.
> After processing 20k request to my webservice whose are translated  
> to ~120k
> XA transactions (postgres  + jms) Geronimo hangs up and does not  
> respond on
> requests via HTTP, request to JMS engine (from HermesJMS) and  
> ignores tries
> to shutdown server.
>
> I stopped Geronimo with kill -9 and tried to start it again and got
> exception:
>
> Module 11/69 org.apache.geronimo.configs/activemq-ra/2.1-SNAPSHOT/car
> 10:22:15,325 ERROR [GBeanInstanceState] Error while starting; GBean  
> is now
> in the FAILED state:
> abstractName="org.apache.geronimo.configs/transaction/2.1-SNAPSHOT/ 
> car?ServiceModule=org.apache.geronimo.configs/transaction/2.1- 
> SNAPSHOT/car,j2eeType=TransactionLog,name=HOWLTransactionLog"
> java.lang.IllegalArgumentException: Negative position
>        at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:613)
>        at
> org.objectweb.howl.log.BlockLogBuffer.read(BlockLogBuffer.java:412)
>        at
> org.objectweb.howl.log.LogFileManager.read(LogFileManager.java:641)

Hi Beniamin,
Looks like we're configuring HOWL to create an infinite number of  
blocks in the tx log files. I think we need to limit this to prevent  
this IllegalArgumentException. Try adding this to your config.xml:

     <module name="org.apache.geronimo.configs/transaction/2.1- 
SNAPSHOT/car">
         <gbean name="HOWLTransactionLog">
             <attribute name="maxBlocksPerFile">65534</attribute>
         </gbean>
     </module>

By my calculations, 65,535 blocks * 32 kbytes per block = 2**31 - 1. I  
believe HOWL stores a file header in each log file. So, need to leave  
some room for that, also...

Actually, might make sense to knock the maxBlocksPerFile size down  
even further for testing purposes... Also, would be great if you could  
run these tests with the latest AMQ and OpenEJB fixes to avoid the  
IllegalStateException's.

I'm not entirely sure why your server became unresponsive. So, we may  
have some additional work to do...

--kevan


Mime
View raw message