You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2023/03/24 08:23:00 UTC

[jira] [Work logged] (ARTEMIS-4215) JournalFlush might never happen when journal-sync-* is false

     [ https://issues.apache.org/jira/browse/ARTEMIS-4215?focusedWorklogId=852778&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-852778 ]

ASF GitHub Bot logged work on ARTEMIS-4215:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 24/Mar/23 08:22
            Start Date: 24/Mar/23 08:22
    Worklog Time Spent: 10m 
      Work Description: AntonRoskvist opened a new pull request, #4413:
URL: https://github.com/apache/activemq-artemis/pull/4413

   …alse
   
   I'm very open to the idea that this might not be the right solution but if nothing else the test works to demonstrate the issue.
   Can also very easily be demonstrated by:
   
   configuring <journal-sync-transactional>false</journal-sync-transactional>
                      <journal-sync-non-transactional>false</journal-sync-non-transactional>
   Starting the broker
   Sending some messages i.e:
   bin/artemis producer --destination queue://TEST.1 --message-count 100
   Wait _any_ amount of time
   kill -9 artemisPID
   Start broker
   Messages are gone
   
   This is new behavior since broker version 2.18.0
   
   I have run some local performance tests between this change and an unchanged broker and can see no meaningful difference in terms of resource utilization or overall throughput.
   
   I have tested with sync=true and false, 
   paging 50% of the messages
   Running all message production in transacted batches of 10 messages each
   Running all message production with AUTO_ACK
   Results of the tests:
   
   ```
   1M messages
   max-messages=500k
     sync=false
       batch
         PR:  231995 ms
         ORG: 234791 ms
       AUTO_ACK
         PR:  33627 ms
         ORG: 31928 ms
     sync=true
       batch
         PR:  254064 ms
         ORG: 247203 ms
       AUTO_ACK
         PR:  2438805 ms
         ORG: 2439546 ms
   ```




Issue Time Tracking
-------------------

            Worklog Id:     (was: 852778)
    Remaining Estimate: 0h
            Time Spent: 10m

> JournalFlush might never happen when journal-sync-* is false
> ------------------------------------------------------------
>
>                 Key: ARTEMIS-4215
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4215
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Anton Roskvist
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When journal-sync-* is false then flushes to journal will only ever happen once the buffer is full or when the broker is cleanly shut down, regardless of how much time passes. This means that if the broker is started with these settings a crash/kill -9 will for sure loose messages, regardless of how much time passes since the messages where sent.
> This started with version 2.18.0



--
This message was sent by Atlassian Jira
(v8.20.10#820010)