<?xml version="1.0"?>
<!--

 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.

-->

<appendix xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Java-Broker-Appendix-Operation-Logging">
  <title>Operational Logging</title>

  <para>The Broker will, by default, produce structured log messages in response to key events in
    the lives of objects within the Broker. These concise messages are designed to allow the user to
    understand the actions of the Broker in retrospect. This is valuable for problem diagnosis and
    provides a useful audit trail.</para>
  <para>Each log message includes details of the entity causing the action (e.g. a management user
    or messaging client connection), the entity receiving the action (e.g. a queue or connection)
    and a description of operation itself.</para>
  <para>The log messages have the following format:</para>
  <screen>
    [<literal>Actor</literal>] {[<literal>Subject</literal>]} [<literal>Message Id</literal>] [<literal>Message Text</literal>]
  </screen>
  <para>Where:</para>
  <itemizedlist>
    <listitem>
      <para><literal>Actor</literal> is the entity within the Broker that is
          <emphasis>performing</emphasis> the action. There are actors corresponding to the Broker
        itself, Management, Connection, and Channels. Their format is described in the <link linkend="Java-Broker-Appendix-Operation-Logging-Actor-Format">table</link> below.</para>
    </listitem>
    <listitem>
      <para><literal>Subject</literal> (optional) is the entity within the Broker that is
          <emphasis>receiving</emphasis> the action. There are subjects corresponding to the
        Connections, Channels, Queues, Exchanges, Subscriptions, and Message Stores. Their format is
        described in the <link linkend="Java-Broker-Appendix-Operation-Logging-Subject-Format">table</link> below.</para>
      <para>Some actions are reflexive, in these cases the Actor and Subject will be equal.</para>
    </listitem>
    <listitem>
      <para><literal>Message Id</literal> is an identifier for the type of message. It has the form
        three alphas and four digits separated by a hyphen <literal>AAA-9999</literal>.</para>
    </listitem>
    <listitem>
      <para><literal>Message Text</literal> is a textual description</para>
    </listitem>
  </itemizedlist>
  <para>To illustrate, let's look at two examples.</para>
  <para><literal><link linkend="Java-Broker-Appendix-Operation-Logging-Message-CON-1001">CON-1001</link></literal> is used when a messages client makes an AMQP connection. The
    connection actor (<literal>con</literal>) provides us with details of the peer's connection: the
    user id used by the client (myapp1), their IP, ephemeral port number and the name of the virtual
    host. The message text itself gives us further details about the connection: the client id, the
    protocol version in used, and details of the client's qpid library.</para>
  <screen>[con:8(myapp1@/127.0.0.1:52851/default)] CON-1001 : Open : Destination : AMQP(127.0.0.1:5672) :
    Protocol Version : 0-10 : Client ID : myapp1 : Client Version : ${project.version} : Client Product : qpid</screen>
  <para><literal><link linkend="Java-Broker-Appendix-Operation-Logging-Message-QUE-1001">QUE-1001</link></literal> is used when a queue is created. The connection actor
      <literal>con</literal> tells us details of the connection performing the queue creation: the
    user id used by the client (myapp1), the IP, ephemeral port number and the name of the virtual
    host. The queue subject tells use the queue's name (myqueue) and the virtualhost. The message
    itself tells us more information about the queue that is being created. </para>

  <screen>[con:8(myapp1@/127.0.0.1:52851/default)/ch:0] [vh(/default)/qu(myqueue)] QUE-1001 : Create : Owner: myapp1 Transient</screen>
  <para>The first two tables that follow describe the actor and subject entities, then the later
    provide a complete catalogue of all supported messages.</para>
  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Actor-Format">
    <title>Actors Entities</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Actor Type</entry>
          <entry>Format and Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row>
          <entry morerows="1">Broker</entry>
          <entry>[Broker]</entry>
        </row>
        <row>
          <entry>
            <para>Used during startup and shutdown</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">Management</entry>
          <entry>
              [mng:<replaceable>userid</replaceable>(<replaceable>clientip</replaceable>:<replaceable>ephemeralport</replaceable>)] </entry>

        </row>
        <row>
          <entry>
            <para>Used for operations performed by the Web Management interfaces.</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">Connection</entry>
          <entry>
              [con:<replaceable>connectionnumber</replaceable>(<replaceable>userid</replaceable>@/<replaceable>clientip</replaceable>:<replaceable>ephemeralport</replaceable>/<replaceable>virtualhostname</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>Used for operations performed by a client connection. Note that connections are
              numbered by a sequence number that begins at 1.</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">Channel</entry>
          <entry>
              [con:<replaceable>connectionnumber</replaceable>(<replaceable>userid</replaceable>@/<replaceable>clientip</replaceable>:<replaceable>ephemeralport</replaceable>/<replaceable>virtualhostname</replaceable>/ch:<replaceable>channelnumber</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>Used for operations performed by a client's channel (corresponds to the JMS
              concept of Session). Note that channels are numbered by a sequence number that is
              scoped by the owning connection.</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">Group</entry>
          <entry> [grp(/<replaceable>groupname</replaceable>)/vhn(/<replaceable>virtualhostnode
              name</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>Used for HA. Used for operations performed by the system itself often as a result
              of actions performed on another node..</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>
  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Subject-Format">
    <title>Subject Entities</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Subject Type</entry>
          <entry>Format and Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row>
          <entry morerows="1">Connection</entry>
          <entry>
              [con:<replaceable>connectionnumber</replaceable>(<replaceable>userid</replaceable>@/<replaceable>clientip</replaceable>:<replaceable>ephemeralport</replaceable>/<replaceable>virtualhostname</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>A connection to the Broker.</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">Channel</entry>
          <entry>
              [con:<replaceable>connectionnumber</replaceable>(<replaceable>userid</replaceable>@/<replaceable>clientip</replaceable>:<replaceable>ephemeralport</replaceable>/<replaceable>virtualhostname</replaceable>/ch:<replaceable>channelnumber</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>A client's channel within a connection.</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">Subscription</entry>
          <entry>
              [sub:<replaceable>subscriptionnumber</replaceable>(vh(/<replaceable>virtualhostname</replaceable>)/qu(<replaceable>queuename</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>A subscription to a queue. This corresponds to the JMS concept of a
              Consumer.</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">Queue</entry>
          <entry>[vh(/<replaceable>virtualhostname</replaceable>)/qu(<replaceable>queuename</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>A queue on a virtualhost</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">Exchange</entry>
          <entry>[vh(/<replaceable>virtualhostname</replaceable>)/ex(<replaceable>exchangetype</replaceable>/<replaceable>exchangename</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>An exchange on a virtualhost</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">Binding</entry>
          <entry>
              [vh(/<replaceable>virtualhostname</replaceable>)/ex(<replaceable>exchangetype</replaceable>/<replaceable>exchangename</replaceable>)/qu(<replaceable>queuename</replaceable>)/rk(<replaceable>bindingkey</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>A binding between a queue and exchange with the giving binding key.</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">Message Store</entry>
          <entry>
              [vh(/<replaceable>virtualhostname</replaceable>)/ms(<replaceable>messagestorename</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>A virtualhost/message store on the Broker.</para>
          </entry>
        </row>
        <row>
          <entry morerows="1">HA Group</entry>
          <entry> [grp(/<replaceable>group name</replaceable>)]</entry>
        </row>
        <row>
          <entry>
            <para>A HA group</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>
  <para>The following tables lists all the operation log messages that can be produced by the
    Broker, and the describes the circumstances under which each may be seen.</para>

  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-Broker">
    <title>Broker Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1001">
          <entry morerows="1">BRK-1001</entry>
          <entry>Startup : Version: <replaceable>version</replaceable> Build:
              <replaceable>build</replaceable>
          </entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the Broker is starting up</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1002">
          <entry morerows="1">BRK-1002</entry>
          <entry>Starting : Listening on <replaceable>transporttype</replaceable> port
              <replaceable>portnumber</replaceable>
          </entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the Broker has begun listening on a port.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1003">
          <entry morerows="1">BRK-1003</entry>
          <entry>Shutting down : <replaceable>transporttype</replaceable> port
              <replaceable>portnumber</replaceable>
          </entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the Broker has stopped listening on a port.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1004">
          <entry morerows="1">BRK-1004</entry>
          <entry>Qpid Broker Ready</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the Broker is ready for normal operations.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1005">
          <entry morerows="1">BRK-1005</entry>
          <entry>Stopped</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the Broker is stopped.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1006">
          <entry morerows="1">BRK-1006</entry>
          <entry>Using configuration : <replaceable>file</replaceable>
          </entry>
        </row>
        <row>
          <entry>
            <para>Indicates the name of the configuration store in use by the Broker.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1008">
          <entry morerows="1">BRK-1008</entry>
          <entry><replaceable>delivered|received</replaceable> : <replaceable>size</replaceable>
            kB/s peak : <replaceable>size</replaceable> bytes total</entry>
        </row>
        <row>
          <entry>
            <para>Statistic - bytes delivered or received by the Broker.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1009">
          <entry morerows="1">BRK-1009</entry>
          <entry><replaceable>delivered|received</replaceable> : <replaceable>size</replaceable>
            msg/s peak : <replaceable>size</replaceable> msgs total</entry>
        </row>
        <row>
          <entry>
            <para>Statistic - messages delivered or received by the Broker.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1010">
          <entry morerows="1">BRK-1010</entry>
          <entry>Platform : JVM : <replaceable>vendor</replaceable> version: <replaceable>version
          </replaceable> OS : <replaceable>operating system vendor</replaceable> version:
            <replaceable>operating system version</replaceable>} arch: <replaceable>processor
              architecture</replaceable> cores: <replaceable>number of CPU cores</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Key information about the environment hosting the Broker</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1011">
          <entry morerows="1">BRK-1011</entry>
          <entry>Maximum Memory : Heap : <replaceable>size</replaceable> bytes Direct : <replaceable>
            bytes</replaceable> size</entry></row>
        <row>
          <entry>
            <para>Configured memory paramters for the Broker.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1012">
          <entry morerows="1">BRK-1012</entry>
          <entry>Management Mode : User Details : <replaceable>management node user id</replaceable> /
            <replaceable>management mode password</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Used when Broker is started in management mode to indicate the
             management credentials that may be used connect to the Broker.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1014">
          <entry morerows="1">BRK-1014</entry>
          <entry>Message flow to disk active : Message memory use <replaceable>size of all
              messages</replaceable> exceeds threshold <replaceable>threshold
            size</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the memory space occupied by messages has exceeded the
              threshold so the flow to disk feature has been activated.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1015">
          <entry morerows="1">BRK-1015</entry>
          <entry>Message flow to disk inactive : Message memory use <replaceable>size of all
              messages</replaceable> within threshold <replaceable>threshold
            size</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the memory space occupied by messages has fallen below the
              threshold so the flow to disk feature has been deactivated.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1016">
          <entry morerows="1">BRK-1016</entry>
          <entry>Fatal error : <replaceable>root cause</replaceable> : See log file for more information</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that broker was shut down due to fatal error.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1017">
          <entry morerows="1">BRK-1017</entry>
          <entry>Process : PID <replaceable>process identifier</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Process identifier (PID) of the Broker process.</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-Management">
    <title>Management Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1001">
          <entry morerows="1">MNG-1001</entry>
          <entry><replaceable>type</replaceable> Management Startup </entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a Management plugin is starting up. Supported by Web management plugin.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1002">
          <entry morerows="1">MNG-1002</entry>
          <entry>Starting : <replaceable>type</replaceable> : Listening on <replaceable>transporttype</replaceable> port
              <replaceable>port</replaceable>
          </entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a Management plugin is listening on the given port.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1003">
          <entry morerows="1">MNG-1003</entry>
          <entry>Shutting down : <replaceable>type</replaceable> : port
              <replaceable>port</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a Management plugin is ceasing to listen on the given port.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1004">
          <entry morerows="1">MNG-1004</entry>
          <entry><replaceable>type</replaceable> Management Ready</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a Management plugin is ready for work.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1005">
          <entry morerows="1">MNG-1005</entry>
          <entry><replaceable>type</replaceable> Management Stopped</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a Management plugin is stopped.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1007">
          <entry morerows="1">MNG-1007</entry>
          <entry>Open : User <replaceable>username</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates the opening of a connection to Management has by the given
              username.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1008">
          <entry morerows="1">MNG-1008</entry>
          <entry>Close : User <replaceable>username</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates the closing of a connection to Management has by the given
              username.</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-VirtualHost">
    <title>Virtual Host Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <!--  Virtual host -->
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1001">
          <entry morerows="1">VHT-1001</entry>
          <entry>Created : <replaceable>virtualhostname</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a virtualhost has been created.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1002">
          <entry morerows="1">VHT-1002</entry>
          <entry>Closed</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a virtualhost has been closed. This occurs on Broker
              shutdown.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1003">
          <entry morerows="1">VHT-1003</entry>
          <entry><replaceable>virtualhostname</replaceable> :
              <replaceable>delivered|received</replaceable> : <replaceable>size</replaceable> kB/s
            peak : <replaceable>size</replaceable> bytes total</entry>
        </row>
        <row>
          <entry>
            <para>Statistic - bytes delivered or received by the virtualhost.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1004">
          <entry morerows="1">VHT-1004</entry>
          <entry><replaceable>virtualhostname</replaceable> :
              <replaceable>delivered|received</replaceable> : <replaceable>size</replaceable> msg/s
            peak : <replaceable>size</replaceable> msgs total</entry>
        </row>
        <row>
          <entry>
            <para>Statistic - messages delivered or received by the virtualhost.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1005">
          <entry morerows="1">VHT-1005</entry>
          <entry>Unexpected fatal error</entry>
        </row>
        <row>
          <entry>
            <para>Virtualhost has suffered an unexpected fatal error, check the logs for more
              details.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1006">
          <entry morerows="1">VHT-1006</entry>
          <entry>Filesystem is over <replaceable>size in %</replaceable> per cent full, enforcing flow control.</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that virtual host flow control is activated
                  when the usage of file system containing Virtualhost  message store exceeded predefined limit.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1007">
          <entry morerows="1">VHT-1007</entry>
          <entry>Filesystem is no longer over <replaceable>size in %</replaceable> per cent full.</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that virtual host flow control is deactivated
                  when the usage of file system containing Virtualhost message falls under predefined limit.</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>
  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-Queue">
    <title>Queue Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <!-- Queue -->
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1001">
          <entry morerows="1">QUE-1001</entry>
          <entry>Create : Owner: <replaceable>owner</replaceable>
            <replaceable>AutoDelete</replaceable> [<replaceable>Durable</replaceable>]
              <replaceable>Transient</replaceable> Priority:
              <replaceable>numberofpriorities</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a queue has been created.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1002">
          <entry morerows="1">QUE-1002</entry>
          <entry>Deleted</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a queue has been deleted.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1003">
          <entry morerows="1">QUE-1003</entry>
          <entry>
            Overfull : Size :  <replaceable>size in bytes</replaceable>, Capacity : <replaceable>resumesize in bytes</replaceable>,
            Messages : <replaceable>size in messages</replaceable>, Message Capacity : <replaceable>resumesize in messages</replaceable>
          </entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a queue has exceeded its permitted capacity when
              <emphasis>Producer Flow Control</emphasis> overflow policy is used.
              See <xref linkend="Java-Broker-Concepts-Queue-OverflowPolicy"/> for details.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1004">
          <entry morerows="1">QUE-1004</entry>
          <entry>
            Underfull : Size : <replaceable>size in bytes</replaceable>, Capacity : <replaceable>resumesize in bytes</replaceable>,
            Messages : <replaceable>size in messages</replaceable>, Message Capacity : <replaceable>resumesize in messages</replaceable>
          </entry>
        </row>
        <row>
          <entry>
            <para>
              Indicates that a queue has fallen to its resume capacity  when
              <emphasis>Producer Flow Control</emphasis> overflow policy is used.
              See <xref linkend="Java-Broker-Concepts-Queue-OverflowPolicy"/> for details.
            </para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1004">
          <entry morerows="1">QUE-1005</entry>
          <entry>
            Dropped : <replaceable>number</replaceable> messages, Depth : <replaceable>size</replaceable> bytes,
            <replaceable>size</replaceable> messages, Capacity : <replaceable>limit</replaceable> bytes,
            <replaceable>limit</replaceable> messages
          </entry>
        </row>
        <row>
          <entry>
            <para>
              Indicates that a given number of messages is deleted when <emphasis>Ring</emphasis> overflow policy is
              used and any of queue capacity limits is breached .
              See <xref linkend="Java-Broker-Concepts-Queue-OverflowPolicy"/> for details.
            </para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1014">
          <entry morerows="1">QUE-1014</entry>
          <entry>Message flow to disk active : Message memory use <replaceable>size of all
            messages</replaceable> exceeds threshold <replaceable>threshold
              size</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the memory space occupied by messages for this queue
              has exceeded thevthreshold so the flow to disk feature has been activated.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-QUE-1015">
          <entry morerows="1">QUE-1015</entry>
          <entry>Message flow to disk inactive : Message memory use <replaceable>size of all
            messages</replaceable> within threshold <replaceable>threshold
              size</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the memory space occupied by messages for this queue has fallen
              below the threshold so the flow to disk feature has been deactivated.</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>
  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-Exchange">
    <title>Exchange Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <!-- Exchange -->
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1001">
          <entry morerows="1">EXH-1001</entry>
          <entry>Create : [<replaceable>Durable</replaceable>] Type: <replaceable>type</replaceable>
            Name: <replaceable>exchange name</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that an exchange has been created.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1002">
          <entry morerows="1">EXH-1002</entry>
          <entry>Deleted</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that an exchange has been deleted.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1003">
          <entry morerows="1">EXH-1003</entry>
          <entry>Discarded Message : Name: <replaceable>exchange name</replaceable> Routing Key:
              <replaceable>routing key</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that an exchange received a message that could not be routed to at least
              one queue. queue has exceeded its permitted capacity. See <xref linkend="Java-Broker-Concepts-Exchanges-UnroutableMessage"/> for details.</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-Binding">
    <title>Binding Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BND-1001">
          <entry morerows="1">BND-1001</entry>
          <entry>Create : Arguments : <replaceable>arguments</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a binding has been made between an exchange and a queue.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BND-1002">
          <entry morerows="1">BND-1002</entry>
          <entry>Deleted</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a binding has been deleted</para>
          </entry>
        </row>

      </tbody>
    </tgroup>
  </table>

  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-Connection">
    <title>Connection Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CON-1001">
          <entry morerows="1">CON-1001</entry>
          <entry>Open : Destination : <replaceable>target port</replaceable> : Protocol Version :
            <replaceable>protocol version</replaceable> : Client ID : <replaceable>clientid</replaceable> :
            Client Version : <replaceable>client version</replaceable> :
            Client Product : <replaceable>client product</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a connection has been opened. The Broker logs one of these message
              each time it learns more about the client as the connection is negotiated.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CON-1002">
          <entry morerows="1">CON-1002</entry>
          <entry>Close</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a connection has been closed. This message is logged regardless of
              if the connection is closed normally, or if the connection is somehow lost e.g network
              error. </para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CON-1003">
          <entry morerows="1">CON-1003</entry>
          <entry>Closed due to inactivity</entry>
        </row>
        <row>
          <entry>
            <para>Used when heart beating is in-use. Indicates that the connection has not received
              a heartbeat for too long and is therefore closed as being inactive. </para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CON-1004">
          <entry morerows="1">CON-1004</entry>
          <entry>Connection dropped</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a connection has been unexpectedly closed by the peer. This usually
            occurs if a machine hosting an application fails or the application's process is
            abruptly terminated.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CON-1005">
          <entry morerows="1">CON-1005</entry>
          <entry>Client version <replaceable>version</replaceable> logged by validation</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a connection has been received from client with a version number
              that is configured to be logged.  This feature may help teams manage software currency.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CON-1006">
          <entry morerows="1">CON-1006</entry>
          <entry>Client version <replaceable>version</replaceable> rejected by validation</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a connection attempt has been received from client with a version number
              that is configured to be rejected.  This feature may help manage software currency.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CON-1007">
          <entry morerows="1">CON-1007</entry>
          <entry>Connection close initiated by operator</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a connection has been closed by the actions of an
            Operator using manangement.</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>


  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-Channel">
    <title>Channel Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1001">
          <entry morerows="1">CHN-1001</entry>
          <entry>Create</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a channel (corresponds to the JMS concept of Session) has been
              created.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1002">
          <entry morerows="1">CHN-1002</entry>
          <entry>Flow Started</entry>
        </row>
        <row>
          <entry>
            <para>Indicates message flow to a session has begun.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1003">
          <entry morerows="1">CHN-1003</entry>
          <entry>Close</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a channel has been closed.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1004">
          <entry morerows="1">CHN-1004</entry>
          <entry>Prefetch Size (bytes) <replaceable>size</replaceable> : Count <replaceable>number
              of messages</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates the prefetch size in use by a channel.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1005">
          <entry morerows="1">CHN-1005</entry>
          <entry>Flow Control Enforced (Queue <replaceable>queue name</replaceable>)</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that producer flow control has been imposed on a channel owning to
              excessive queue depth in the indicated queue. Produces using the channel will be
              requested to pause the sending of messages.
              See <xref linkend="Java-Broker-Concepts-Queue-OverflowPolicy"/> for more details.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1006">
          <entry morerows="1">CHN-1006</entry>
          <entry>Flow Control Removed</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that producer flow control has been removed from a channel.
              See <xref linkend="Java-Broker-Concepts-Queue-OverflowPolicy"/> for more details.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1007">
          <entry morerows="1">CHN-1007</entry>
          <entry>Open Transaction : <replaceable>time</replaceable> ms</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a producer transaction has been open for longer than that
              permitted. See <xref linkend="Java-Broker-Runtime-Producer-Transaction-Timeout"/> for
              more details.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1008">
          <entry morerows="1">CHN-1008</entry>
          <entry>Idle Transaction : <replaceable>time</replaceable> ms</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a producer transaction has been idle for longer than that
              permitted. See <xref linkend="Java-Broker-Runtime-Producer-Transaction-Timeout"/> for
              more details.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1009">
          <entry morerows="1">CHN-1009</entry>
          <entry>Discarded message : <replaceable>message number</replaceable> as no alternate
            exchange configured for queue : <replaceable>queue name</replaceable>{1} routing key :
              <replaceable>routing key</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a channel has discarded a message as the maximum delivery count has
              been exceeded but the queue defines no alternate exchange. See <xref linkend="Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count"/> for more details. Note that <replaceable>message number</replaceable> is an
              internal message reference.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1010">
          <entry morerows="1">CHN-1010</entry>
          <entry>Discarded message : <replaceable>message number</replaceable> as no binding on
            alternate exchange : <replaceable>exchange name</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a channel has discarded a message as the maximum delivery count has
              been exceeded but the queue's alternate exchange has no binding to a queue. See <xref linkend="Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count"/> for more details. Note that <replaceable>message number</replaceable> is an
              internal message reference.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1011">
          <entry morerows="1">CHN-1011</entry>
          <entry>Message : <replaceable>message number</replaceable> moved to dead letter queue :
              <replaceable>queue name</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a channel has moved a message to the named dead letter queue
            </para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1012">
          <entry morerows="1">CHN-1012</entry>
          <entry>Flow Control Ignored. Channel will be closed.</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a channel violating the imposed flow control has been closed
            </para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CHN-1013">
          <entry morerows="1">CHN-1013</entry>
          <entry>Uncommitted transaction contains <replaceable>size</replaceable> bytes of incoming message data.</entry>
        </row>
        <row>
          <entry>
              <para>Warns about uncommitted transaction with large message(s)
              </para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>
  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-Subscription">
    <title>Subscription Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1001">
          <entry morerows="1">SUB-1001</entry>
          <entry>Create : [<replaceable>Durable</replaceable>] Arguments :
              <replaceable>arguments</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a subscription (corresponds to JMS concept of a MessageConsumer)
              has been created.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1002">
          <entry morerows="1">SUB-1002</entry>
          <entry>Close</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a subscription has been closed.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1003">
          <entry morerows="1">SUB-1003</entry>
          <entry>SUB-1003 : Suspended for <replaceable>time</replaceable> ms</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a subscription has been in a suspened state for an unusual length
              of time.  This may be indicative of an consuming application that has stopped taking
              messages from the consumer (i.e. a JMS application is not calling receive() or its
              asynchronous message listener onMessage() is blocked in application code).  It may also
              indicate a generally overloaded system.
              </para>
          </entry>
        </row>

      </tbody>
    </tgroup>
  </table>

  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-MessageStore">
    <title>Message Store Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MST-1001">
          <entry morerows="1">MST-1001</entry>
          <entry>Created</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a message store has been created. The message store is responsible
              for the storage of the messages themselves, including the message body and any
              headers.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MST-1002">
          <entry morerows="1">MST-1002</entry>
          <entry>Store location : <replaceable>path</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the message store is using <replaceable>path</replaceable> for the
              location of the message store.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MST-1003">
          <entry morerows="1">MST-1003</entry>
          <entry>Closed</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the message store has been closed.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MST-1004">
          <entry morerows="1">MST-1004</entry>
          <entry>Recovery Start</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that message recovery has begun.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MST-1005">
          <entry morerows="1">MST-1005</entry>
          <entry>Recovered <replaceable>number of messages</replaceable> messages.</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that recovery recovered the given number of messages from the
              store.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MST-1006">
          <entry morerows="1">MST-1006</entry>
          <entry>Recovered Complete</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the message recovery is concluded.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MST-1007">
          <entry morerows="1">MST-1007</entry>
          <entry>Store Passivated</entry>
        </row>
        <row>
          <entry>
            <para>The store is entering a passive state where is it unavailable for normal
              operations. Currently this message is used by HA when the node is in replica
              state.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MST-1008">
          <entry morerows="1">MST-1008</entry>
          <entry>Store overfull, flow control will be enforced</entry>
        </row>
        <row>
          <entry>
            <para>The store has breached is maximum configured size.
              See <xref linkend="Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control"/> for details.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MST-1009">
          <entry morerows="1">MST-1009</entry>
          <entry>Store overfull condition cleared</entry>
        </row>
        <row>
          <entry>
            <para>The store size has fallen beneath its resume capacity and therefore flow control
              has been rescinded. See <xref linkend="Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control"/>
              for details. </para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-TransactionStore">
    <title>Transaction Store Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1001">
          <entry morerows="1">TXN-1001</entry>
          <entry>Created</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a transaction store has been created. The transaction store is
              responsible for the storage of messages instances, that is, the presence of a message
              on a queue.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1002">
          <entry morerows="1">TXN-1002</entry>
          <entry>Store location : <replaceable>path</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the transaction store is using <replaceable>path</replaceable> for
              the location of the store.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1003">
          <entry morerows="1">TXN-1003</entry>
          <entry>Closed</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the transaction store has been closed.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1004">
          <entry morerows="1">TXN-1004</entry>
          <entry>Recovery Start</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that transaction recovery has begun.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-MST-TXN">
          <entry morerows="1">TXN-1005</entry>
          <entry>Recovered <replaceable>number</replaceable> messages for queue
              <replaceable>name</replaceable>.</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that recovery recovered the given number of message instances for the
              given queue.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-TXN-1006">
          <entry morerows="1">TXN-1006</entry>
          <entry>Recovered Complete</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the message recovery is concluded.</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-ConfigurationStore">
    <title>Configuration Store Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1001">
          <entry morerows="1">CFG-1001</entry>
          <entry>Created</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a configuration store has been created. The configuration store is
              responsible for the storage of the definition of objects such as queues, exchanges,
              and bindings.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1002">
          <entry morerows="1">CFG-1002</entry>
          <entry>Store location : <replaceable>path</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the configuration store is using <replaceable>path</replaceable>
              for the location of the store.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1003">
          <entry morerows="1">CFG-1003</entry>
          <entry>Closed</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the configuration store has been closed.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1004">
          <entry morerows="1">CFG-1004</entry>
          <entry>Recovery Start</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that configuration recovery has begun.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CFG-1005">
          <entry morerows="1">CFG-1005</entry>
          <entry>Recovered Complete</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the configuration recovery is concluded.</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-HA">
    <title>HA Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1001">
          <entry morerows="1">HA-1001</entry>
          <entry>Created</entry>
        </row>
        <row>
          <entry>
            <para>This HA node has been created.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1002">
          <entry morerows="1">HA-1002</entry>
          <entry>Deleted</entry>
        </row>
        <row>
          <entry>
            <para>This HA node has been deleted</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1003">
          <entry morerows="1">HA-1003</entry>
          <entry>Added : Node : '<replaceable>name</replaceable>'
              (<replaceable>host:port</replaceable>)</entry>
        </row>
        <row>
          <entry>
            <para>A new node has been added to the group.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1004">
          <entry morerows="1">HA-1004</entry>
          <entry>Removed : Node : '<replaceable>name</replaceable>'
              (<replaceable>host:port</replaceable>)</entry>
        </row>
        <row>
          <entry>
            <para>The node has been removed from the group. This removal is permanent.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1005">
          <entry morerows="1">HA-1005</entry>
          <entry>Joined : Node : '<replaceable>name</replaceable>'
              (<replaceable>host:port</replaceable>)</entry>
        </row>
        <row>
          <entry>
            <para>The node has become reachable. This may be as a result of the node being
              restarted, or a network problem may have been resolved.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1006">
          <entry morerows="1">HA-1006</entry>
          <entry>Left : Node : '<replaceable>name</replaceable>'
              (<replaceable>host:port</replaceable>)</entry>
        </row>
        <row>
          <entry>
            <para>The node is no longer reachable. This may be as a result of the node being stopped
              or a network partition may be preventing it from being connected. The node is still a
              member of the group.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1007">
          <entry morerows="1">HA-1007</entry>
          <entry>HA-1007 : Master transfer requested : to '<replaceable>name</replaceable>'
              (<replaceable>host:port</replaceable>)</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a master transfer operation has been requested.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1008">
          <entry morerows="1">HA-1008</entry>
          <entry>HA-1008 : Intruder detected : Node '<replaceable>name</replaceable>'
              (<replaceable>host:port</replaceable>)</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that an unexpected node has joined the group. The virtualhost node will
              go into the ERROR state in response to the condition.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1009">
          <entry morerows="1">HA-1009</entry>
          <entry>HA-1009 : Insufficient replicas contactable</entry>
        </row>
        <row>
          <entry>
            <para>This node (which was in the master role) no longer has sufficient replica in
              contact in order to complete transactions.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1010">
          <entry morerows="1">HA-1010</entry>
          <entry>HA-1010 : Role change reported: Node : '<replaceable>name</replaceable>'
              (<replaceable>host:port</replaceable>) : from <replaceable>role</replaceable> to
              <replaceable>role</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the node has changed role within the group.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1011">
          <entry morerows="1">HA-1011</entry>
          <entry>HA-1011 : Minimum group size : <replaceable>new group size</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>The quorum requirements from completing elections or transactions has been
              changed.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1012">
          <entry morerows="1">HA-1012</entry>
          <entry>HA-1012 : Priority : <replaceable>priority</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>The priority of the object node has been changed. Zero indicates that the node
              cannot be elected master.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1013">
          <entry morerows="1">HA-1013</entry>
          <entry>HA-1013 : Designated primary : <replaceable>true|false</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>This node has been designated primary and can now operate solo. Applies to two
              node groups only. See <xref linkend="Java-Broker-High-Availability-Behaviour-DesignatedPrimary"/></para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-HA-1014">
          <entry morerows="1">HA-1014</entry>
          <entry>HA-1014 : Diverged transactions discarded</entry>
        </row>
        <row>
          <entry>
            <para>This node is in the process of rejoining the group but has discovered that some
              of its transactions differ from those of the current master. The node will
              automatically roll-back (i.e. discard) the diverging transactions in order to be
              allowed to rejoin the group. This situation can only usually occur as a result of use
              of the weak durability options. These allow the group to operate with fewer than
              quorum nodes and therefore allow the inconsistencies to develop. </para>
            <para>On encountering this condition, it is <emphasis>strongly</emphasis> recommendend
              to run an application level reconcilation to determine the data that has been
              lost.</para>
          </entry>
        </row>

      </tbody>
    </tgroup>
  </table>

  <table pgwide="1" xml:id="Java-Broker-Appendix-Operation-Logging-Message-List-Port">
    <title>Port Log Messages</title>
    <tgroup cols="2">
      <thead>
        <row>
          <entry>Message Id</entry>
          <entry>Message Text / Purpose</entry>
        </row>
      </thead>
      <tbody>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1001">
          <entry morerows="1">PRT-1001</entry>
          <entry>Create</entry>
        </row>
        <row>
          <entry>
            <para>Port has been created.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1002">
          <entry morerows="1">PRT-1002</entry>
          <entry>Open</entry>
        </row>
        <row>
          <entry>
            <para>Port has been open</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1003">
          <entry morerows="1">PRT-1003</entry>
          <entry>Close</entry>
        </row>
        <row>
          <entry>
            <para>Port has been closed</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1004">
          <entry morerows="1">PRT-1004</entry>
          <entry>Connection count <replaceable>number</replaceable> within <replaceable>warn limit</replaceable> % of maximum <replaceable>limit</replaceable>
          </entry>
        </row>
        <row>
          <entry>
            <para>Warns that number of open connections approaches maximum allowed limit</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1005">
          <entry morerows="1">PRT-1005</entry>
          <entry>Connection from <replaceable>peer</replaceable> rejected. Maximum connection count (<replaceable>limit</replaceable>) for this port already reached.</entry>
        </row>
        <row>
          <entry>
            <para>Connection from given host is rejected because of reaching the maximum allowed limit</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1007">
          <entry morerows="1">PRT-1007</entry>
          <entry>Unsupported protocol header received, replying with <replaceable>AMQP version</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Ususualy indicates an attempt to make an non-AMQP connection on an AMQP port, for instance,
             with a web browser.</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
</table>

</appendix>
