5 Replies Latest reply on May 30, 2008 1:31 AM by clebert.suconic

    AIO error

    timfox

      I get the following error when trying run

      perfListener then perfSender

      with

      
      
       [echo] * available parameters (-Dmessage.count=1000)
       [echo] *
       [echo] * parameter description default current
       [echo] * --------- ----------- ------- -------
       [echo] * message.count number of messages 200000 200000
       [echo] * message.warmup.count number of messages to warm up 10000 10000
       [echo] * delivery.mode PERSISTENT/NON_PERSISTENT NON_PERSISTENT PERSISTENT
       [echo] * sess.trans Is session transacted false false
       [echo] * sess.trans.size batch size to commit 1000 1000
       [echo] * sess.ackmode Ack mode DUPS_OK/AUTO_ACK DUPS_OK DUPS_OK
       [echo] * drain.queue drain the queue (listener only) true true
       [echo] * queue.lookup Queue JNDI lookup /queue/testPerfQueue /queue/testPerfQueue
       [echo] * cf.lookup ConnectionFactory JNDI lookup /ConnectionFactory /
      
      
       [java] java.lang.RuntimeException: Can't initialize aio
       [java] at org.jboss.messaging.core.asyncio.impl.AsynchronousFileImpl.init(Native Method)
       [java] at org.jboss.messaging.core.asyncio.impl.AsynchronousFileImpl.open(AsynchronousFileImpl.java:135)
       [java] at org.jboss.messaging.core.journal.impl.AIOSequentialFile.open(AIOSequentialFile.java:162)
       [java] at org.jboss.messaging.core.journal.impl.JournalImpl.openFile(JournalImpl.java:1523)
       [java] at org.jboss.messaging.core.journal.impl.JournalImpl.pushOpenedFile(JournalImpl.java:1618)
       [java] at org.jboss.messaging.core.journal.impl.JournalImpl.access$200(JournalImpl.java:70)
       [java] at org.jboss.messaging.core.journal.impl.JournalImpl$3.run(JournalImpl.java:1586)
       [java] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
       [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
       [java] at java.lang.Thread.run(Thread.java:619)
      
      


        • 1. Re: AIO error
          clebert.suconic

          The client is starting the journal? It shouldn't be doing it.

          I would need to look at what changed? Maybe someone already know it.

          • 2. Re: AIO error
            timfox

            What do you mean "the client is starting the journal"?

            • 3. Re: AIO error
              clebert.suconic

               

              What do you mean "the client is starting the journal"?


              NM.. ignore me... i could replicate the error.
              I thought the error was happening on the client side. My bad interpretation.

              • 4. Re: AIO error
                clebert.suconic

                As the close and open are both asynchronous, at high rates we could have 5 or 6 files opened what would maximize the max AIO on the OS.

                I want to add a retry block on open, but since that will require some minor changes on the native layer I will leave it for Beta. My concern is this excpetion is thrown by a constructor and I'm concerned If we keep retrying to open the file, hitting the constructor and ignoring the memory created. I don't know what are the consequences and I don't have enough time to test this before alpha. A simple and easy change.. but requires testing. (It is almost done on my workspace BTW.. but I won't commit it now)

                The native layer is stable for a while already and I would like to keep as is for Alpha now.

                I have added these two tasks to revisit this on Beta:

                http://jira.jboss.org/jira/browse/JBMESSAGING-1350 - Revisit Error codes and messages on exceptions thrown by the native layer
                http://jira.jboss.org/jira/browse/JBMESSAGING-1349 - Retry blocks on asynchronous open

                Maybe I will make one tiny change on the native layer before the release that wouldn't cause any issues though... just to change that error message. (Can't initialize aio). It is an optional task.

                • 5. Re: AIO error
                  clebert.suconic

                  I forgot to say that for the release... making MaxAIO=5000 on jbm-configuration is good enough for Alpha what fixed this error message already.