<?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>
      </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>
        <row xml:id="Java-Broker-Appendix-Operation-Logging-Message-VHT-1008">
          <entry morerows="1">VHT-1008</entry>
          <entry>Total number of bytes evacuated from memory due to flow to disk : <replaceable>amount</replaceable> bytes</entry>
        </row>
        <row>
          <entry>
            <para>Number of bytes evacuated from memory due to the <link linkend="Java-Broker-Runtime-Flow-To-Disk">flow to disk feature</link> during the lifetime of the VirtualHost.</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</replaceable> bytes, Capacity :
              <replaceable>maximumsize</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a queue has exceeded its permitted capacity. See <xref linkend="Qpid-Producer-Flow-Control"/> 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</replaceable> bytes, Resume Capacity :
              <replaceable>resumesize</replaceable></entry>
        </row>
        <row>
          <entry>
            <para>Indicates that a queue has fallen to its resume capacity. See <xref linkend="Qpid-Producer-Flow-Control"/> for details.</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="Qpid-Producer-Flow-Control"/> 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="Qpid-Producer-Flow-Control"/> 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="Qpid-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="Qpid-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.</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>
