[
https://issues.apache.org/jira/browse/ARTEMIS-4019?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17610501#comment-17610501
]
Justin Bertram edited comment on ARTEMIS-4019 at 9/28/22 7:01 PM:
------------------------------------------------------------------
Alright, that explains it.
However, contrary to what is said in the documentation
([https://activemq.apache.org/components/artemis/documentation/latest/data-tools.html])
the exp function is not available anymore in the newer version, i.e.
{noformat}
$ apache-artemis-2.25.0/bin/artemis data exp
Found unexpected parameters: [exp]
$ apache-artemis-2.25.0/bin/artemis help data
NAME
artemis data - data tools group (print|recover) (example ./artemis data
print)
SYNOPSIS
artemis data
artemis data print [--f] [--large-messages <largeMessges>] [--reclaimed]
[--jdbc-large-message-table-name <jdbcLargeMessages>]
[--journal <journal>] [--jdbc] [--max-pages <maxPages>]
[--broker <brokerConfig>] [--output <output>] [--skip-journal]
[--jdbc-message-table-name <jdbcMessages>] [--bindings
<binding>]
[--paging <paging>] [--jdbc-bindings-table-name <jdbcBindings>]
[--skip-bindings] [--jdbc-connection-url <jdbcURL>]
[--jdbc-node-manager-table-name <jdbcNodeManager>] [--safe]
[--jdbc-driver-class-name <jdbcClassName>] [--verbose]
[--jdbc-page-store-table-name <jdbcPageStore>]
artemis data recover [--reclaimed] [--f]
[--large-messages <largeMessges>]
[--jdbc-large-message-table-name <jdbcLargeMessages>]
[--journal <journal>] --target <outputJournal> [--jdbc]
[--broker <brokerConfig>] [--output <output>]
[--jdbc-message-table-name <jdbcMessages>] [--bindings
<binding>]
[--paging <paging>] [--jdbc-bindings-table-name <jdbcBindings>]
[--jdbc-connection-url <jdbcURL>]
[--jdbc-node-manager-table-name <jdbcNodeManager>]
[--jdbc-driver-class-name <jdbcClassName>] [--verbose]
[--jdbc-page-store-table-name <jdbcPageStore>]{noformat}
Is there any replacement for the old export/import function? At the moment, we
moved the old journal to another server (with enough memory), got our broker
back online with an empty journal, and were attempting to export the old
journal and import the result into running broker. That's apparently not
possible anymore?!
Note: Due to a configuration mistake we were still using version 2.22.0 in my
original post.
was (Author: JIRAUSER294752):
Alright, that explains it.
However, contrary to what is said in the documentation
([https://activemq.apache.org/components/artemis/documentation/latest/data-tools.html)]
the {{exp}} function is not available anymore in the newer version, i.e.
{{$ apache-artemis-2.25.0/bin/artemis data exp
Found unexpected parameters: [exp]}}
{{$ apache-artemis-2.25.0/bin/artemis help data}}
{{NAME}}
{{ artemis data - data tools group (print|recover) (example ./artemis
data}}
{{ print)}}
{{SYNOPSIS}}
{{ artemis data}}
{{ artemis data print [--f] [--large-messages <largeMessges>]
[--reclaimed]}}
{{ [--jdbc-large-message-table-name <jdbcLargeMessages>]}}
{{ [--journal <journal>] [--jdbc] [--max-pages <maxPages>]}}
{{ [--broker <brokerConfig>] [--output <output>]
[--skip-journal]}}
{{ [--jdbc-message-table-name <jdbcMessages>] [--bindings
<binding>]}}
{{ [--paging <paging>] [--jdbc-bindings-table-name
<jdbcBindings>]}}
{{ [--skip-bindings] [--jdbc-connection-url <jdbcURL>]}}
{{ [--jdbc-node-manager-table-name <jdbcNodeManager>] [--safe]}}
{{ [--jdbc-driver-class-name <jdbcClassName>] [--verbose]}}
{{ [--jdbc-page-store-table-name <jdbcPageStore>]}}
{{ artemis data recover [--reclaimed] [--f]}}
{{ [--large-messages <largeMessges>]}}
{{ [--jdbc-large-message-table-name <jdbcLargeMessages>]}}
{{ [--journal <journal>] --target <outputJournal> [--jdbc]}}
{{ [--broker <brokerConfig>] [--output <output>]}}
{{ [--jdbc-message-table-name <jdbcMessages>] [--bindings
<binding>]}}
{{ [--paging <paging>] [--jdbc-bindings-table-name
<jdbcBindings>]}}
{{ [--jdbc-connection-url <jdbcURL>]}}
{{ [--jdbc-node-manager-table-name <jdbcNodeManager>]}}
{{ [--jdbc-driver-class-name <jdbcClassName>] [--verbose]}}
{{ [--jdbc-page-store-table-name <jdbcPageStore>]}}
Is there any replacement for the old export/import function? At the moment, we
moved the old journal to another server (with enough memory), got our broker
back online with an empty journal, and were attempting to export the old
journal and import the result into running broker. That's apparently not
possible anymore?!
Note: Due to a configuration mistake we were still using version 2.22.0 in my
original post.
> Journal export runs out of memory
> ----------------------------------
>
> Key: ARTEMIS-4019
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4019
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Environment: SUSE Linux Enterprise Server 15 SP3
> JAVA_ARGS="-XX:+PrintClassHistogram -XX:+UseG1GC -XX:+UseStringDeduplication
> -Xms512M -Xmx4G -Dhawtio.disableProxy=true -Dhawtio.realm=activemq
> -Dhawtio.offline=true
> -Dhawtio.rolePrincipalClasses=org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal
> -Djolokia.policyLocation=${ARTEMIS_INSTANCE_ETC_URI}jolokia-access.xml "
> Reporter: Peter Machon
> Priority: Major
>
> To avoid the situation from ARTEMIS-4018 on other nodes in our environment we
> wanted to export the old journal and reimport it before restarting the
> upgraded version. The export however runs OOM:
> {noformat}
> /var/opt/apache-artemis/integrationbus>bin/artemis data exp --output
> /var/opt/apache-artemis/integrationbus/etc/data3.exp
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> at
> io.netty.buffer.UnpooledByteBufAllocator.newHeapBuffer(UnpooledByteBufAllocator.java:82)
> at
> io.netty.buffer.AbstractByteBufAllocator.heapBuffer(AbstractByteBufAllocator.java:169)
> at
> io.netty.buffer.AbstractByteBufAllocator.heapBuffer(AbstractByteBufAllocator.java:160)
> at io.netty.buffer.Unpooled.buffer(Unpooled.java:119)
> at
> org.apache.activemq.artemis.core.message.impl.CoreMessage.initBuffer(CoreMessage.java:156)
> at
> org.apache.activemq.artemis.core.message.impl.CoreMessage.reloadPersistence(CoreMessage.java:1252)
> at
> org.apache.activemq.artemis.core.message.impl.CoreMessagePersister.decode(CoreMessagePersister.java:85)
> at
> org.apache.activemq.artemis.core.message.impl.CoreMessagePersister.decode(CoreMessagePersister.java:28)
> at
> org.apache.activemq.artemis.spi.core.protocol.MessagePersister.decode(MessagePersister.java:120)
> at
> org.apache.activemq.artemis.core.persistence.impl.journal.DescribeJournal.newObjectEncoding(DescribeJournal.java:623)
> at
> org.apache.activemq.artemis.cli.commands.tools.xml.XmlDataExporter.processMessageJournal(XmlDataExporter.java:218)
> at
> org.apache.activemq.artemis.cli.commands.tools.xml.XmlDataExporter.writeXMLData(XmlDataExporter.java:150)
> at
> org.apache.activemq.artemis.cli.commands.tools.xml.XmlDataExporter.writeOutput(XmlDataExporter.java:144)
> at
> org.apache.activemq.artemis.cli.commands.tools.xml.XmlDataExporter.process(XmlDataExporter.java:133)
> at
> org.apache.activemq.artemis.cli.commands.tools.xml.XmlDataExporter.execute(XmlDataExporter.java:100)
> at
> org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:160)
> at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:108)
> at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:135)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
> at
> org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50){noformat}
> Note: We were attempting to export the old journal with the new broker
> version.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)