Commit Graph

541 Commits

Author SHA1 Message Date
Francesco Nigro 3388f68fea ARTEMIS-1788 JDBC HA should use JDBC Network Timeout
(cherry picked from commit 1a3c1feb0a)
2018-04-18 17:06:21 +02:00
Francesco Nigro 0da630be50 ARTEMIS-1653 Allow database tables to be created externally
(cherry picked from commit c7651853cd)
2018-04-18 09:53:17 -04:00
Niels Lippke af15fc43c6 ARTEMIS-1653 Allow database tables to be created externally
(cherry picked from commit eab4984567)
2018-04-18 09:53:17 -04:00
Francesco Nigro 9a42280dce ARTEMIS-1806 JDBC Connection leaks
(cherry picked from commit bbb2f708dd)
2018-04-18 09:51:16 -04:00
Clebert Suconic 3c54609278 ARTEMIS-1776 Blocked Bridge is not resuming after reconnect
This is still part of ARTEMIS-1776 fix, which still part of the same release as we are on now.
Hence I'm not opening a new JIRA for this one.

Cherry-picked from e5bce13316
2018-04-11 08:28:19 +02:00
Clebert Suconic 2c73bd0462 ARTEMIS-1776 Asynchronous Flow control on the bridge
Cherry-picked from 70bdfe7603
2018-04-10 16:44:07 +02:00
Howard Gao 1e6e1f77d0 ARTEMIS-1621 Make producerWindowSize configurable on clusterconnection bridges
The cluster connection bridge hard codes its producerWindowSize to -1
(meaning no producer flow control) even if you configure it otherwise.

Cherry-picked from 98ce31bf58
2018-04-10 16:29:47 +02:00
Francesco Nigro 15e5debafc ARTEMIS-1774 Node Manager Store table name should be configurable
(cherry picked from commit 83d6f7dd80)
2018-03-29 16:46:04 +02:00
Francesco Nigro 74a0b15710 ARTEMIS-1760 JDBC HA should have configurable tolerance of DB time misalignment
(cherry picked from commit 4842ebe328)
2018-03-28 11:54:15 -04:00
Francesco Nigro 9426f7a3c8 ARTEMIS-1757 Improve DB2 compatibility
(cherry picked from commit f5868a94e1)
2018-03-28 11:54:15 -04:00
Francesco Nigro 717bc8f09a ARTEMIS-1762 JdbcNodeManager shouldn't be used if no HA is configured
(cherry picked from commit 3b8da88989)
2018-03-28 11:54:15 -04:00
Francesco Nigro a9cfc08e67 ARTEMIS-1767 JDBC Lock Acquisition Timeout should behave like the file based version
(cherry picked from commit 6e9ce27a6e)
2018-03-28 11:54:15 -04:00
Francesco Nigro 03ff0661b8 ARTEMIS-1640 JDBC NodeManager tests have to be customizable to run on different DBMS
(cherry picked from commit b1422fc3d6)
2018-03-28 11:54:15 -04:00
Jeff Mesnil 2a0b9039a3 [ARTEMIS-1590] Properties-based SQLProvider
(cherry picked from commit 938fbd81cb)
2018-03-28 11:54:15 -04:00
Francesco Nigro f005da6dfd ARTEMIS-1541 Make the JDBC Node Manager more resilient on failures
(cherry picked from commit 70b21725ed)
2018-03-28 11:54:15 -04:00
Francesco Nigro 590fbcf1d2 ARTEMIS-1447 JDBC NodeManager to support JDBC HA Shared Store
(cherry picked from commit 95d26b7be3)
2018-03-28 11:54:15 -04:00
Clebert Suconic 1a7cd8aabe ARTEMIS-1447 Reuse thread pools on JDBC Locks
(cherry picked from commit 1af6d986a5)
2018-03-28 11:54:15 -04:00
Francesco Nigro 565b817592 ARTEMIS-1447 JDBC NodeManager to support JDBC HA Shared Store
(cherry picked from commit 7944a25269)
2018-03-28 11:54:15 -04:00
Martyn Taylor ee4692d5ca ARTEMIS-1418 AIO Shutdown on IOError and logging
(cherry picked from commit 520a40b1a1)
2017-09-26 14:28:07 -04:00
Justin Bertram f51023506e ARTEMIS-1417 Failback not working on NFSv4
With NFSv4 it is now necessary to lock/unlock the byte of the server
lock file where the state information is written so that the
information is then flushed to the other clients looking at the file.

(cherry picked from commit 2ec173bc70)
2017-09-26 14:28:07 -04:00
Erich Duda 0f4a8c3c2d ARTEMIS-1368 Artemis gets to state when it doesn't respond to producer
There is a leak on replication tokens in the moment when a backup is
shutdowned or killed and the ReplicationManager is stopped. If there
are some tasks (holding replication tokens) in the executor, these
tokens are simply ignored and replicationDone method isn't called on
them. Because of this, some tasks in OperationContextImpl cannot be
finished.

(cherry picked from commit 88a018e17fd49097de1186c65e25cd0af578b6a9)
(cherry picked from commit d6cbc0aa88)
2017-09-26 14:28:07 -04:00
Clebert Suconic 492b55e09a ARTEMIS-1353 Initial replication of large messages out of executor
This is based on the work @jbertram made at the github pr #1466 and the discussions we had there

(cherry picked from commit ce6942a9aa)
2017-09-26 14:28:07 -04:00
Howard Gao 7b1a1b058a ARTEMIS-1221 Duplicated ID causes LargeMessage lost at backup
When a large message is replicated to backup, a pendingID is generated
when the large message is finished. This pendingID is generated by a
BatchingIDGenerator at backup.

It is possible that a pendingID generated at backup may be a duplicate
to an ID generated at live server.

This can cause a problem when a large message with a messageID that is
the same as another largemessage's pendingID is replicated and stored
in the backup's journal, and then a deleteRecord for the pendingID
is appended. If backup becomes live and loads the journal, it will
drop the large message add record because there is a deleteRecord of
the same ID (even though it is a pendingID of another message).
As a result the expecting client will never get this large message.

So in summary, the root cause is that the pendingIDs for large
messages are generated at backup while backup is not alive.

The solution to this is that instead of the backup generating
the pendingID, we make them all be generated in advance
at live server and let them replicated to backup whereever needed.
The ID generater at backup only works when backup becomes live
(when it is properly initialized from journal).

(cherry picked from commit d50f577cd5)
2017-09-26 14:28:05 -04:00
Andy Taylor 2c89287009 ARTEMIS-1224 - change the journal file size to nearest multiple
https://issues.apache.org/jira/browse/ARTEMIS-1224

(cherry picked from commit 30a6ac703e)
2017-09-26 14:28:05 -04:00
Dmitrii Tikhomirov 31fa7584ab ARTEMIS-1180 Artemis is logging warnings during server shut down
(cherry picked from commit 2443eaaa00)
2017-09-26 14:28:05 -04:00
Jeff Mesnil 492022618d [ARTMIS-1431] Adapt transport configuration in ClientProtocolManagerFactory
add the adaptTransportConfiguration() method to the
ClientProtocolManagerFactory so that transport configurations used by
the ClientProtocolManager have an opportunity to adapt their transport
configuration.

This allows the HornetQClientProtocolManagerFactory to adapt the
transport configuration received by remote HornetQ broker to replace the
HornetQ-based NettyConnectorFactory by the Artemis-based one.

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1431
2017-09-22 16:35:36 +02:00
Clebert Suconic e5ef406e4e ARTEMIS-1333 Fix SendACK
(fix copied manually from master.. not possible to cherry-pick)
2017-08-10 22:27:57 -04:00
Clebert Suconic 9724571a98 ARTEMIS-1333 SendACK listener message loss (adding test)
next commit should have the fix.
this is to make it easy to confirm the fix by people looking.

(cherry picked from commit 96c6268f5a)
2017-08-10 22:24:37 -04:00
Clebert Suconic 25c0f93ad5 ARTEMIS-1328 Improving direct delivery check
Based on #1447 as it is not possible to cherry-pick here
2017-08-08 13:00:37 -04:00
Martyn Taylor b691fabe21 ARTEMIS-1303 Fix interleave during replication sync
(cherry picked from commit 69f8263267)
2017-07-26 11:25:17 +01:00
Martyn Taylor c3eeea4910 ARTEMIS-1271 FileSystemMonitor locking improvement
(cherry picked from commit ce756d46f9)
2017-07-25 12:19:59 -04:00
Howard Gao 004c86804f ARTEMIS-1261 Adjust default confirmation-window-size for bridges
The default id-cache-size is 20000 and the default
confirmation-window-size is 1MB. It turns out the 1MB
size is too small for id-cache-size.

To fix it we adjust the confirmation-window-size to 10MB. Also
a test is added to guarantee it won't break this rule when this
default value is to be changed to any new value.

(cherry picked from commit 06986e4ee1)
2017-07-25 12:11:37 -04:00
Howard Gao 144a7c8a42 ARTEMIS-1220 Diverted LargeMessage file corrupted during replication
When a large message is being diverted, a new copy of the original
message is created and replicated (if there is a backup) to the backup.

In LargeServerMessageImpl.copy(long) it reuse a byte array to copy
message body. It is possible that one block of date is read into
the byte array before the previous read has been replicated,
causing the replicated bytes to corrupt.

If we make a copy of the byte array before replication, the corruption
of data will be avoided.

(cherry picked from commit 045021f7df)
2017-07-25 11:52:28 -04:00
Clebert Suconic 8326a24fd8 ARTEMIS-1280 Avoiding leak on Queue futures 2017-07-11 14:51:03 -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
Clebert Suconic f744904fdb ARTEMIS-1269 replication won't finish synchronization
(cherry picked from commit 6b2798a0fe02bcb5ca2f13b1431fd8dfe327d20e)
2017-07-01 00:47:50 -04:00
Martyn Taylor 15990589a3 ARTEMIS-1254 New OrderedExecutor for JDBC LargeMsg
(cherry picked from commit 222275dd8d)
2017-06-26 19:12:03 +01: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
Clebert Suconic 6b1bd78629 ARTEMIS-1247 Allow tracing on ReplicatedJournal 2017-06-22 10:31:02 -04:00
Martyn Taylor 9ab57f2219 ARTEMIS-1233 Fix log level in logger message
(cherry picked from commit 7f5ca5aafe)
2017-06-16 11:51:34 +01:00
Andy Taylor 26d6bb3963 ARTEMIS-1224 - change the journal file size to nearest multiple
https://issues.apache.org/jira/browse/ARTEMIS-1224
2017-06-12 13:12:55 -05:00
Tomas Hofman bf814d4864 ARTEMIS-1186 Consumer.receive hangs if http acceptor with non-zero batch-delay is configured 2017-05-31 11:42:10 -04:00
Michael Andre Pearce 2d850680d6 ARTEMIS-1188: Update sevntu to 1.24.0 available in maven central
remove custom repo
update groupid to match artifact in maven central.
bump version also to that now deployed to maven central.
bump checkstyle version to 7.7 to make compatible.

updated checkstyle.xml to ignore existing issues which are prolific
which are now flagged in latest version as some bugs in previous meant they we'ren't detected e.g. https://github.com/checkstyle/checkstyle/issues/3320

fixing some violations which are not too prolific.

(cherry picked from commit b8ebe05775)
2017-05-30 09:57:40 -04:00
Justin Bertram 7ed40326c8 ARTEMIS-1154 tweak logic to support previous semantics
(cherry picked from commit 88e185d2b9)
2017-05-11 20:29:42 -04:00
Justin Bertram 7e4de767b7 ARTEMIS-1154 isolated backup fails over
Even if there is no address/url configured for the NetworkHealthCheck
an isolated backup will still fail-over potentially causing split-brain.

(cherry picked from commit 5cb5c8a6dc)
2017-05-09 16:41:14 -04:00
Clebert Suconic c7dc04c2af [maven-release-plugin] prepare for next development iteration 2017-05-08 21:00:29 -04:00
Clebert Suconic ae41632bbe [maven-release-plugin] prepare release 1.5.5 2017-05-08 21:00:17 -04:00
Bernd Gutjahr 88e629a7ae ARTEMIS-1112: Added wait-for-activation option to shared-store-master config
Added a wait-for-activation option to shared-store master HA policies.
This option is enabled by default to ensure unchanged server startup behavior.

If this option is enabled, ActiveMQServer.start() with a shared-store master server will not return
before the server has been activated.
If this options is disabled, start() will return after a background activation thread has been started.
The caller can use waitForActivation() to wait until server is activated, or just check the current activation status.

(cherry picked from commit 6017e305d9)
(cherry picked from commit 7aa50546b3)
2017-05-04 11:28:12 +02:00
Clebert Suconic 534fd8093d ARTEMIS-1140 Avoid lock on queue for message counts
(cherry picked from commit 33f2ad65c9)
2017-05-03 16:41:31 -04:00
Andy Taylor 56a18759a7 no jira - fix test 2017-04-21 10:39:25 +01:00