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: 
    



---