[ 
https://issues.apache.org/jira/browse/ARTEMIS-5100?focusedWorklogId=954814&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-954814
 ]

ASF GitHub Bot logged work on ARTEMIS-5100:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 31/Jan/25 04:28
            Start Date: 31/Jan/25 04:28
    Worklog Time Spent: 10m 
      Work Description: jbertram commented on code in PR #5455:
URL: https://github.com/apache/activemq-artemis/pull/5455#discussion_r1936662597


##########
artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Create.java:
##########
@@ -327,6 +327,9 @@ public String[] getStaticNodes() {
    @Option(names = "--jdbc-lock-expiration", description = "Lock expiration 
(in milliseconds).")
    long jdbcLockExpiration = 
ActiveMQDefaultConfiguration.getDefaultJdbcLockExpirationMillis();
 
+   @Option(names = "--journal-max-aio", description = "The journal-max-io 
value to use when also using the ASYNCIO journal-type. When using NIO or MAPPED 
this value is always '1'. Default: 4096")

Review Comment:
   I settled on `--journal-max-io` just like we already have in the XML. 
Although it's not perfectly descriptive at least it's consistent, and the help 
text should provide enough information to clarify how to use it.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 954814)
    Time Spent: 1h 40m  (was: 1.5h)

> Add support for modifying journal-max-io to create CLI command
> --------------------------------------------------------------
>
>                 Key: ARTEMIS-5100
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5100
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Configuration
>    Affects Versions: 2.33.0, 2.35.0
>            Reporter: Valeriy Ak
>            Assignee: Justin Bertram
>            Priority: Minor
>              Labels: asyncio, cloud, journal, pull-request-available
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> 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 uses 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.
> {noformat}
> 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{noformat}
> 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