I'm happy to announce that I just released 3.4.0.Alpha1, which is the first release under the Apache License 2.0 !
In order to change the license, I had to track down all contributors who still have code in the code base and get their permissions [1], which was time consuming.
Given that JGroups came into existence in 1998, even though a lot of code has since been added/removed/replaced, there are still quite a number of people who still have contributions in the current master.
Finding some of those folks turned out to be hard. I ran into a few cases of abandoned email addresses, and sometimes googling for "firstname lastname" led me to people with the same name but no connection to JGroups whatsoever...
Anyway, the change is done now and I wanted to release a first alpha under AL 2.0 as soon as possible, so other projects can start using JGroups with the new license.
Although 'alpha' suggests bad code quality, the opposite is actually true: this release is very stable, at least as stable as the latest 3.3.x. The major changes are listed below.
Enjoy !
RELAY2: allow for more than one site master
-------------------------------------------
[https://issues.jboss.org/browse/JGRP-1649]
If we have a lot of traffic between sites, having more than 1 site master
increases performance and reduces stress on the single site master
Kerberos based authentication
-----------------------------
[https://issues.jboss.org/browse/JGRP-1657]
New AUTH plugin contributed by Martin Swales. Experimental, needs more work
Probe now works with TCP too
----------------------------
[https://issues.jboss.org/browse/JGRP-1568]
If multicasting is not enabled, probe.sh can be started as follows:
probe.sh -addr 192.168.1.5 -port 12345
, where 192.168.1.5:12345 is the physical address:port of a node.
Probe will ask that node for the addresses of all other members and
then send the request to all members.
Optimizations
=============
UNICAST3: ack messages sooner
-----------------------------
[https://issues.jboss.org/browse/JGRP-1664]
A message would get acked after delivery, not reception. This was changed,
so that long running app code would not delay acking the message, which
could lead to unneeded retransmission by the sender.
Bug fixes
=========
FRAG/FRAG2: incorrect ordering with message batches
[https://issues.jboss.org/browse/JGRP-1648]
Reassembled messages would get reinserted into the batch at the end instead of
at their original position
RSVP: incorrect ordering with message batches
---------------------------------------------
[https://issues.jboss.org/browse/JGRP-1641]
RSVP-tagged messages in a batch would get delivered immediately,
instead of waiting for their turn
Memory leak in STABLE
---------------------
[https://issues.jboss.org/browse/JGRP-1638]
Occurred when send_stable_msg_to_coord_only was enabled.
NAKACK2/UNICAST3: problems with flow control
--------------------------------------------
[https://issues.jboss.org/browse/JGRP-1665]
If an incoming message sent out other messages before returning, it could
block forever as new credits would not be processed.
Caused by a regression (removal of ignore_sync_thread) in FlowControl.
AUTH: nodes without AUTH protocol can join cluster
--------------------------------------------------
[https://issues.jboss.org/browse/JGRP-1661]
If a member didn't ship an AuthHeader, the message would get passed up
instead of rejected.
LockService issues
------------------
[https://issues.jboss.org/browse/JGRP-1634]
[https://issues.jboss.org/browse/JGRP-1639]
[https://issues.jboss.org/browse/JGRP-1660]
Bug fix for concurrent tryLock() blocks and various optimizations.
Logical name cache is cleared, affecting other channels
-------------------------------------------------------
[https://issues.jboss.org/browse/JGRP-1654]
If we have multiple channels in the same JVM, the a new view in one channel
triggers removal of the entries of all other caches
Manual
======
The manual is at http://www.jgroups.org/manual-3.x/html/index.html.
The complete list of features and bug fixes can be found at
http://jira.jboss.com/jira/browse/JGRP.
Bela Ban, Kreuzlingen, Switzerland
Aug 2013
[1]
https://issues.jboss.org/browse/JGRP-1643