167 Commits

Author SHA1 Message Date
Clebert Suconic
27c343913f ARTEMIS-3297 Journal Retention Feature 2021-05-18 16:29:18 -04:00
Clebert Suconic
67d47274a1 NO-JIRA removing runDirectJournalBlast 2021-05-12 09:51:56 -04:00
Clebert Suconic
b0f8f515c5 ARTEMIS-3273 Recover tool and PrintData enhancements 2021-04-30 18:41:05 -04:00
Clebert Suconic
d2676e77f8 ARTEMIS-3271 Improve Critical Analyzer to use AutoCloseable on the API 2021-04-30 12:46:15 -04:00
Clebert Suconic
42405fedcf ARTEMIS-3261 Expanding verification to journal compacting counters
After testing a production outage situation I still encountered issues on deciding the journal should be compacted.
This is addressing these issues.
2021-04-26 16:45:17 -04:00
Clebert Suconic
62395dcd44 ARTEMIS-3261 Fixing tests and allowing configuration to reload data files on start 2021-04-24 21:30:56 -04:00
Clebert Suconic
1392cb5f0b ARTEMIS-3261 Enhance compact to deal with Rollbacks and update records that can be replaced 2021-04-23 15:17:06 -04:00
Clebert Suconic
2a28a5d42f NO-JIRA Fixing typo on log trace 2021-04-22 15:04:48 -04:00
Justin Bertram
b4f8aada3c ARTEMIS-3092 inconsistent JDBC config logging 2021-02-04 15:32:51 -05:00
Clebert Suconic
c47122ea15 ARTEMIS-3084 Avoid pending IO to close files 2021-02-03 16:56:07 -05:00
Clebert Suconic
755947ee0b ARTEMIS-3084 Deal with async close and double close
Since the libaio.close is now async
there might be a situation with more than one close called during a server.stop();

This should deal with that scenario
2021-02-01 15:29:39 -05:00
Clebert Suconic
03b0fcd2c2 ARTEMIS-3084 Issue a warning instead of blocking forever in case of not completing closes 2021-01-29 13:24:57 -05:00
Clebert Suconic
b05bea7db9 ARTEMIS-3084 Issue a warning instead of blocking forever in case of not completing closes 2021-01-29 12:44:34 -05:00
Clebert Suconic
7ce5315d7a ARTEMIS-3084 Fix on checkstyle
sorry for breaking it in the first place.
I messed up into some gitfu sending an older version by accident.
2021-01-29 10:50:47 -05:00
Clebert Suconic
873c2bcc18 ARTEMIS-3084 Avoiding Race condition on async close 2021-01-29 10:44:55 -05:00
Clebert Suconic
4b5c29939c ARTEMIS-3084 Fixing intermittent failures on testsuite. file.close() should block
This fixed a failure I saw once at GroupingFailoverReplicationTest.testGroupingLocalHandlerFailsMultipleGroups
2021-01-28 14:24:12 -05:00
Clebert Suconic
03f8f83935 ARTEMIS-3084 Small tweak. Log a Thread dump if a server.stop cannot get a completion of pending closes 2021-01-28 11:31:58 -05:00
Clebert Suconic
c019218c4e ARTEMIS-3084 Eliminate Block on moving to next file on libaio 2021-01-28 11:10:40 -05:00
Tomas Hofman
b1835fa2d8 ARTEMIS-3037 JournalImpl#checkKnownRecordID() implementation can leave a thread hanging in WAITING state 2020-12-18 12:44:18 -05:00
Emmanuel Hugonnet
fdfc58171b [ARTEMIS-2939]: Artemis should not delete corrupt log files.
* Moving corrupted journal files to the attic folder.

Jira: https://issues.apache.org/jira/browse/ARTEMIS-2939
2020-10-20 18:39:06 -04:00
franz1981
a680f7d52e ARTEMIS-2928 blocking CallbackCache can be replaced with a JCTools lock-free queue 2020-10-06 07:14:24 +02:00
franz1981
a6bf7d0e04 ARTEMIS-2837 Bursts of open files under high load
This would prevent to push a new opened file if there
is already one available to be consumed
2020-08-17 13:01:41 -04:00
franz1981
851aef1172 Revert "ARTEMIS-2837 Avoiding bursts on writes and pending callbacks"
This reverts commit 1761f763
2020-08-17 13:01:41 -04:00
franz1981
7902dd1757 ARTEMIS-2849 Optimize zeroing of buffers while writing the ASYNCIO journal 2020-07-23 15:44:52 -04:00
Clebert Suconic
1761f76308 ARTEMIS-2837 Avoiding bursts on writes and pending callbacks 2020-07-08 23:08:27 -04:00
Robbie Gemmell
d2c46762e8 ARTEMIS-2109: fix javadoc errors, remove doclint config for JDK8, remove superfluous plugin versions, update to 3.0.1 javadoc plugin
Using 3.0.1 like the current apache parent pom [not being used], and also as newer ones break build.
2020-06-11 18:50:01 +01:00
Francesco Nigro
4e1af3aea3 ARTEMIS-2762 JournalRecord is using too much memory to track JournalFile updates 2020-05-15 09:21:33 -04:00
Clebert Suconic
3541ebf218 ARTEMIS-2732 Cleanup on testsuite logging 2020-04-22 23:08:46 -04:00
Clebert Suconic
af796d5ce4 ARTEMIS-2701 Improving DLQ/check over previously removed records 2020-04-06 12:25:35 -04:00
Clebert Suconic
03fb630f73 ARTEMIS-1975 Fixing LargeMessage encoding for replication 2020-03-25 16:16:05 -04:00
Clebert Suconic
31c945f8b0 ARTEMIS-1975 Fixing encodesize cached on AMQP Large Message
Encoding ahead is broken with AMQP Large Message
This is still part of ARTEMIS-1975
2020-03-24 15:51:46 -04:00
Clebert Suconic
ddd8ed4402 ARTEMIS-1975 Real Large Message support into AMQP
This is a Large commit where I am refactoring largeMessage Body out of CoreMessage
which is now reused with AMQP.

I had also to fix Reference Counting to fix how Large Messages are Acked

And I also had to make sure Large Messages are transversing correctly when in cluster.
2020-02-25 15:25:01 +01:00
Francesco Nigro
5897909dc9 ARTEMIS-2617 use core pools to reduce GC on journal loading 2020-02-12 13:29:51 -05:00
Francesco Nigro
fa0c187ae6 ARTEMIS-2602 Reduce number of copies for non JDBC Journal 2020-01-18 18:45:12 +01:00
Francesco Nigro
b10d765139 ARTEMIS-2602 load surviving records into SparseArrayLinkedList 2020-01-17 14:31:52 -05:00
Francesco Nigro
4cc6464ddd ARTEMIS-2602 Improve Journal loading heap usage 2020-01-17 14:31:52 -05:00
Francesco Nigro
f51c799ac0 ARTEMIS-1811 NIO Seq File should use RandomAccessFile with heap buffers
It use RandomAccessFile to allow using heap buffers without additional
copies and/or leaks of direct buffers, as performed by FileChannel JDK
implementation (see https://bugs.openjdk.java.net/browse/JDK-8147468)
2019-09-23 10:55:20 -04:00
Clebert Suconic
aa5d76e1bb ARTEMIS-2414 AIOSequentialFile was ignoring sync and leaking files 2019-07-30 11:03:06 -04:00
Wei Yang
edace8845e ARTEMIS-2414 Sync before closing file in case data loss 2019-07-29 14:44:26 -04:00
Clebert Suconic
ebbc500b82 NO-JIRA Duplicate Call on getEncodeSize 2019-07-16 15:15:43 -04:00
yang wei
dd62be1602 ARTEMIS-2414 Sync before closing file in case data loss 2019-07-15 23:53:44 +01:00
Francesco Nigro
4445261f34 ARTEMIS-2382 Reclaimer doesn't need to be instantiatable 2019-06-17 22:31:30 -04:00
brusdev
9b52547ff7 ARTEMIS-2371 Message with huge header shuts broker down
Add max record size check before adding a record to prevent that the
broker shuts down, when there is one really large header sent with the
message. Add message size check before allocating large message resource
if it can't be stored.
2019-06-10 17:36:18 -04:00
Jiri Danek
f7a36300ef ARTEMIS-2320 Fix IntLongMath errorprone warning
Expression of type int may overflow before being assigned to a long
    (see https://errorprone.info/bugpattern/IntLongMath)
2019-04-29 11:27:29 +01:00
Clebert Suconic
828a4856da ARTEMIS-2274 Fix on Journal buffer overflow with almost large messages 2019-03-13 14:56:46 -04:00
Francesco Nigro
89c02f1cc0 ARTEMIS-2211 Refactor ByteBuffer pooling, alignment and zeroing
Refactored thread local ByteBuffer pooling, alignment
and zeroing in order to avoid duplicate code and
improve code coverage with tests.
In addition are being provided faster branchless
alignment operations and optional zeroing of
pooled ByteBuffers for both ASYNCIO and
NIO/MAPPED journal types.
2019-03-12 18:32:53 -04:00
Clebert Suconic
061fb2787e ARTEMIS-1977 Stripping activemq-artemis as a separated proejct 2019-03-07 11:34:15 -05:00
Francesco Nigro
4da9d84311 ARTEMIS-2239 Zero-copy NIO/MAPPED TimedBuffer
NIO/MAPPED journal types can use directly the buffer of TimedBuffer
to perform file writes, avoiding an expensive copy + zeroing.
2019-02-14 00:20:51 +00:00
Clebert Suconic
05d893036e ARTEMIS-2200 NPE fix
This was a typo on my last commit around ARTEMIS-2200
2019-01-17 21:51:30 -05:00
Justin Bertram
57aacf784c NO-JIRA fix lgtm.com warnings
Warnings enumerated at
https://lgtm.com/projects/g/apache/activemq-artemis/alerts/?mode=tree&severity=warning
2019-01-17 22:30:28 +00:00