<?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-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>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-BRK-1018">
          <entry morerows="1">BRK-1018</entry>
          <entry>Operation : <replaceable>operation name</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the named operation has been invoked</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-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>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1008">
          <entry morerows="1">VHT-1008</entry>
          <entry>Operation : <replaceable>operation name</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the named operation has been invoked</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-1005">
          <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-1016">
          <entry morerows="1">QUE-1016</entry>
          <entry>Operation : <replaceable>operation name</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the named operation has been invoked</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>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-EXH-1004">
          <entry morerows="1">EXH-1004</entry>
          <entry>Operation : <replaceable>operation name</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the named operation has been invoked</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>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CON-1009">
          <entry morerows="1">CON-1009</entry>
          <entry>Uncommitted transaction(s) contains <replaceable>size</replaceable> bytes of incoming message data
            exceeding <replaceable>size</replaceable> bytes limit. Messages will be flowed to disk.</entry>
        </row>
        <row>
          <entry>
            <para>Warns that the transactions associated with this connection contain so much uncommitted data that
              a threshold has been breached.  The connection responds by flowing the messages already associated with the
              transactions and any new messages to disk.  The connection reverts to normal behaviour once the
              quantity of uncommitted data falls beneath the threshold.  Normally this happens when the transactions
              commit or rollback.
            </para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CON-1010">
          <entry morerows="1">CON-1010</entry>
          <entry>Open Transaction : <replaceable>time</replaceable> ms</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a messaging transaction has been open for longer than that
              permitted. See <xref linkend="Java-Broker-Runtime-Transaction-Timeout"/> for
              more details.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-CON-1011">
          <entry morerows="1">CON-1011</entry>
          <entry>Idle Transaction : <replaceable>time</replaceable> ms</entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a messaging transaction has been idle for longer than that
              permitted. See <xref linkend="Java-Broker-Runtime-Transaction-Timeout"/> for
              more details.</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-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-1014">
          <entry morerows="1">CHN-1014</entry>
          <entry>Operation : <replaceable>operation name</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the named operation has been invoked</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>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-SUB-1004">
          <entry morerows="1">SUB-1004</entry>
          <entry>Operation : <replaceable>operation name</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the named operation has been invoked</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 <replaceable>header bytes</replaceable>, 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>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1008">
          <entry morerows="1">PRT-1008</entry>
          <entry>Connection from <replaceable>address</replaceable> rejected</entry>
        </row>
        <row>
          <entry>
            <para>Incoming connection is rejected because the port's connection limits are
              already reached.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1009">
          <entry morerows="1">PRT-1009</entry>
          <entry>FAILED to bind <replaceable>name</replaceable> service to <replaceable>port number</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>The given port number could not be bound because it is already in-use.</para>
          </entry>
        </row>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-PRT-1010">
          <entry morerows="1">PRT-1010</entry>
          <entry>Operation : <replaceable>operation name</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that the named operation has been invoked</para>
          </entry>
        </row>
      </tbody>
    </tgroup>
</table>

</appendix>
