You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by clebertsuconic <gi...@git.apache.org> on 2017/10/05 22:03:24 UTC
[GitHub] activemq-artemis pull request #1578: ARTEMIS-1452 Improvements to IO paramet...
GitHub user clebertsuconic opened a pull request:
https://github.com/apache/activemq-artemis/pull/1578
ARTEMIS-1452 Improvements to IO parameters and options
- it is now possible to disable the TimedBuffer
- this is increasing the default on libaio maxAIO to 4k
- The Auto Tuning on the journal will use asynchronous writes to simulate what would happen on faster disks
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/clebertsuconic/activemq-artemis libaio
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/1578.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1578
----
commit 83bdef4343a44895d1b74a90c24d31654b7cfad6
Author: Clebert Suconic <cl...@apache.org>
Date: 2017-10-05T01:20:03Z
ARTEMIS-1452 Improvements to IO parameters and options
- it is now possible to disable the TimedBuffer
- this is increasing the default on libaio maxAIO to 4k
- The Auto Tuning on the journal will use asynchronous writes to simulate what would happen on faster disks
----
---
[GitHub] activemq-artemis issue #1578: ARTEMIS-1452 Improvements to IO parameters and...
Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on the issue:
https://github.com/apache/activemq-artemis/pull/1578
it doesn't extend indeed.. I thought it did...
but you still inherited the code with copy & paste :)
```java
if (buffered && bufferTimeout > 0 && bufferSize > 0) {
timedBuffer = new TimedBuffer(bufferSize, bufferTimeout, false);
} else {
timedBuffer = null;
}
```
perhaps it should extend it?
---
[GitHub] activemq-artemis issue #1578: ARTEMIS-1452 Improvements to IO parameters and...
Posted by franz1981 <gi...@git.apache.org>.
Github user franz1981 commented on the issue:
https://github.com/apache/activemq-artemis/pull/1578
@clebertsuconic
Well done!
I've disabled the TimedBuffer for the `MAPPED` journal when `data-sync` is `false`, here: https://github.com/apache/activemq-artemis/pull/1436
But I've not found any change on the code here to avoid the use of a TimedBuffer: it needs to be added yet?
P.S.: In that case I can close my PR, that is addressed by this one :+1:
---
[GitHub] activemq-artemis issue #1578: ARTEMIS-1452 Improvements to IO parameters and...
Posted by clebertsuconic <gi...@git.apache.org>.
Github user clebertsuconic commented on the issue:
https://github.com/apache/activemq-artemis/pull/1578
@franz1981 https://github.com/apache/activemq-artemis/blob/37135617a8776c91c7e598ff11aa8bbc240ceafe/artemis-journal/src/main/java/org/apache/activemq/artemis/core/io/AbstractSequentialFileFactory.java#L80-L83
All you need is to set journal-timeout = 0... which wasn't being allowed on the config (> 0).. I basically changed it allowing >= 0 and that's the change.
Regarding MAPPED.. I didn't merge that one before because I thought we were lacking tests... I had a test on my workspace for Unbuffered.. but I think I missed it...
I think we should change the CLI to make timeout = 0 if sync = false (for all the journals.. not just MAPPED). and add a text on the broker.xml saying we recommend disabling if sync=false.
---
[GitHub] activemq-artemis pull request #1578: ARTEMIS-1452 Improvements to IO paramet...
Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:
https://github.com/apache/activemq-artemis/pull/1578
---
[GitHub] activemq-artemis issue #1578: ARTEMIS-1452 Improvements to IO parameters and...
Posted by franz1981 <gi...@git.apache.org>.
Github user franz1981 commented on the issue:
https://github.com/apache/activemq-artemis/pull/1578
@clebertsuconic Thanks, now I see it!
Currently the MappedSequentialFileFactory doesn't extend the AbstractSequentialFileFactory, hence it can't work for the MAPPED journal...
> Regarding MAPPED.. I didn't merge that one before because I thought we were lacking tests... I had a test on my workspace for Unbuffered.. but I think I missed it...
Yes, I don't know how the callbacks behave using unbuffered version, but if it works for NIO for MAPPED it will work too..
> I think we should change the CLI to make timeout = 0 if sync = false (for all the journals.. not just MAPPED). and add a text on the broker.xml saying we recommend disabling if sync=false.
:100:
---