Valeriy Ak created ARTEMIS-5100:
-----------------------------------

             Summary: Cannot initialize queue: resource temporarily unavailable 
on auto tuning journal
                 Key: ARTEMIS-5100
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5100
             Project: ActiveMQ Artemis
          Issue Type: Bug
    Affects Versions: 2.35.0, 2.33.0
            Reporter: Valeriy Ak


When the broker starts in the cloud, it runs the {{docker-run.sh}} script.

This script performs auto-tuning for the journal (to achieve the best 
performance).

However, the auto-tuning does not read {{broker.xml}} as I expected. Instead, 
it tries to determine the parameters for {{SyncCalculation.syncTest}} by itself.
 
It retrieves the default value for {{maxio}} from 
{{{}ActiveMQDefaultConfiguration.getDefaultJournalMaxIoAio(){}}}, which cannot 
be changed through configuration parameters or any other way (the value is 
4096).
 
Thus, when {{newContext}} is called and it invokes the native 
{{{}io_queue_init{}}}, we encounter an error, and the execution stops.
{code:java}
 Auto tuning journal ...java.lang.RuntimeException: Cannot initialize 
queue:Resource temporarily unavailable        at 
org.apache.activemq.artemis.nativo.jlibaio.LibaioContext.newContext(Native 
Method)        at 
org.apache.activemq.artemis.nativo.jlibaio.LibaioContext.<init>(LibaioContext.java:180)
        at 
org.apache.activemq.artemis.core.io.aio.AIOSequentialFileFactory.start(AIOSequentialFileFactory.java:290)
        at 
org.apache.activemq.artemis.cli.commands.util.SyncCalculation.newFactory(SyncCalculation.java:246)
        at 
org.apache.activemq.artemis.cli.commands.util.SyncCalculation.syncTest(SyncCalculation.java:80)
        at 
org.apache.activemq.artemis.cli.commands.Create.performAutoTune(Create.java:1045)
        at org.apache.activemq.artemis.cli.commands.Create.run(Create.java:824) 
       at 
org.apache.activemq.artemis.cli.commands.Create.execute(Create.java:520)        
at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:221)    
    at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:167)        
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)        at 
org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:157)        at 
org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:64)Couldn't perform 
sync calculation, using default values{code}
 

I think it happened because the max-io value in the guest OS might be lower 
than the default value in Artemis.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to