Commit Graph

4237 Commits

Author SHA1 Message Date
Clebert Suconic 7fd17f407f ARTEMIS-1269 Simple Actor to replace certain executions
This is replacing an executor on ServerSessionPacketHandler
by a this actor.

This is to avoid creating a new runnable per packet received.

Instead of creating new Runnable, this will use a single static runnable
and the packet will be send by a message, which will be treated by a listener.

Look at ServerSessionPacketHandler on this commit for more information on how it works.
2017-07-11 14:22:36 -04:00
Clebert Suconic 82f071ff46 ARTEMIS-1280 Avoiding leak on Queue futures 2017-07-11 11:32:03 -04:00
Clebert Suconic eab0cb587c NO-JIRA: Fixing ReceiveTest::testReceiveImmediate 2017-07-11 11:15:11 -04:00
Clebert Suconic 83256c5d0d This closes #1394 2017-07-11 10:58:40 -04:00
Martyn Taylor 905098bc4e ARTEMIS-1268 Fix LargeMessages over STOMP 2017-07-11 10:58:40 -04:00
Clebert Suconic f8554c7329 This closes #1396 2017-07-11 10:56:15 -04:00
Andy Taylor 9ad3ad4657 ARTEMIS-1277 - purgeOnNoConsumer is not working properly
make sure rollback doesn't add messages back

https://issues.apache.org/jira/browse/ARTEMIS-1277
2017-07-11 11:25:48 +01:00
Clebert Suconic 32fa29f4f8 This closes #1389 2017-07-10 22:38:14 -04:00
Odyldzhon Toshbekov 34697d58e1 ARTEMIS-1272 fix mqtt acknowledgement issue 2017-07-10 22:37:58 -04:00
Clebert Suconic ca9b6d4cc0 This closes #1391 2017-07-10 14:41:32 -04:00
Erich Duda ab92306d81 ARTEMIS-1274 MultipleProducersTest.wrongQueue fails 2017-07-10 14:41:32 -04:00
Clebert Suconic 75d8a3c243 This closes #1393 2017-07-10 14:06:34 -04:00
Jiri Danek ad228e202f NO-JIRA: Addressing some deprecated usage on the codebase
- PROTOCOL_PROP_NAME
- ConnectionLifeCycleListener
- GENERIC_IGNORED_FILTER
- HttpHeaders.Names
- HttpHeaders.Names and similar
2017-07-10 14:06:07 -04:00
Daniel Kulp cc04b8ff17 Minor typo in docs 2017-07-07 15:53:50 -04:00
Clebert Suconic 74349fd178 This closes #1384 2017-07-07 13:58:54 -04:00
Martyn Taylor ce756d46f9 ARTEMIS-1271 FileSystemMonitor locking improvement 2017-07-07 13:58:53 -04:00
gtully 004753cc53 ARTEMIS-1264 - fix amqp regression by supplying the remoting connection to the security manager 2017-07-07 11:24:05 +01:00
Clebert Suconic e07d40ce68 This closes #1388 2017-07-06 23:41:02 -04:00
gtully d4150be0d9 ARTEMIS-1264 allow role mapping via chained login modules
Add krb5sslloginmodule that will populate userPrincipal that can be mapped to roles independently
Generalised callback handlers to take a connection and pull certs or peerprincipal based on
callback. This bubbled up into api change in securitystore and security manager
2017-07-06 23:41:02 -04:00
Clebert Suconic 15c2f09bc7 This closes #1386 2017-07-06 23:38:02 -04:00
Clebert Suconic 01a5a60b37 NO-JIRA: fixing test 2017-07-06 23:37:01 -04:00
Clebert Suconic 89e84e1320 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-06 19:04:48 -04:00
Clebert Suconic f3cc555ab0 This closes #1379 2017-07-06 11:30:25 -04:00
gtully cda1e018e1 ARTEMIS-1264 Foundation work for authentication with Kerberos using KRB_ cypher suites.
Core client with netty connector and acceptor doing kerberos
jaas.doAs around sslengine init such that the SSL handshake can do kerberos ticket
generaton and validation.
The kerberos authenticated user is then validated with the security manager before
being populated into the message userId.
The feature is enabled with the kerb5Config property. When lowercase it is the
principal. With a leading uppercase char it is the login.config entry to use.
2017-07-06 11:30:25 -04:00
Daniel Kulp faae59e6d4 [ARTEMIS-565] Remove json.org stuff from license files as we have not depended on that for almost a year 2017-07-05 15:47:06 -04:00
Clebert Suconic 89a53ad015 This closes #1382 2017-07-01 10:38:49 -04:00
Clebert Suconic 387fca584e ARTEMIS-1269 replication won't finish synchronization 2017-07-01 00:48:33 -04:00
Clebert Suconic c7af954479 This closes #1381 2017-06-30 21:21:02 -04:00
Francesco Nigro 7075e2e457 ARTEMIS-1266 Mapped Journal refactoring
The MAPPED journal refactoring include:
 - simplified lifecycle and logic (eg fixed file size with single mmap memory region)
 - supports for the TimedBuffer to coalesce msyncs (via Decorator pattern)
 - TLAB pooling of direct ByteBuffer like the NIO journal
 - remove of old benchmarks and benchmark dependencies
2017-06-30 16:17:19 +02:00
Clebert Suconic 43dcc572e1 This closes #1366 2017-06-29 16:00:00 -04:00
Armand Roelens 1ecbd97cd4 ARTEMIS-1252 Add service loading of password codec to obtain its implementation from the app's root context 2017-06-29 16:00:00 -04:00
Clebert Suconic 43a7890b1a This closes #1378 2017-06-29 12:56:16 -04:00
Howard Gao 06986e4ee1 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.
2017-06-29 12:56:16 -04:00
Clebert Suconic aa932141f8 This closes #1347 2017-06-29 10:14:07 -04:00
Howard Gao d50f577cd5 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).
2017-06-29 00:03:47 +08:00
Clebert Suconic 70f6a29569 This closes #1375 2017-06-27 14:45:31 -04:00
Dmitrii Tikhomirov 028df47030 [ARTEMIS-1259] Log messages without prefixed id code in artemis-server-osgi 2017-06-27 14:36:24 -04:00
Clebert Suconic f79b42309b This closes #1369 2017-06-27 14:25:47 -04:00
Josh Reagan 177bda4892 ARTEMIS-1255 Fixed authentication issues with XAConnectionFactory
Added the global user/password variables to all of the variations of the createContext/createConnectionFactory methods.
2017-06-27 14:25:47 -04:00
Clebert Suconic c48d968931 This closes #1365 2017-06-27 14:23:57 -04:00
Francesco Nigro a8356fb057 ARTEMIS-1246 Fixing compatibility issue
It fixes compatibility issues with JMS Core clients using the old address model, allowing the client to query JMS temporary queues too.

you would eventually see this issue when using older clients:
AMQ119019: Queue already exists
2017-06-27 14:23:36 -04:00
Clebert Suconic 5c2144b782 ARTEMIS-1256 PagingOMETest.testPageCleanup fails
Using a Wait condition.

This closes #1370
2017-06-27 12:48:35 -04:00
Clebert Suconic 095ce777df This closes #1372 2017-06-27 12:45:27 -04:00
Francesco Nigro 9f8a14440b ARTEMIS-1223 OutOfDirectMemoryError raised from TimedBuffer
Force allocation of direct ByteBuffer with Cleaner to help GC on tests.
2017-06-27 12:45:26 -04:00
Clebert Suconic 12e7465283 This closes #1373 2017-06-27 12:42:41 -04:00
Christopher L. Shannon (cshannon) a538b969c0 ARTEMIS-1258 - Add ServerSession as an argument to beforeSend and
afterSend
2017-06-27 12:42:40 -04:00
Clebert Suconic 437232b50e ARTEMIS-1253 Renaming NetworkReplicationTest to NetworkIsolationTest 2017-06-27 12:21:37 -04:00
Clebert Suconic 4d6956c291 This closes #1367 2017-06-27 12:19:38 -04:00
Clebert Suconic f407d86f0f ARTEMIS-1253 Fixing NetworkHealthCheck being shutdown after failures 2017-06-26 16:15:39 -04:00
Clebert Suconic 36110da9c8 ARTEMIS-1253 Refactoring renaming stop(boolean) to fail(boolean)
This method name would clash with ServiceComponent
As the real meaning here on this method is just to failover
So I've renamed the method to avoid the clash with my next commit

(I've done this on a separate commit as you may need to redo this
 commit from scratch again in other branches instead of lots of clashes on cherry-pick)
2017-06-26 16:15:39 -04:00