You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2013/10/30 10:26:26 UTC

[jira] [Updated] (AMQ-4699) Transacted producer does not throw ResourceAllocationException on error

     [ https://issues.apache.org/jira/browse/AMQ-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen updated AMQ-4699:
-----------------------------

    Fix Version/s: NEEDS_REVIEWED

> Transacted producer does not throw ResourceAllocationException on error
> -----------------------------------------------------------------------
>
>                 Key: AMQ-4699
>                 URL: https://issues.apache.org/jira/browse/AMQ-4699
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.8.0
>         Environment: ActiveMQ 5.8.0 server
> ActiveMQ 5.8.0 client on Java 7
>            Reporter: Joakim von Brandis
>             Fix For: NEEDS_REVIEWED
>
>
> Using a transacted producer session, with sendFailIfNoSpace=true or sendFailIfNoSpaceAfterTimeout=timeout, the producer gets no error on whether send() or commit(). Thus, the producer may pour out messages in a transacted session, which are silently discarded by ActiveMQ.
> A connection exception listener will receive ResourceAllocationException, but since this happens in another thread than the sending client, there is no guarantee that the client can be notified in time to avoid commit().
> Without using sendFailIfNoSpace(AfterTimeout), producer is blocked until space is available, as expected.
> The client should receive error on send() when the resource exhaustion is reported, and in any case a commit() should not complete without error if the server has discarded any messages in the transaction.



--
This message was sent by Atlassian JIRA
(v6.1#6144)