Hi All,

We have faced problem when upgrading one of ActiveMQ Artemis servers from 
2.32.0 to 2.33.0.
Artemis cannot start and writes an error to the log:

2024-04-18 13:31:44,975 ERROR [org.apache.activemq.artemis.core.server] 
AMQ224000: Failure in initialisation
java.lang.IndexOutOfBoundsException: readerIndex(82) + length(1) exceeds 
writerIndex(82): UnpooledHeapByteBuf(ridx: 82, widx: 82, cap: 82/82)
        at 
io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1442) 
~[netty-buffer-4.1.107.Final.jar:4.1.107.Final]
        at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:730) 
~[netty-buffer-4.1.107.Final.jar:4.1.107.Final]
        at io.netty.buffer.WrappedByteBuf.readByte(WrappedByteBuf.java:529) 
~[netty-buffer-4.1.107.Final.jar:4.1.107.Final]
        at 
org.apache.activemq.artemis.api.core.SimpleString.readNullableSimpleString(SimpleString.java:150)
 ~[artemis-commons-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper.readNullableSimpleString(ChannelBufferWrapper.java:79)
 ~[artemis-commons-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.persistence.config.PersistedSecuritySetting.decode(PersistedSecuritySetting.java:255)
 ~[artemis-server-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.newSecurityRecord(AbstractJournalStorageManager.java:2127)
 ~[artemis-server-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.lambda$loadBindingJournal$5(AbstractJournalStorageManager.java:1640)
 ~[artemis-server-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.utils.collections.SparseArrayLinkedList$SparseArray.clear(SparseArrayLinkedList.java:114)
 ~[artemis-commons-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.utils.collections.SparseArrayLinkedList.clearSparseArrayList(SparseArrayLinkedList.java:173)
 ~[artemis-commons-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.utils.collections.SparseArrayLinkedList.clear(SparseArrayLinkedList.java:227)
 ~[artemis-commons-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.loadBindingJournal(AbstractJournalStorageManager.java:1613)
 ~[artemis-server-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.loadJournals(ActiveMQServerImpl.java:3856)
 ~[artemis-server-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart2(ActiveMQServerImpl.java:3489)
 ~[artemis-server-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.server.impl.ReplicationPrimaryActivation.run(ReplicationPrimaryActivation.java:145)
 [artemis-server-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:738)
 [artemis-server-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:628)
 [artemis-server-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:66) 
[artemis-cli-2.33.0.jar:2.33.0]
        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:130) 
[artemis-cli-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:221) 
[artemis-cli-2.33.0.jar:2.33.0]
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:167) 
[artemis-cli-2.33.0.jar:2.33.0]
        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) 
[artemis-boot.jar:2.33.0]
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:64) 
[artemis-boot.jar:2.33.0]

and warning:

2024-04-18 13:31:45,977 WARN  
[org.apache.activemq.artemis.utils.actors.OrderedExecutor] Server locator is 
closed (maybe it was garbage collected)
java.lang.IllegalStateException: Server locator is closed (maybe it was garbage 
collected)
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.assertOpen(ServerLocatorImpl.java:1906)
 ~[artemis-core-client-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:678)
 ~[artemis-core-client-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:579)
 ~[artemis-core-client-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:558)
 ~[artemis-core-client-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.core.server.cluster.ClusterController$ConnectRunnable.run(ClusterController.java:501)
 ~[artemis-server-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:57)
 ~[artemis-commons-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
 ~[artemis-commons-2.33.0.jar:2.33.0]
        at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:68)
 ~[artemis-commons-2.33.0.jar:2.33.0]
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
 [?:?]
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
 [?:?]
        at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
 [artemis-commons-2.33.0.jar:2.33.0]

It can start with new version only if we remove all existing data from Artemis 
instance data directory.
Also we have exported all data from this non-working instance with version 
2.33.0 using artemis data exp utility, and imported to another instance with 
version 2.33.0, and it has been started successfully.
Artemis is configured using primary/backup replication with pluggable quorum.
We have also successfully upgraded several other instances of Artemis which has 
smaller number of producers/consumers and lower throughput.

--
Best regards,
Aleksandr



-----------------------------------

This message and any attachment are confidential and may be privileged or 
otherwise protected from disclosure. If you are not the intended recipient any 
use, distribution, copying or disclosure is strictly prohibited. If you have 
received this message in error, please notify the sender immediately either by 
telephone or by e-mail and delete this message and any attachment from your 
system. Correspondence via e-mail is for information purposes only. AO 
Raiffeisenbank neither makes nor accepts legally binding statements by e-mail 
unless otherwise agreed.

-----------------------------------

Reply via email to