[ https://issues.apache.org/jira/browse/ARTEMIS-3291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17342573#comment-17342573 ]
Erikas Rudinskas edited comment on ARTEMIS-3291 at 5/11/21, 1:40 PM: --------------------------------------------------------------------- For any poor soul looking how to fix it. In my case I had shared-store HA cluster (active-backup). Steps to fix: # stop both Artemis services. # in master service's broker.xml, edit those 4 directories so they point to any other location in shared storage (in this example, from "data/journal" to "data/a/journal" where "a" is just any random subdirectory, stored in shared storage). # start master broker - it will not have any data and will be empty, but it is working. # delete "data/journal/server.lock", "data/journal/serverlock.1" and "data/journal/serverlock.2" files from shared storage. # create _hard_ links for the same 3 files - from "data/a/journal/server*" to "data/journal/" using below commands: ln data/a/journal/server.lock data/journal/server.lock ln data/a/journal/serverlock.1 data/journal/serverlock.1 ln data/a/journal/serverlock.2 data/journal/serverlock.2 # start slave Artemis service. At this point both web interfaces should be accessible. # kill (or stop) master Artemis service, so slave service becomes active. # using slave's "Web console --> broker (from tree view) --> Operations (tab) --> removeAddressSettings(String)" remove settings from broken address. # stop both Artemis services. # remove "data/a" directory from shared storage completely. # update master's broker.xml directories to point back to the old data. # start master server - it should be working fine. Also start backup server - it should also work fine. Turns out backup server does not have the same validation as master server. This "issue" allowed us to fix this. :) was (Author: erikmnkl): For any poor soul looking how to fix it. In my case I had shared-store HA cluster (active-backup). Steps to fix: # stop both Artemis services. # in master service's broker.xml, edit those 4 directories so they point to any other location in shared storage (in this example, from "data/journal" to "data/a/journal" where "a" is just any random subdirectory, stored in shared storage). # start master broker - it will not have any data and will be empty, but it is working. # delete "data/journal/server.lock", "data/journal/serverlock.1" and "data/journal/serverlock.2" files from shared storage. # create _hard_ links for the same 3 files - from "data/a/journal/server*" to "data/journal/" using below commands: ln data/a/journal/server.lock data/journal/server.lock ln data/a/journal/serverlock.1 data/journal/serverlock.1 ln data/a/journal/serverlock.2 data/journal/serverlock.2 # start slave Artemis service. At this point both web interfaces should be accessible. # kill (or stop) master Artemis service, so slave service becomes active. # using slave's "Web console --> broker (from tree view) --> Operations (tab) --> removeAddressSettings(String)" remove settings from broken address. # stop both Artemis services. # remove "data/a" directory from shared storage completely. # update master's broker.xml directories to point back to the old data. # start master server - it should be working fine. Also start backup server - it should also work fine. > It's possible to set pageSizeBytes and maxSizeBytes to zeroes, but it > prevents broker from starting and unable to rollback > -------------------------------------------------------------------------------------------------------------------------- > > Key: ARTEMIS-3291 > URL: https://issues.apache.org/jira/browse/ARTEMIS-3291 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: API, Broker, Configuration, JMX, Web Console > Affects Versions: 2.17.0 > Reporter: Erikas Rudinskas > Priority: Major > > How to reproduce: > # Have perfectly fine working AMQ Artemis broker. > # Create *myAddress* address in any way you can. > # Open web form, in "Web console --> broker (from tree view) --> Operations > (tab) --> addAddressSettings (first item in the list)". > # Add settings you want, but forget to update "pageSizeBytes" and > "maxSizeBytes". These fields will be by default set to "0". > # Save settings. > # Restart broker and get the following error instead (broker is not > starting): > ERROR [org.apache.activemq.artemis.core.server] AMQ224000: Failure in > initialisation: java.lang.IllegalStateException: > java.lang.IllegalStateException: pageSize for address *myAddress* >= maxSize. > Normally pageSize should be significantly smaller than maxSize, ms: 0 ps 0 > > It's impossible to fix this, because broker is not starting and values in > broker.xml are being ignored... -- This message was sent by Atlassian Jira (v8.3.4#803005)