activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Teemu Torma (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQCPP-256) Transaction has not been started exceptions on the broker with parallel transacted sessions
Date Tue, 21 Jul 2009 23:37:33 GMT

    [ https://issues.apache.org/activemq/browse/AMQCPP-256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52890#action_52890
] 

Teemu Torma commented on AMQCPP-256:
------------------------------------

Some general observations:

- Using the same concept with message listener fails the same way.
- Without any delay in message processing the problem is very hard to reproduce.
- Using CLIENT_ACKNOWLEDGE works.
- Synchronizing the message receiving and commit makes the problem go away, but that is not
really multi-threaded.

For me it sounds that something in activemq-cpp transaction managements gets confused based
on timing of receiving the message and the commit.  I might be wrong though.

> Transaction has not been started exceptions on the broker with parallel transacted sessions
> -------------------------------------------------------------------------------------------
>
>                 Key: AMQCPP-256
>                 URL: https://issues.apache.org/activemq/browse/AMQCPP-256
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>    Affects Versions: 3.0
>         Environment: Ubuntu Jaunty 9.04
>            Reporter: Teemu Torma
>            Assignee: Timothy Bish
>            Priority: Critical
>         Attachments: mt-receive.cpp
>
>
> When using parallel transacted sessions and consumers to same queue each sharing the
same connection, the messages are delivered but the broker 5.2 gets exceptions
> javax.jms.JMSException: Transaction 'TX:de411476-d65d-fff7-1e84-be7c9abd80b5:6' has not
been started.
> and some messages are left on the broker even though they were delivered.
> The issue seems to be related to multi-threading, by protecting each receive/commit with
a lock the error does not happen.  I am sorry I don't have a test program ready, but it should
be easy to reproduce by creating multiple transacted session threads with prefetchSize=1 and
consuming messages, commiting after each message.  I have seen this happen both with consumers
and listeners.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message