You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "clebert suconic (JIRA)" <ji...@apache.org> on 2019/01/18 02:32:00 UTC

[jira] [Updated] (ARTEMIS-2088) Page.write() should throw exception if file is closed

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

clebert suconic updated ARTEMIS-2088:
-------------------------------------
    Fix Version/s:     (was: 2.6.4)
                   2.6.5

> Page.write() should throw exception if file is closed
> -----------------------------------------------------
>
>                 Key: ARTEMIS-2088
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2088
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.6.3
>            Reporter: Howard Gao
>            Assignee: Howard Gao
>            Priority: Major
>             Fix For: 2.6.5
>
>
> In Page.write(final PagedMessage message) if the page file is closed it returns silently. The caller has no way to know that if the message is paged to file or not.
> It should throw an exception so that the caller can handle it correctly.
> This causes random failure in test org.hornetq.tests.integration.client.PagingTest#testExpireLargeMessageOnPaging().
> The test shows that when the server stops it closes the page file. In the mean time a message is expired to the expiry queue.
>  and if the expiry queue is in paging mode, it goes to Page.write() and returns without any error. The result is that the message is removed from the original queue and not added to the expiry queue.
> If we throw exception here it make the expiration failed, the message will not be removed from the orginal queue. Next time broker is started, the message will be reloaded and expired again. no message lost.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)