On Thu, Oct 13, 2022 at 2:41 PM Stephen Baker < stephen.ba...@rmssoftwareinc.com> wrote:
> Fancy, that upgrade tool sounds great – much better than the pile of sed > scripts I usually write for migrations. > > Is there anywhere I can read more about it yet? Not yet. I had exchanged some ideas with some of my co workers where I work at. Still an idea but it’s firm on what I have to do. I will update a PR I have about config. > > Thanks for the quick patch! > > From: Clebert Suconic <clebert.suco...@gmail.com> > Date: Thursday, October 13, 2022 at 2:03 PM > To: users@activemq.apache.org <users@activemq.apache.org> > Subject: Re: Mirror compatibility across versions > you have to replace the script... > > > We will have by next week, a tool where you would > > > /path/to/newVersion/bin/artemis upgrade /path/to/old/instance > > > We would replace the artemis script, and the logging configuration. > > > On Thu, Oct 13, 2022 at 1:52 PM Stephen Baker > <stephen.ba...@rmssoftwareinc.com> wrote: > > > > Because bin/artemis includes references to the jboss logmanager causing > artemis to fail on startup > > > > Diffing my two instances I see: > > # Set Defaults Properties > > ARTEMIS_LOGGING_CONF="$ARTEMIS_INSTANCE_ETC_URI/logging.properties" > > ARTEMIS_LOG_MANAGER=org.jboss.logmanager.LogManager > > > > > > # finding the Log Manager > > LOG_MANAGER=`ls $ARTEMIS_HOME/lib/jboss-logmanager*jar 2>/dev/null` > > > > if [ -z "$LOG_MANAGER" ] ; then > > # this is the one found when the server was created > > LOG_MANAGER="$ARTEMIS_HOME/lib/jboss-logmanager-2.1.10.Final.jar" > > fi > > > > WILDFLY_COMMON=`ls $ARTEMIS_HOME/lib/wildfly-common*jar 2>/dev/null` > > if [ -z "$WILDFLY_COMMON" ] ; then > > # this is the one found when the server was created > > WILDFLY_COMMON="$ARTEMIS_HOME/lib/wildfly-common-1.5.2.Final.jar" > > fi > > > > -Xbootclasspath/a:"$LOG_MANAGER:$WILDFLY_COMMON" \ > > > > and > > > > -Djava.util.logging.manager="$ARTEMIS_LOG_MANAGER" \ > > -Dlogging.configuration="$ARTEMIS_LOGGING_CONF" \ > > > > all have to go. > > > > I also see a change in the schema for bootstrap.xml (binding child of > web), and the browse permission added to management.xml > > > > Along with the new log4j.properties you mentioned > > > > Some of those changes might be earlier if they’re backwards compatible, > I’ve carried forward this configuration for awhile, but in particular the > shell script changes appear to be manditory. > > > > From: Clebert Suconic <clebert.suco...@gmail.com> > > Date: Thursday, October 13, 2022 at 12:49 PM > > To: users@activemq.apache.org <users@activemq.apache.org> > > Subject: Re: Mirror compatibility across versions > > I think the record would pile up unacked at the source mirror. > > > > > > and @Stephen baker: sorry about my mistake on this fix... > > > > > > Why would the upgrade be difficult on 2.27? it's just adding a > > log4j2.properties.. everything else should be the same. > > > > > > You should probably bring a patched version yourself until we can make > > a release? I'm thinking we should make a release next week. > > > > On Thu, Oct 13, 2022 at 10:27 AM Stephen Baker > > <stephen.ba...@rmssoftwareinc.com> wrote: > > > > > > Your patch does resolve the error. Artemis 2.27 looks like it will be > a difficult upgrade, I ended up making a new instance and merging config > over. > > > > > > I have pasted a trace in > https://issues.apache.org/jira/browse/ARTEMIS-4045 > > > > > > What is the impact of this issue? I’m trying to decide whether to > advise our IT team to continue with the planned upgrade or hold off until > 2.27. We will definitely encounter this condition in production. From a > surface reading, possibly a resource leak? > > > > > > > > > > > > > > > From: Clebert Suconic <clebert.suco...@gmail.com> > > > Date: Wednesday, October 12, 2022 at 9:54 PM > > > To: users@activemq.apache.org <users@activemq.apache.org> > > > Subject: Re: Mirror compatibility across versions > > > Notice that main is now using SLF4j / log4j... (in case you manually > > > upgrade to a snapshot) > > > > > > > > > We are still working the details for an upgrade. > > > > > > > > > if you need to patch your 2.25.0 it's a straight change to make there > > > > > > On Wed, Oct 12, 2022 at 9:52 PM Clebert Suconic > > > <clebert.suco...@gmail.com> wrote: > > > > > > > > I don't know how I would test it yet. It's fairly late in the night > > > > for me.. I will think about it tomorrow. > > > > > > > > > > > > but here is a tentative fix: > > > > > > > > https://github.com/apache/activemq-artemis/pull/4256 > > > > > > > > On Wed, Oct 12, 2022 at 9:30 PM Stephen Baker > > > > <stephen.ba...@rmssoftwareinc.com> wrote: > > > > > > > > > > That’s the full output with regular logging levels. I can > reproduce at will so I have enabled trace level logging and pasted the > result in https://issues.apache.org/jira/browse/ARTEMIS-4045 > > > > > > > > > > Let’s take further discussion there? > > > > > > > > > > From: Clebert Suconic <clebert.suco...@gmail.com> > > > > > Date: Wednesday, October 12, 2022 at 9:10 PM > > > > > To: users@activemq.apache.org <users@activemq.apache.org> > > > > > Subject: Re: Mirror compatibility across versions > > > > > is this the actual trace? or you cut some to post here? > > > > > > > > > > > > > > > Just puzzled by skipDelivery calling performAck.. > > > > > > > > > > artemis-test-artemis-1-m-1 | at > > > > > > org.apache.activemq.artemis.protocol.amqp.connect.mirror.AMQPMirrorControllerTarget.lambda$performAck$2(AMQPMirrorControllerTarget.java:377) > > > > > [artemis-amqp-protocol-2.25.0.jar:2.25.0] > > > > > artemis-test-artemis-1-m-1 | at > > > > > > org.apache.activemq.artemis.core.server.impl.QueueImpl$2.skipDelivery(QueueImpl.java:1203) > > > > > [artemis-server-2.25.0.jar:2.25.0] > > > > > > > > > > > > > > > can you post the full stack if this is not it? > > > > > > > > > > > > > > > it definitely needs fixing... I'm investigating it. > > > > > > > > > > On Wed, Oct 12, 2022 at 6:05 PM Stephen Baker > > > > > <stephen.ba...@rmssoftwareinc.com> wrote: > > > > > > > > > > > > Having updated both sides to 2.25 I’m seeing this error in the > logs, is it a concern that warrants further investigation? > > > > > > > > > > > > artemis-test-artemis-1-m-1 | 2022-10-12 22:01:43,632 ERROR > [org.apache.activemq.artemis.core.server] AMQ224041: Failed to deliver: > java.lang.IllegalStateException: this method requires to be called within > the handler, use the executor > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.requireHandler(ProtonHandler.java:210) > [artemis-amqp-protocol-2.25.0.jar:2.25.0] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.requireInHandler(AMQPConnectionContext.java:197) > [artemis-amqp-protocol-2.25.0.jar:2.25.0] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.protocol.amqp.proton.ProtonAbstractReceiver.settle(ProtonAbstractReceiver.java:185) > [artemis-amqp-protocol-2.25.0.jar:2.25.0] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.protocol.amqp.connect.mirror.AMQPMirrorControllerTarget$ACKMessageOperation.run(AMQPMirrorControllerTarget.java:125) > [artemis-amqp-protocol-2.25.0.jar:2.25.0] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.protocol.amqp.connect.mirror.AMQPMirrorControllerTarget.performAck(AMQPMirrorControllerTarget.java:388) > [artemis-amqp-protocol-2.25.0.jar:2.25.0] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.protocol.amqp.connect.mirror.AMQPMirrorControllerTarget.lambda$performAck$2(AMQPMirrorControllerTarget.java:377) > [artemis-amqp-protocol-2.25.0.jar:2.25.0] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.core.server.impl.QueueImpl$2.skipDelivery(QueueImpl.java:1203) > [artemis-server-2.25.0.jar:2.25.0] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.core.server.impl.QueueImpl.doInternalPoll(QueueImpl.java:2932) > [artemis-server-2.25.0.jar:2.25.0] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2991) > [artemis-server-2.25.0.jar:2.25.0] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:4250) > [artemis-server-2.25.0.jar:2.25.0] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:56) > [artemis-commons-2.25.0.jar:] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.25.0.jar:] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:67) > [artemis-commons-2.25.0.jar:] > > > > > > artemis-test-artemis-1-m-1 | at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > [java.base:] > > > > > > artemis-test-artemis-1-m-1 | at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > [java.base:] > > > > > > artemis-test-artemis-1-m-1 | at > org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) > [artemis-commons-2.25.0.jar:] > > > > > > > > > > > > > > > > > > From: Stephen Baker <stephen.ba...@rmssoftwareinc.com> > > > > > > Date: Wednesday, October 12, 2022 at 4:43 PM > > > > > > To: users@activemq.apache.org <users@activemq.apache.org> > > > > > > Subject: Re: Mirror compatibility across versions > > > > > > I set up some docker images in this configuration as a > preliminary step. One oddity: > > > > > > > > > > > > Configure 2.25 side not to run the reaper > > > > > > Send message to 2.25 side > > > > > > Observe that after expiry the message shows up in the expiry > queue on the 2.20 side, but not on the 2.25 side, the message is removed > from the original queue on both sides. > > > > > > > > > > > > If the message is originally sent to the 2.20 side it shows up > in both queues as expected. > > > > > > > > > > > > There’s probably a reason for it, but I didn’t expect this > change. I thought that we would continue to see the old bugs until both > sides were updated. > > > > > > > > > > > > From: Clebert Suconic <clebert.suco...@gmail.com> > > > > > > Date: Tuesday, October 11, 2022 at 3:24 PM > > > > > > To: users@activemq.apache.org <users@activemq.apache.org> > > > > > > Subject: Re: Mirror compatibility across versions > > > > > > Yeah.. something like that... not necessarily in there though. > but a > > > > > > similar test. > > > > > > > > > > > > On Tue, Oct 11, 2022 at 1:44 PM Stephen Baker > > > > > > <stephen.ba...@rmssoftwareinc.com> wrote: > > > > > > > > > > > > > > Ok, I agree based on a cursory reading of that patch. The > extra ackReason defaults to normal in one direction and isn’t read in the > other direction. Killed, replaced, and expired being interpreted as normal > just means that the 2.20 bugs will persist until both sides are updated. > > > > > > > > > > > > > > I’ll test it out with different version docker containers. I > suppose as far as writing tests you mean something like the > MultiVersionReplicaTest. > > > > > > > > > > > > > > Stephen E. Baker > > > > > > > > > > > > > > > > > > > > > From: Clebert Suconic <clebert.suco...@gmail.com> > > > > > > > Date: Tuesday, October 11, 2022 at 12:59 PM > > > > > > > To: users@activemq.apache.org <users@activemq.apache.org> > > > > > > > Subject: Re: Mirror compatibility across versions > > > > > > > In theory it should work. > > > > > > > > > > > > > > > > > > > > > Only change that might break compatibility is > > > > > > > > https://github.com/apache/activemq-artemis/commit/68f6d8263d8c795722805f0e4d6939e7a8b9ed48 > > > > > > > which is ARTEMIS-3743 / ARTEMIS-3766 Use ACKReason on Mirror to > > > > > > > determine target operations and fixing Delivering statistics > on Mirror > > > > > > > > > > > > > > > > > > > > > I tried to not break compatibility, but I just realized we > should add > > > > > > > a test to validate compatibility between mirrors. > > > > > > > > > > > > > > > > > > > > > > > > > > > > so, I will say it should be compatible, but I would test it > before > > > > > > > doing it in the real system. > > > > > > > > > > > > > > > > > > > > > > > > > > > > if you are willing to contribute to a compatibility test :) > > > > > > > > > > > > > > On Tue, Oct 11, 2022 at 10:06 AM Stephen Baker > > > > > > > <stephen.ba...@rmssoftwareinc.com> wrote: > > > > > > > > > > > > > > > > We are planning our production upgrade from 2.20 to 2.25. > These upgrades involve a loss of service in the window between stopping the > live and when the backup instance becomes ready to process messages. > > > > > > > > > > > > > > > > I was wondering if the mirror protocol is expected to be > compatible between those versions. If so we could upgrade our cold site, > and then wait for a planned failover to avoid any additional down time. I > know that quite a bit of work was done by Clebert in 2.24 so I was hoping > he could weigh in. > > > > > > > > > > > > > > > > Stephen E Baker > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Clebert Suconic > > > > > > > [EXTERNAL]: This email originated from outside of Rave Mobile > Safety. Do not click links or open attachments unless you recognize the > sender and know the content is safe. > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Clebert Suconic > > > > > > [EXTERNAL]: This email originated from outside of Rave Mobile > Safety. Do not click links or open attachments unless you recognize the > sender and know the content is safe. > > > > > > [EXTERNAL]: This email originated from outside of Rave Mobile > Safety. Do not click links or open attachments unless you recognize the > sender and know the content is safe. > > > > > > > > > > > > > > > > > > > > -- > > > > > Clebert Suconic > > > > > [EXTERNAL]: This email originated from outside of Rave Mobile > Safety. Do not click links or open attachments unless you recognize the > sender and know the content is safe. > > > > > > > > > > > > > > > > -- > > > > Clebert Suconic > > > > > > > > > > > > -- > > > Clebert Suconic > > > [EXTERNAL]: This email originated from outside of Rave Mobile Safety. > Do not click links or open attachments unless you recognize the sender and > know the content is safe. > > > > > > > > -- > > Clebert Suconic > > [EXTERNAL]: This email originated from outside of Rave Mobile Safety. Do > not click links or open attachments unless you recognize the sender and > know the content is safe. > > > > -- > Clebert Suconic > [EXTERNAL]: This email originated from outside of Rave Mobile Safety. Do > not click links or open attachments unless you recognize the sender and > know the content is safe. > -- Clebert Suconic