This is an automated email from the ASF dual-hosted git repository.

jbertram pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/main by this push:
     new 8451f50  ARTEMIS-3486: update docs around data tools commands, note 
use of broker instance and refresh shown output
     new 48e6b97  This closes #3756
8451f50 is described below

commit 8451f50b57a3ecd0028e387831a8c32ed3fd5daf
Author: Robbie Gemmell <[email protected]>
AuthorDate: Thu Sep 16 18:53:46 2021 +0100

    ARTEMIS-3486: update docs around data tools commands, note use of broker 
instance and refresh shown output
---
 .../org/apache/activemq/artemis/cli/Artemis.java   |   4 +-
 docs/user-manual/en/data-tools.md                  | 326 +++++++++++++--------
 2 files changed, 210 insertions(+), 120 deletions(-)

diff --git 
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java 
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
index 1130750..398bbd3 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
@@ -177,13 +177,13 @@ public class Artemis {
             .withDescription("activation tools group (sync) (example ./artemis 
activation list)")
             .withDefaultCommand(ActivationSequenceList.class)
             .withCommands(ActivationSequenceList.class, 
ActivationSequenceSet.class);
-         builder.withGroup("data").withDescription("data tools group 
(print|imp|exp|encode|decode|compact) (example ./artemis data print)").
+         builder.withGroup("data").withDescription("data tools group 
(print|imp|exp|encode|decode|compact|recover) (example ./artemis data print)").
             
withDefaultCommand(HelpData.class).withCommands(RecoverMessages.class, 
PrintData.class, XmlDataExporter.class, XmlDataImporter.class, 
DecodeJournal.class, EncodeJournal.class, CompactJournal.class);
          builder.withGroup("user").withDescription("default file-based user 
management (add|rm|list|reset) (example ./artemis user list)").
                  
withDefaultCommand(HelpUser.class).withCommands(ListUser.class, AddUser.class, 
RemoveUser.class, ResetUser.class);
          builder = builder.withCommands(Run.class, Stop.class, Kill.class, 
PerfJournal.class);
       } else {
-         builder.withGroup("data").withDescription("data tools group (print) 
(example ./artemis data print)").
+         builder.withGroup("data").withDescription("data tools group 
(print|recover) (example ./artemis data print)").
             
withDefaultCommand(HelpData.class).withCommands(RecoverMessages.class, 
PrintData.class);
          builder = builder.withCommand(Create.class);
       }
diff --git a/docs/user-manual/en/data-tools.md 
b/docs/user-manual/en/data-tools.md
index 51fee29..b07b3db 100644
--- a/docs/user-manual/en/data-tools.md
+++ b/docs/user-manual/en/data-tools.md
@@ -2,18 +2,21 @@
 
 You can use the Artemis CLI to execute data maintenance tools:
 
-This is a list of sub-commands available
+The following sub-commands are available when running the CLI data
+command from a particular broker instance that has already been
+installed using the create command:
 
 Name | Description
 ---|---
+print | Prints a report about journal records of a non-running server
 exp | Export the message data using a special and independent XML format
 imp | Imports the journal to a running broker using the output from expt
-data | Prints a report about journal records and summary of existent records, 
as well a report on paging
-recover | Revive data from the journal. It can be used in conjunction with 
historic journaling.
 encode | shows an internal format of the journal encoded to String
 decode | imports the internal journal format from encode
+compact | Compacts the journal of a non running server
+recover | Recover (undelete) messages from an existing journal and create a 
new one.
 
-You can use the help at the tool for more information on how to execute each 
of the tools. For example:
+You can use the CLI help for more information on how to execute each of the 
tools. For example:
 
 ```
 $ ./artemis help data print
@@ -28,9 +31,11 @@ SYNOPSIS
                 [--jdbc-driver-class-name <jdbcClassName>]
                 [--jdbc-large-message-table-name <jdbcLargeMessages>]
                 [--jdbc-message-table-name <jdbcMessages>]
+                [--jdbc-node-manager-table-name <jdbcNodeManager>]
                 [--jdbc-page-store-table-name <jdbcPageStore>] [--journal 
<journal>]
                 [--large-messages <largeMessges>] [--output <output>]
-                [--paging <paging>] [--safe] [--verbose] [--] [<configuration>]
+                [--paging <paging>] [--reclaimed] [--safe] [--verbose] [--]
+                [<configuration>]
 
 OPTIONS
         --bindings <binding>
@@ -63,8 +68,11 @@ OPTIONS
         --jdbc-message-table-name <jdbcMessages>
             Name of the jdbc messages table
 
+        --jdbc-node-manager-table-name <jdbcNodeManager>
+            Name of the jdbc node manager table
+
         --jdbc-page-store-table-name <jdbcPageStore>
-            Name of the page sotre messages table
+            Name of the page store messages table
 
         --journal <journal>
             The folder used for messages journal (default from broker.xml)
@@ -78,6 +86,10 @@ OPTIONS
         --paging <paging>
             The folder used for paging (default from broker.xml)
 
+        --reclaimed
+            This option will try to print as many records as possible from
+            reclaimed files
+
         --safe
             It will print your data structure without showing your data
 
@@ -100,225 +112,298 @@ For a full list of data tools commands available use:
 ```
 $ ./artemis help data
 NAME
-        artemis data - data tools group (print|imp|exp|encode|decode|compact)
-        (example ./artemis data print)
+        artemis data - data tools group
+        (print|imp|exp|encode|decode|compact|recover) (example ./artemis data
+        print)
 
 SYNOPSIS
         artemis data
-        artemis data compact [--verbose] [--paging <paging>]
-                [--journal <journal>] [--large-messages <largeMessges>]
-                [--broker <brokerConfig>] [--bindings <binding>]
-        artemis data decode [--verbose] [--suffix <suffix>] [--paging <paging>]
-                [--prefix <prefix>] [--file-size <size>] --input <input>
-                [--journal <journal>] [--directory <directory>]
-                [--large-messages <largeMessges>] [--broker <brokerConfig>]
-                [--bindings <binding>]
-        artemis data encode [--verbose] [--directory <directory>]
-                [--suffix <suffix>] [--paging <paging>] [--prefix <prefix>]
-                [--file-size <size>] [--journal <journal>]
-                [--large-messages <largeMessges>] [--broker <brokerConfig>]
-                [--bindings <binding>]
-        artemis data exp [--jdbc-bindings-table-name <jdbcBindings>]
-                [--jdbc-message-table-name <jdbcMessages>] [--paging <paging>]
-                [--jdbc-connection-url <jdbcURL>]
-                [--jdbc-large-message-table-name <jdbcLargeMessages>] [--f]
-                [--large-messages <largeMessges>] [--broker <brokerConfig>]
-                [--jdbc-page-store-table-name <jdbcPageStore>]
-                [--jdbc-driver-class-name <jdbcClassName>] [--jdbc] [--verbose]
-                [--journal <journal>] [--output <output>] [--bindings 
<binding>]
-        artemis data imp [--user <user>] [--legacy-prefixes] [--verbose]
-                [--host <host>] [--port <port>] [--transaction] --input <input>
-                [--password <password>] [--sort]
-        artemis data print [--jdbc-bindings-table-name <jdbcBindings>]
-                [--jdbc-message-table-name <jdbcMessages>] [--paging <paging>]
-                [--jdbc-connection-url <jdbcURL>]
-                [--jdbc-large-message-table-name <jdbcLargeMessages>] [--f]
-                [--large-messages <largeMessges>] [--broker <brokerConfig>]
-                [--jdbc-page-store-table-name <jdbcPageStore>]
-                [--jdbc-driver-class-name <jdbcClassName>] [--safe] [--jdbc] 
[--verbose]
-                [--journal <journal>] [--output <output>] [--bindings 
<binding>]
+        artemis data compact [--journal <journal>]
+                [--large-messages <largeMessges>] [--paging <paging>]
+                [--broker <brokerConfig>] [--bindings <binding>] [--verbose]
+        artemis data decode [--journal <journal>]
+                [--large-messages <largeMessges>] [--file-size <size>]
+                [--paging <paging>] [--prefix <prefix>] [--suffix <suffix>]
+                [--broker <brokerConfig>] [--directory <directory>]
+                [--bindings <binding>] [--verbose] --input <input>
+        artemis data encode [--journal <journal>]
+                [--large-messages <largeMessges>] [--file-size <size>]
+                [--paging <paging>] [--prefix <prefix>] [--suffix <suffix>]
+                [--broker <brokerConfig>] [--bindings <binding>] [--verbose]
+                [--directory <directory>]
+        artemis data exp [--jdbc-driver-class-name <jdbcClassName>]
+                [--journal <journal>] [--jdbc-connection-url <jdbcURL>]
+                [--large-messages <largeMessges>]
+                [--jdbc-bindings-table-name <jdbcBindings>] [--paging 
<paging>] [--f]
+                [--jdbc-large-message-table-name <jdbcLargeMessages>]
+                [--broker <brokerConfig>] [--jdbc-page-store-table-name 
<jdbcPageStore>]
+                [--bindings <binding>] [--jdbc] [--verbose]
+                [--jdbc-message-table-name <jdbcMessages>]
+                [--jdbc-node-manager-table-name <jdbcNodeManager>] [--output 
<output>]
+        artemis data imp [--legacy-prefixes] [--password <password>]
+                [--transaction] [--verbose] [--port <port>] [--user <user>] 
[--sort]
+                --input <input> [--host <host>]
+        artemis data print [--reclaimed]
+                [--jdbc-driver-class-name <jdbcClassName>] [--journal 
<journal>]
+                [--jdbc-connection-url <jdbcURL>] [--large-messages 
<largeMessges>]
+                [--jdbc-bindings-table-name <jdbcBindings>] [--paging 
<paging>] [--f]
+                [--jdbc-large-message-table-name <jdbcLargeMessages>] [--safe]
+                [--broker <brokerConfig>] [--jdbc-page-store-table-name 
<jdbcPageStore>]
+                [--bindings <binding>] [--jdbc] [--verbose]
+                [--jdbc-message-table-name <jdbcMessages>]
+                [--jdbc-node-manager-table-name <jdbcNodeManager>] [--output 
<output>]
+        artemis data recover [--jdbc-driver-class-name <jdbcClassName>]
+                [--journal <journal>] [--jdbc-connection-url <jdbcURL>]
+                [--large-messages <largeMessges>] [--reclaimed] --target 
<outputJournal>
+                [--jdbc-bindings-table-name <jdbcBindings>] [--paging 
<paging>] [--f]
+                [--jdbc-large-message-table-name <jdbcLargeMessages>]
+                [--broker <brokerConfig>] [--jdbc-page-store-table-name 
<jdbcPageStore>]
+                [--bindings <binding>] [--jdbc] [--verbose]
+                [--jdbc-message-table-name <jdbcMessages>]
+                [--jdbc-node-manager-table-name <jdbcNodeManager>] [--output 
<output>]
 
 COMMANDS
         With no arguments, Display help information
 
-        print
-            Print data records information (WARNING: don't use while a
-            production server is running)
+        recover
+            Recover (undelete) every message on the journal by creating a new
+            output journal. Rolled backed and acked messages will be sent out 
to
+            the output as much as possible.
+
+            With --jdbc-driver-class-name option, JDBC driver classname
+
+            With --journal option, The folder used for messages journal 
(default
+            from broker.xml)
+
+            With --jdbc-connection-url option, The connection used for the
+            database
+
+            With --large-messages option, The folder used for large-messages
+            (default from broker.xml)
+
+            With --reclaimed option, This option will try to recover as many
+            records as possible from reclaimed files
+
+            With --target option, Output folder container the new journal with
+            all the generated messages
 
             With --jdbc-bindings-table-name option, Name of the jdbc bindigns
             table
 
+            With --paging option, The folder used for paging (default from
+            broker.xml)
+
+            With --f option, This will allow certain tools like print-data to 
be
+            performed ignoring any running servers. WARNING: Changing data
+            concurrently with a running broker may damage your data. Be careful
+            with this option.
+
+            With --jdbc-large-message-table-name option, Name of the large
+            messages table
+
+            With --broker option, This would override the broker configuration
+            from the bootstrap
+
+            With --jdbc-page-store-table-name option, Name of the page store
+            messages table
+
+            With --bindings option, The folder used for bindings (default from
+            broker.xml)
+
+            With --jdbc option, It will activate jdbc
+
+            With --verbose option, Adds more information on the execution
+
             With --jdbc-message-table-name option, Name of the jdbc messages
             table
 
-            With --paging option, The folder used for paging (default from
-            broker.xml)
+            With --jdbc-node-manager-table-name option, Name of the jdbc node
+            manager table
+
+            With --output option, Output name for the file
+
+        print
+            Print data records information (WARNING: don't use while a
+            production server is running)
+
+            With --reclaimed option, This option will try to print as many
+            records as possible from reclaimed files
+
+            With --jdbc-driver-class-name option, JDBC driver classname
+
+            With --journal option, The folder used for messages journal 
(default
+            from broker.xml)
 
             With --jdbc-connection-url option, The connection used for the
             database
 
-            With --jdbc-large-message-table-name option, Name of the large
-            messages table
+            With --large-messages option, The folder used for large-messages
+            (default from broker.xml)
+
+            With --jdbc-bindings-table-name option, Name of the jdbc bindigns
+            table
+
+            With --paging option, The folder used for paging (default from
+            broker.xml)
 
             With --f option, This will allow certain tools like print-data to 
be
             performed ignoring any running servers. WARNING: Changing data
             concurrently with a running broker may damage your data. Be careful
             with this option.
 
-            With --large-messages option, The folder used for large-messages
-            (default from broker.xml)
+            With --jdbc-large-message-table-name option, Name of the large
+            messages table
+
+            With --safe option, It will print your data structure without
+            showing your data
 
             With --broker option, This would override the broker configuration
             from the bootstrap
 
-            With --jdbc-page-store-table-name option, Name of the page sotre
+            With --jdbc-page-store-table-name option, Name of the page store
             messages table
 
-            With --jdbc-driver-class-name option, JDBC driver classname
-
-            With --safe option, It will print your data structure without
-            showing your data
+            With --bindings option, The folder used for bindings (default from
+            broker.xml)
 
             With --jdbc option, It will activate jdbc
 
             With --verbose option, Adds more information on the execution
 
-            With --journal option, The folder used for messages journal 
(default
-            from broker.xml)
+            With --jdbc-message-table-name option, Name of the jdbc messages
+            table
 
-            With --output option, Output name for the file
+            With --jdbc-node-manager-table-name option, Name of the jdbc node
+            manager table
 
-            With --bindings option, The folder used for bindings (default from
-            broker.xml)
+            With --output option, Output name for the file
 
         exp
             Export all message-data using an XML that could be interpreted by
             any system.
 
-            With --jdbc-bindings-table-name option, Name of the jdbc bindigns
-            table
-
-            With --jdbc-message-table-name option, Name of the jdbc messages
-            table
+            With --jdbc-driver-class-name option, JDBC driver classname
 
-            With --paging option, The folder used for paging (default from
-            broker.xml)
+            With --journal option, The folder used for messages journal 
(default
+            from broker.xml)
 
             With --jdbc-connection-url option, The connection used for the
             database
 
-            With --jdbc-large-message-table-name option, Name of the large
-            messages table
+            With --large-messages option, The folder used for large-messages
+            (default from broker.xml)
+
+            With --jdbc-bindings-table-name option, Name of the jdbc bindigns
+            table
+
+            With --paging option, The folder used for paging (default from
+            broker.xml)
 
             With --f option, This will allow certain tools like print-data to 
be
             performed ignoring any running servers. WARNING: Changing data
             concurrently with a running broker may damage your data. Be careful
             with this option.
 
-            With --large-messages option, The folder used for large-messages
-            (default from broker.xml)
+            With --jdbc-large-message-table-name option, Name of the large
+            messages table
 
             With --broker option, This would override the broker configuration
             from the bootstrap
 
-            With --jdbc-page-store-table-name option, Name of the page sotre
+            With --jdbc-page-store-table-name option, Name of the page store
             messages table
 
-            With --jdbc-driver-class-name option, JDBC driver classname
+            With --bindings option, The folder used for bindings (default from
+            broker.xml)
 
             With --jdbc option, It will activate jdbc
 
             With --verbose option, Adds more information on the execution
 
-            With --journal option, The folder used for messages journal 
(default
-            from broker.xml)
+            With --jdbc-message-table-name option, Name of the jdbc messages
+            table
 
-            With --output option, Output name for the file
+            With --jdbc-node-manager-table-name option, Name of the jdbc node
+            manager table
 
-            With --bindings option, The folder used for bindings (default from
-            broker.xml)
+            With --output option, Output name for the file
 
         imp
             Import all message-data using an XML that could be interpreted by
             any system.
 
-            With --user option, User name used to import the data. (default
-            null)
-
             With --legacy-prefixes option, Do not remove prefixes from legacy
             imports
 
-            With --verbose option, Adds more information on the execution
-
-            With --host option, The host used to import the data (default
-            localhost)
-
-            With --port option, The port used to import the data (default 
61616)
+            With --password option, User name used to import the data. (default
+            null)
 
             With --transaction option, If this is set to true you will need a
             whole transaction to commit at the end. (default false)
 
-            With --input option, The input file name (default=exp.dmp)
+            With --verbose option, Adds more information on the execution
 
-            With --password option, User name used to import the data. (default
+            With --port option, The port used to import the data (default 
61616)
+
+            With --user option, User name used to import the data. (default
             null)
 
             With --sort option, Sort the messages from the input (used for 
older
             versions that won't sort messages)
 
+            With --input option, The input file name (default=exp.dmp)
+
+            With --host option, The host used to import the data (default
+            localhost)
+
         decode
             Decode a journal's internal format into a new journal set of files
 
-            With --verbose option, Adds more information on the execution
+            With --journal option, The folder used for messages journal 
(default
+            from broker.xml)
 
-            With --suffix option, The journal suffix (default amq)
+            With --large-messages option, The folder used for large-messages
+            (default from broker.xml)
+
+            With --file-size option, The journal size (default 10485760)
 
             With --paging option, The folder used for paging (default from
             broker.xml)
 
             With --prefix option, The journal prefix (default activemq-data)
 
-            With --file-size option, The journal size (default 10485760)
-
-            With --input option, The input file name (default=exp.dmp)
+            With --suffix option, The journal suffix (default amq)
 
-            With --journal option, The folder used for messages journal 
(default
-            from broker.xml)
+            With --broker option, This would override the broker configuration
+            from the bootstrap
 
             With --directory option, The journal folder (default journal folder
             from broker.xml)
 
-            With --large-messages option, The folder used for large-messages
-            (default from broker.xml)
-
-            With --broker option, This would override the broker configuration
-            from the bootstrap
-
             With --bindings option, The folder used for bindings (default from
             broker.xml)
 
+            With --verbose option, Adds more information on the execution
+
+            With --input option, The input file name (default=exp.dmp)
+
         encode
             Encode a set of journal files into an internal encoded data format
 
-            With --verbose option, Adds more information on the execution
+            With --journal option, The folder used for messages journal 
(default
+            from broker.xml)
 
-            With --directory option, The journal folder (default the journal
-            folder from broker.xml)
+            With --large-messages option, The folder used for large-messages
+            (default from broker.xml)
 
-            With --suffix option, The journal suffix (default amq)
+            With --file-size option, The journal size (default 10485760)
 
             With --paging option, The folder used for paging (default from
             broker.xml)
 
             With --prefix option, The journal prefix (default activemq-data)
 
-            With --file-size option, The journal size (default 10485760)
-
-            With --journal option, The folder used for messages journal 
(default
-            from broker.xml)
-
-            With --large-messages option, The folder used for large-messages
-            (default from broker.xml)
+            With --suffix option, The journal suffix (default amq)
 
             With --broker option, This would override the broker configuration
             from the bootstrap
@@ -326,13 +411,13 @@ COMMANDS
             With --bindings option, The folder used for bindings (default from
             broker.xml)
 
-        compact
-            Compacts the journal of a non running server
-
             With --verbose option, Adds more information on the execution
 
-            With --paging option, The folder used for paging (default from
-            broker.xml)
+            With --directory option, The journal folder (default the journal
+            folder from broker.xml)
+
+        compact
+            Compacts the journal of a non running server
 
             With --journal option, The folder used for messages journal 
(default
             from broker.xml)
@@ -340,10 +425,15 @@ COMMANDS
             With --large-messages option, The folder used for large-messages
             (default from broker.xml)
 
+            With --paging option, The folder used for paging (default from
+            broker.xml)
+
             With --broker option, This would override the broker configuration
             from the bootstrap
 
             With --bindings option, The folder used for bindings (default from
             broker.xml)
 
-```
\ No newline at end of file
+            With --verbose option, Adds more information on the execution
+
+```

Reply via email to