You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Erikas Rudinskas (Jira)" <ji...@apache.org> on 2021/05/11 13:41:00 UTC
[jira] [Comment Edited] (ARTEMIS-3291) It's possible to set
pageSizeBytes and maxSizeBytes to zeroes, but it prevents broker from
starting and unable to rollback
[ 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)