activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From michaelandrepearce <>
Subject [GitHub] activemq-artemis issue #2484: ARTEMIS-2216 Use a specific executor for pageS...
Date Mon, 31 Dec 2018 09:18:27 GMT
Github user michaelandrepearce commented on the issue:
    According to this we have an internal branch that removes isPaging() method’s readlock
in PagingStoreImpl, along with adding pageSyncTimer’s specific executor. After that we performed
a same test and get a result of 21k/25k Send&Receive–in total 46k TPS. This version
runs smoothly in our use case but we are still exploring potential effects.
    Agree that as the QueueImpl:checkDepage which is called from deliver method, only schedules
another depage asynchronously that the read barrier lock for that is over kill as it doesn't
have to be strongly consistent correct.
    I think changing the current method could be dangerous, unless we do a fuller analysis
on all its uses, but i think we could easily add a new method named something like "isPagingDirtyRead"
which can return without the readlock, it will mean the returned value isn't always 100% accurate
but in cases such as checkDepage, we don't need it to be, its just a single.
    Would you be happy adding this, (will need to be exposed via PageSubscription)? And updating
checkDepage to use that one?


View raw message