[ 
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)

Reply via email to