You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Donald Woods <dw...@apache.org> on 2008/04/14 14:51:05 UTC

Re: HOWL exception

Benjamin, did Kevan's proposed fix work for your scenario?
If so, we need to know ASAP, so we can pull the fix (GERONIMO-3930) into 
the 2.1.1 release....


-Donald


Kevan Miller wrote:
> 
> 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
> 
>