On Apr 15, 2008, at 5:36 AM, Tomasz Mazan wrote:



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




Kevan

I got new exception on startup

<pre>
Module 14/67 org.apache.geronimo.configs/transaction/2.1-SNAPSHOT/car
11:30:19,196 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"
org.objectweb.howl.log.LogConfigurationException: Configured file size
[65534] blocks not equal previous file size [2147483647] blocks

Yes. I'm afraid you can only configure maxBlocksPerFile (and perhaps a few other TransactionLog attributes) before you start the server for the very first time. You'll either need a fresh install of Geronimo or delete your old transaction log files before you restart the server.

--kevan



Reply via email to