Browse files


  • Loading branch information...
1 parent 7746070 commit 6d591b40e66e0aecb4d816aa8fe07536bad614d2 Bela Ban committed Sep 17, 2008
Showing with 28 additions and 42 deletions.
  1. +28 −42 doc/ReleaseNotes-2.6.4.txt
@@ -2,7 +2,7 @@
Release Notes JGroups 2.6.4
-Version: $Id: ReleaseNotes-2.6.4.txt,v 2008/09/17 07:27:32 belaban Exp $
+Version: $Id: ReleaseNotes-2.6.4.txt,v 2008/09/17 07:39:22 belaban Exp $
Author: Bela Ban
JGroups 2.6.4 is still API-backwards compatible with previous versions (down to 2.2.7).
@@ -11,38 +11,31 @@ It is also binary backwards compatible with 2.6, 2.6.1, 2.6.2 and 2.6.3.
Below is a summary (with links to the detailed description) of the major new features between 2.6.3 and 2.6.4.
-Shared transport fixes
+Performance enhancement: HashMaps in Messages replaced by more compact structures
-Critical bug in the shared transport which caused channels sharing a transport to stop working as soon as
-one shared channel was closed. Fixed by introducing reference counting.
+This speeds up creation of messages and access to a message's headers. It also reduces memory needed per message.
+Preliminary measurements showed a 10-20% performance gain in the JGroups perf test.
-Better thread naming for threads in a shared transport
+Define max blocking times in FC
-Timer thread pool moved to transport protocol
-Related to above. The timer thread pool was moved from the ProtocolStack to the transport protocol. Now *all* thread
-pools are located in the transport.
+New property max_block_times, which defines the max number of milliseconds to blocks for a given message M,
+according to M's size. Example:
-Thread factories, which control the creation of all threads in the JGroups system, are now also located in the
-transport. They can be replaced entirely, or - as an alternative - a listener can be registered to be called
-whenever a thread is created or released back into a thread pool.
+This means that messages smaller than or equal to 50 bytes will block for 2 ms max
+(or not block at all if enough credits are available, of course).
+Messages between 51 and 500 bytes will block a max time of 5 ms, and so on.
+All message larger than 100'000 bytes will block for a max time of 500 ms.
-Section 5.5.5 ( in the manual
-discusses the steps to be taken to replace thread pools and / or thread factories.
-Eager ACKs for UNICAST
-Optimization for heavy unicast traffic; reduces retransmissions
@@ -56,26 +49,19 @@ Bug fixes
-FD: messages other than from the pinged neighbor cause the missing heartbeat count to get reset
-This is a regression in 2.6.
-FLUSH: flush spans merges
-Merging of digests incorrect
-Blockings with large state transfers
+FRAG/FRAG2: fragments from X are not cleared if X crashes
+Critical fix to prevent memory leaks when X crashes while it still hasn't sent all fragments for
+a large message.
-Concurrent startups of many channels with FLUSH
+MethodCall: match between formal parameters and actual arguments fails if an argument is a subtype of a parameter
+Message.setFlag is using addition instead of bit-wise or
The complete list of features and bug fixes can be found at

0 comments on commit 6d591b4

Please sign in to comment.