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)