qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-5528) HA Clean up error messages around queue deletion
Date Mon, 03 Feb 2014 19:17:10 GMT

    [ https://issues.apache.org/jira/browse/QPID-5528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13889781#comment-13889781

ASF subversion and git services commented on QPID-5528:

Commit 1564010 from [~aconway] in branch 'qpid/trunk'
[ https://svn.apache.org/r1564010 ]

QPID-5528: HA Clean up error messages around rolled-back transactions.

A simple transaction test on a 3 node cluster generates a lot of errors and
rollback messages in the broker logs even though the test code never rolls back a
transaction. E.g.

  qpid-cluster-benchmark -b -n1 -m 1000 -q3 -s2 -r2 --send-arg=--tx --send-arg=10
--receive-arg=--tx --receive-arg=10

The errors are caused by queues being deleted while backup brokers are using
them. This happens a lot in the transaction test because a transactional session
must create a new transaction when the previous one closes. When the session
closes the open transaction is rolled back automatically. Thus there is almost
always an empty transaction that is created then immediately rolled back at the
end of the session. Backup brokers may still be in the process of subscribing to
the transaction's replication queue at this point, causing (harmlesss) errors.

This commit takes the following steps to clean up the unwanted error and rollback messages:

HA TX messages cleaned up:
- Remove log messages about rolling back/destroying empty transactions.
- Remove misleading "backup disconnected" message for cancelled transactions.
- Remove spurious warning about ignored unreplicated dequeues.
- Include TxReplicator destroy in QueueReplicator mutex, idempotence check before destroy.

Allow HA to suppress/modify broker exception logging:
- Move broker exception logging into ErrorListener
- Every SessionHandler has DefaultErrorListener that does the same logging as before.
- Added SessionHandlerObserver to allow plugins to change the error listener.
- HA plugin set ErrorListeners to log harmless exceptions as HA debug messages.

Unrelated cleanup:
- Broker now logs "incoming execution exceptions" as debug messages rather than ignoring.
- Exception prefixes: don't add the prefix if already present.

The exception test above should now pass without errors or rollback messages in the logs.

> HA Clean up error messages around queue deletion
> ------------------------------------------------
>                 Key: QPID-5528
>                 URL: https://issues.apache.org/jira/browse/QPID-5528
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Clustering
>    Affects Versions: 0.26
>            Reporter: Alan Conway
>            Assignee: Alan Conway
> See also https://bugzilla.redhat.com/show_bug.cgi?id=1024528
> Running the following simple transaction test:
> {noformat}
> qpid-cluster-benchmark -b -n1 -m 1000 -q3 -s2 -r2 $AMQP10  --send-arg=--tx
--send-arg=10 --receive-arg=--tx --receive-arg=10
> {noformat}
> Generates a lot of errors and rollback messages in the broker logs.
> It should complete cleanly.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org

View raw message