Commit Graph

67 Commits

Author SHA1 Message Date
Martyn Taylor ee4692d5ca ARTEMIS-1418 AIO Shutdown on IOError and logging
(cherry picked from commit 520a40b1a1)
2017-09-26 14:28:07 -04:00
Martyn Taylor eacaffe16a ARTEMIS-1354 Critical IO Error on AIO write failure
(cherry picked from commit 652573a5a9)
2017-08-18 14:02:49 +01:00
Clebert Suconic b6b5b4caa7 ARTEMIS-1294 Using older sleep on TimedBuffer
And also adding test

(cherry picked from commit ad372ec98e)
2017-07-19 10:48:12 -04:00
Francesco Nigro 38cd0cd9f4 ARTEMIS-1294 Reverted TimedBuffer timeout policy
(cherry picked from commit 3dc9566fb6)
2017-07-19 10:47:34 -04:00
Clebert Suconic 423f26f027 ARTEMIS-1288 crash during compact control files issues
The system would become irresponsive if crashed right at the
control file writing.
2017-07-13 17:16:30 -04:00
Clebert Suconic e9b7b94de7 ARTEMIS-1269 fixing checkstyle 2017-07-11 14:53:21 -04:00
Clebert Suconic 276319d72b ARTEMIS-1269 Fixing blocked replication
If replication blocked anything on the journal
the processing from clients would be blocked
and nothing would work.

As part of this fix I am using an executor on ServerSessionPacketHandler
which will also scale better as the reader from Netty would be feed immediately.
2017-07-07 08:56:31 -04:00
Francesco Nigro bc815004d2 ARTEMIS-1223 OutOfDirectMemoryError raised from TimedBuffer
(cherry picked from commit 9f8a14440b)
2017-06-28 09:39:57 -04:00
Andy Taylor 333959dc00 ARTEMIS-1237 - Hard coded timeout on Journal file open
Make timeout configurable

https://issues.apache.org/jira/browse/ARTEMIS-1237
2017-06-22 12:03:16 -04:00
Francesco Nigro 25094f2721 ARTEMIS-1151 Adapting TimedBuffer and NIO Buffer Pooling
- NIO/ASYNCIO new TimedBuffer with adapting batch window heuristic
- NIO/ASYNCIO improved TimedBuffer write monitoring with
  lightweight concurrent performance counters
- NIO/ASYNCIO journal/paging operations benefit from less buffer copy
- NIO/ASYNCIO any buffer copy is always performed with raw batch copy
  using SIMD instrinsics (System::arrayCopy) or memcpy under the hood
- NIO improved clear buffers using SIMD instrinsics (Arrays::fill) and/or memset
- NIO journal operation perform by default TLABs allocation pooling (off heap)
  retaining only the last max sized buffer
- NIO improved file copy operations using zero-copy FileChannel::transfertTo
- NIO improved zeroing using pooled single OS page buffer to clean the file
  + pwrite (on Linux)
- NIO deterministic release of unpooled direct buffers to avoid OOM errors
  due to slow GC
- Exposed OS PAGE SIZE value using Env class

(cherry picked from commit 21c9ed85cf)
2017-05-08 18:31:23 -04:00
Clebert Suconic 65481ef46a ARTEMIS-1114 Improving some comment 2017-04-14 18:07:54 -04:00
Clebert Suconic ec9615a01a ARTEMIS-1114 Missing records after compacting
This is fixing an issue introduced on 4b47461f03 (ARTEMIS-822)
The Transactions were being looked up without the readLock and some of the controls for Read and Write lock
were broken after this.

(cherry picked from commit ddacda5062)
2017-04-14 01:24:45 -04:00
Clebert Suconic 655f6beb04 NO-JIRA: logger on Exception
(cherry picked from commit 75a4162a36)
2017-03-14 09:51:10 -04:00
Clebert Suconic 83b00d6a8e ARTEMIS-937 no sync on AIO shouldn't use O_DIRECT
(cherry picked from commit c60c92697f)
2017-02-03 15:22:17 -05:00
Clebert Suconic 6018b2d74c ARTEMIS-937 Implementing proper alignment and adding perf-journal tool to validate the journal syncs
(cherry picked from commit ce035a8084)
2017-02-03 15:15:58 -05:00
Dmitrii Tikhomirov 3995319dca ARTEMIS-865 Remove e.printStackTrace() from code 2016-11-23 11:15:54 -05:00
Clebert Suconic 5e5ac0f057 ARTEMIS-832 Openwire was ignoring data syncs.
I'm also adding the possibility of sync on libaio, and not only relay on write-cache
2016-11-02 13:17:12 -05:00
Clebert Suconic 7eadff7681 ARTEMIS-822 Injecting IO Pools into and from ArtemisServerImpl
https://issues.apache.org/jira/browse/ARTEMIS-822
2016-10-31 11:34:27 -04:00
Clebert Suconic 6afde8f45a ARTEMIS-822 Review journal threading model
https://issues.apache.org/jira/browse/ARTEMIS-822
2016-10-28 16:54:59 -04:00
barreiro 4b47461f03 ARTEMIS-822 Add executor service to JournalImpl for append operations and remove synchronization
https://issues.apache.org/jira/browse/ARTEMIS-822
2016-10-28 16:54:59 -04:00
Ravi Soni b4924ce73b ARTEMIS-831 avoid shutting down the server after interrupted threads on
divert (copy and rename)

probably introduced at ARTEMIS-322
2016-10-28 16:28:57 -04:00
Ville Skyttä ddd1559fbe javadoc: Fix doclint empty <p> warnings 2016-10-10 10:02:49 +02:00
Clebert Suconic ec48f9ed00 ARTEMIS-765 Improve Checkstyle 2016-09-30 11:12:09 -04:00
Clebert Suconic f8278ec99c ARTEMIS-727 Improving Thread usage on JDBC
https://issues.apache.org/jira/browse/ARTEMIS-727
2016-09-12 14:32:40 -04:00
Ville Skyttä d5242978d5 for and while loop to foreach conversions 2016-08-25 14:22:32 -04:00
Ville Skyttä 429e1e84d4 Remove unnecessary casts 2016-07-28 18:12:59 +03:00
Ville Skyttä 39edf958a1 Add missing @Override annotations 2016-07-19 16:09:12 +01:00
Francesco Nigro 36555a10c5 ARTEMIS-623/ARTEMIS-622 Added memory mapped impl of Sequential File + benchs.
Added experimental GCFree Journal impl + benchs + Sequentially Encoded Aligned Binary Protocol.

https://issues.apache.org/jira/browse/ARTEMIS-622
https://issues.apache.org/jira/browse/ARTEMIS-623
2016-07-11 13:36:47 -04:00
barreiro b8d6a374a0 More changes on the reclaimer for better performance 2016-07-05 23:28:00 -04:00
Ville Skyttä 3923ae45f4 Fix checkstyle redundant modifier violations 2016-06-13 20:03:54 +03:00
barreiro 3f131fc594 Rework journal reclaimer 2016-05-23 18:25:23 -04:00
Martyn Taylor c9b953433e ARTEMIS-513 Add JDBC Sequential File Factory Impl 2016-05-04 12:24:25 +01:00
Clebert Suconic 7bebe507cf Individualizing loggers on journal 2016-04-28 14:37:23 -04:00
Clebert Suconic e81fa5c359 ARTEMIS-490 Fixing LargeMessage copy through replication
this will fix cases like DLQ and Diverts
2016-04-19 15:00:09 +01:00
Clebert Suconic d6c7e30594 ARTEMIS-484 Large Message Loss on Initial replication
https://issues.apache.org/jira/browse/ARTEMIS-484

The File copy after the initial synchronization on large messages was broken.
On this commit we fix how the buffer is cleaned up before each read since
a previously unfinished body read would make the buffer dirty.

I'm keeping also lots of Traces I have added to debug this issue, so they will
be useful if anything like this happens again.
2016-04-14 18:55:01 -04:00
Dominik Pospisil 078d38bc37 [ARTEMIS-444] Extend AIOSequentialFileFactory to check underlying FS 2016-04-04 12:23:36 -04:00
jbertram e64ecf5523 ARTEMIS-422 support appendRollbackRecord 2016-02-25 13:31:19 -06:00
Ville Skyttä 3f20e0d19a Remove redundant type parameters 2016-01-25 12:10:25 -05:00
Clebert Suconic 928ec603aa Removing invalid System.exit 2016-01-23 16:42:37 -05:00
Clebert Suconic 85a2c191cf ARTEMIS-353 retrying after interrupts on the native layer because of jmap issuing weird interrupts
https://issues.apache.org/jira/browse/ARTEMIS-353
2016-01-20 17:50:56 -05:00
Tom Jenkinson 7b164e45c3 ARTEMIS-351 throw an exception if we get an IOException 2016-01-19 13:02:57 -05:00
Martyn Taylor 9b351d8236 ARTEMIS-27 / ARTEMIS-338 Refactor Journal Encodings into new package 2016-01-13 09:38:08 -05:00
Clebert Suconic 7820fd6d60 ARTEMIS-332 avoid shutting down the server after interrupted threads on paging 2016-01-07 16:08:38 -05:00
Clebert Suconic 96849a42b7 ARTEMIS-332 - Duplicate delivery over Bridges under OME scenarios, paging and other failures
https://issues.apache.org/jira/browse/ARTEMIS-332
2016-01-04 20:49:28 -05:00
Andy Taylor b7be2af8a9 ARTEMIS-321 - server should stop if no more journal fil can be created.
https://issues.apache.org/jira/browse/ARTEMIS-321
2015-12-14 16:56:37 +00:00
Clebert Suconic 351bcfc9f9 ARTEMIS-319 Improving files allocation and implementing journal-pool-files
https://issues.apache.org/jira/browse/ARTEMIS-319
2015-12-10 16:49:58 -05:00
Ville Skyttä f8a1c5ba8e Remove redundant type arguments 2015-12-07 22:55:05 +02:00
Ville Skyttä 25ae472455 Add missing @Override annotations 2015-12-06 01:27:35 +02:00
Ivo Studensky 8a2ecff4fd ARTEMIS-274 ActiveMQThreadFactory has to be constructed within doPrivileged block 2015-10-22 09:30:14 -04:00
Clebert Suconic 6bf1241628 ARTEMIS-257 cleaning up dependencies on artemis-core-client 2015-10-13 10:44:49 -04:00