1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438
|
History List
============
[For current version, see file Version.java (or invoke 'java org.jgroups.Version')]
bba = Bela Ban, bba@cs.cornell.edu
bela = Bela Ban, belaban@yahoo.com
i-scream = Gianluca Collot, gianlucac@tin.it
igeorg = John Georgiadis, i.georgiadis@doc.ic.ac.uk
jmenard = Jim Menard (jimm@io.com)
fhanik = Filip Hanik (filip@filip.net)
vlada = Vladimir Blagojevic (vladimir@cs.yorku.ca)
rrokytskyy = Roman Rokytskyy (rrokytskyy@acm.org)
akbollu = Ananda Bollu (akbollu@users.sf.net)
whizkid_bay = Mandar Shinde (whizkid_bay@users.sf.net)
ovidiuf = Ovidiu Feodorov (ovidiuf@users.sf.net)
romuald = Romuald du Song
yaronr = Yaron Rosenbaum (yaronr@mercury.co.il)
publicnmi = Robert Schaffar-Taurok (robert@fusion.at)
ossiejnr = Chris Mills (chris.mills@jboss.com)
***********
THIS FILE IS NOT UPDATED ANYMORE AS OF MAY 2 2006, I SWITCHED TO JIRA FOR THE ROADMAP AND HISTORY.
http://jira.jboss.com/jira/browse/JGRP
***********
Version 2.3
-----------
- Changed method signature of RpcDispatcher.callRemoteMethod() to throw a Throwable.
Previously it returned the exception as an object, now the exception will be thrown.
Callers of these methods have to change their code, so this is an incompatible change. However,
these calls are not used in JBossCache and JBoss Clustering.
(http://jira.jboss.com/jira/browse/JGRP-154)
(bela Feb 16 2006)
- Added encryption of entire message to ENCRYPT
(http://jira.jboss.com/jira/browse/JGRP-190)
(bela Feb 9 2006)
- Converted Word prog guide to docbook (./doc/progguide). Done by gdvieira@ic.unicamp.br
(gdvieira@ic.unicamp.br Jan 26 2006)
- Created global JGroups thread group (all threads belong to it)
(bela Jan 19 2006)
- Added AUTH protocol, samle configs and documentation. http://jira.jboss.com/jira/browse/JGRP-164
(ossiejnr Jan 12 2006)
- Fix in ReplicatedHashtable where state transfer notification is not emitted
(http://jira.jboss.com/jira/browse/JGRP-175)
(David Forget Jan 5 2006)
- init() is now called after all protocols have been created
(bela Jan 5 2006)
- Fixed bug where srv_sock_bind_addr could be different from transport's bind_addr.
This could cause incorrect suspect messages.
(http://jira.jboss.com/jira/browse/JGRP-173)
(bela Jan 3 2006)
- Added total order SEQUENCER protocol. See doc/SEQUENCER.txt for details
(bela Dec 30 2005)
Version 2.2.9.1
---------------
- Created label JGROUPS_2_2_9_1
(bela Dec 29 2005)
- Fixed bug "binding to same interface twice fails"
(http://jira.jboss.com/jira/browse/JGRP-167)
(bela Dec 23 2005)
- Fixed merge bug occurring when members are joining during a merge
(http://jira.jboss.com/jira/browse/JGRP-139)
(bela Dec 23 2005)
- Fixed ENCRYPT bug where down messages were queued unnecessarily
(JIRA: http://jira.jboss.com/jira/browse/JGRP-166)
(bela Dec 21 2005)
- Replaced Vector for members and pingable_members in FD with CopyOnWriteArrayList.
Fixes (http://jira.jboss.com/jira/browse/JGRP-161)
(bela Dec 16 2005)
Version 2.2.9
-------------
- Created label JGROUPS_2_2_9
(bela Dec 9 2005)
- Rewrite of TCP_NIO
(Scott Marlow and Alex Fu Nov 2005)
- Added support for Receiver in JChannel (push based message reception)
(bela Oct 2005)
- Added JChannel.dumpStats(): returns information about the various protocols, and the channel itself,
as a map. Currenty, only NAKACK, TP and FC have implementations
(bela July 26 2005)
- Eliminated creation of 3 input and 2 output streams *per message* in TP. These streams are now
created at TP startup and simply reset when a message is to be received or sent
(bela July 25 2005)
- Improved performance of RpcDispatcher, MethodCall (is now Stremable), added unit tests
(bela July 25 2005)
- Improved javadoc: copied portions of User's Guide to doc comments in source files,
fixed javadoc warnings; added project and package overviews; tweaked build target.
(chrislott July 17 2005)
- Headers are now always created in a Message, because we always add at least 1 header
to a message
(bela July 15 2005)
- Changed org.jgroups.util.Digest to use a HashMap rather than arrays
(bela July 12 2005)
- Refactored UDP and TCP into extending a common transport (TP)
(bela July 4 2005)
- Completed first version of JMX instrumentation
(bela June 14 2005)
- Added STATS protocol, provides stats via JMX
(bela June 7 2005)
- Added org.jgroups.jmx package, contains various adapters to expose channel and protocols
via JMX. Added jmxri.jar (can be removed once JDK 5 is baseline)
(bela June 1 2005)
- Replaced System.err.println() with log.error() in setProperties() of all protocols
(bela May 30 2005)
- Added xmit_from_random_member: retransmits will go to a random member, rather than the
original sender of the message. This eases the burden on senders in large groups
(bela May 25 2005)
- Fixed http://jira.jboss.com/jira/browse/JGRP-79 (problems with nulling src addresses on
loopback adapter in Windows). See JGroups/docs/NullingSrcAddresses.txt for details.
(bela May 19 2005)
- Fixed problem with PingWaiter/PingSender in applets (http://jira.jboss.com/jira/browse/JGRP-86)
(bela Ma 19 2005)
- Fixed STATE_TRANSFER stuck in Channel.queue bug (http://jira.jboss.com/jira/browse/JGRP-80)
(bela May 10 2005)
- Added support for multiple locked locks to the DistributedLockManager.
(publicnmi Jun 08 2005)
Version 2.2.8
-------------
- Created branch JGROUPS_2_2_8
(bela April 29 2005)
- Fixed problem with deadlock detection (e.g. in RpcDispatcher). Caller always passed new call stack,
rather than adding to existing call stack
(bela April 25 2005)
- Removed xerces JARs
(bela April 25 2005)
- UDP: fixed incorrect marshalling of IpAddresses with additional_data
(http://jira.jboss.com/jira/browse/JGRP-63)
(bela April 23 2005)
- Replaced getClass().getClassLoader() with Thread.currentThread().getContextClassLoader().
JIRA issue http://jira.jboss.com/jira/browse/JGRP-34
(bela April 23 2005)
- UDP: synchronization around message marshalling and sending, non-sync could lead to intermingled
byte arrays at the receiver, due to concurrent access to out_stream
(bela April 20 2005)
- Fixed bug where IpAddress.additional_data was not marshalled
(bela April 19 2005)
- Removed RWLock, replaced uses with ReadWriteLock from util.concurrent
(bela April 8 2005)
- Removed TransactionalHashtable (obsolete, replaced by JBossCache)
(bela April 8 2005)
- GMS/CoordGmsImpl: added merge_leader flag. If enabled, the member can initiate a merge although
it is not the coordinator
(bela April 7 2005)
- UDP: bind_to_all_interfaces now allows the multicast receiver socket to bind to all
available interfaces, only supported under JDK 1.4 and up
(bela April 1 2005)
- MPING: binds now to all interfaces (bind_to_all_interfaces has to be to true), only supported under
JDK 1.4 and higher
(bela April 1 2005)
- Fixed stopping outgoing packet handler (http://jira.jboss.com/jira/browse/JGRP-49)
[fix by Steve Nicolai]
(bela April 1 2005)
- Added MPING. Allows for multicast discovery on a TCP-based stack
(bela March 31 2005)
- ConnectionTable:
- Individual thread per Connection so send() doesn't block
- timeout for socket creation (sock_conn_timeout)
(bela March 24 2005)
- TCPPING: remove myself from pinged members
(bela March 23 2005)
- Added patch by David Orrell (external addresses for TCP/ConnectionTable)
(bela March 17 2005)
- Fixed JGRP-42 (MethodCall doesn't correctly handle inheritance)
org.jgroups.blocks.MethodCall was updated to walk the class hierarchy and locate method not only
in the current class, but also in the superclasses and superinterfaces. There is a new test that
contains use cases: tests/junit/org/jgroups/blocks/MethodCallTest.java
(ovidiuf Feb 18 2005)
- org.jgroups.util.Rsp: changed the sender's type from Object to Address.
(ovidiuf Jan 19 2005)
- Modified the RpcDispatcher's API to allow more than one ChannelListener to be registered
to the underlying JChannel.
(ovidiuf Jan 19 2005)
- Added MessageDispatcher.getMessageListener() to make possible to multiplex more than one
MessageListeners in top of an already configured MessageDispatcher/RpcDispatcher.
(ovidiuf Jan 19 2005)
- Implemented JGRP-15 (Concurrent startup of initial members without merging): when multiple members are started
simultaneously, and no other member is running yet, they form singleton groups, and merge after some time.
GOAL: elect a coordinator out of all concurrent (client-)members and avoid a merge.
(bela Jan 5 2005)
- Fixed JGRP-10 (incorrect computation of wait time in waiting loops)
(bela Dec 31 2004, on suggestion from Zac Hansen)
- Added system property ignore.bind.address, which ignores the system property bind.address
(bela Dec 12 2004)
- Changed Util.objectFromByteBuffer() to use ContextObjectInputStream. This uses the classloader of the caller
rather than the system classloader
(bela Nov 29 2004)
- MethodCall: changed Class.getMethod() to Class.getDeclaredMethod(). This allows for invocation of non-public
methods, e.g. private methods from within the same class, or package-private methods from within the same package
(bela Nov 1 2004)
- Added leading byte for Message to indicate which fields are null and non-null. Saves 5 bytes/msg
(bela Oct 8 2004)
- Dest address is not marshalled any longer; saves 10 bytes/msg
(bela Oct 8 2004)
- Implemented Streamable for more classes (headers)
(bela Oct 8 2004)
- Changed FD's BroadcastTask: this could *not* fire in the case where a task was stopped and immediately
restarted
(bela Oct 7 2004)
- Fixed incorrect merging in TUNNEL/GossipClient
(bela Oct 7 2004)
- Added support for bind.address system property in FD_SOCK
(bela Oct 6 2004)
- Fix for hanging merge when coordinator/participant crashes or shuns-and-reconnects during merge
(bela Oct 5 2004)
- Removed object serialization almost entirely; replaced it with Streamable. Changed Message, IpAddress and some
Header subclasses (not yet all) to support Streamable. UDP now uses Streamable both for Message and Message lists
(used in bundling). Rough performance increase ca 30% (size of serialized data ca. 30% smaller to).
(bela Oct 4 2004)
- UDP: removed 1 copy operation per sent message by using ExposedByteArrayOutputStream rather than ByteArrayOutputStream.
ByteArrayOutputStream.toByteArray() copies the buffer, ExposedByteArrayOutputStream.getRawBuffer() returns a
*reference* to the raw buffer plus and offset and length. This is then passed to the resulting DatagramPacket
(bela Sept 26 2004)
- Added ExposedByteArrayOutputStream (exposes the raw buffer), avoids copying the underlying byte buffer
(bela Set 26 2004)
- Added Magic{Input,Output}ObjectStream. They use the magic numbers mapping table to provide efficient
class descriptors on serialization
(bela Sept 24 2004)
- Added Simulator and FCTest
(bela Sept 23 2004)
- More IntelliJ Inspector changes
(bela Sept 23 2004)
- Various fixes for findbugs and IntelliJ's Inspector
(bela Sept 22 2004)
- Added CondVar and CondVarTest
(bela Sept 22 2004)
- Removed Ensemble
(bela Sept 21 2004)
- Removed some unneeded unit tests
(bela Sept 21 2004)
- Modified Promise.getResult(): timeout is now implemented correctly. getResultWithTimeout() now also throws
a TimeoutException
(bela Sept 16 2004)
- pbcast.STATE_TRANSFER/STABLE/JChannel: modified state transfer; timeout is now passed down
to the protocols
(bela Sept 16 2004)
- Added MERGE3
(bela Sept 15 2004)
- FD_SOCK: added sending message to signal regular termination. Plus, each connection is handled
on a separate thread
(bela Sept 14 2004)
- UDP: added code to prevent port reuse when using ephemeral ports, and ports are reused on some
operating systems (e.g. Win2K). Use num_ports_used > 0 to enable this feature
(bela Sept 13 2004)
- FD_SOCK: added bind address for server socket
(bela Sept 10 2004)
Version 2.2.7
-------------
- Created distribution (CVS tag = JG_2_2_7_final)
- Created distribution (CVS tag = JG_2_2_7)
(bela Sept 8 2004)
- Re-implemented Membership.sort (using Collections.sort())
(bela Sept 6 2004)
- Fixed & simplified the discovery algorithm in TCPPING
(bela Sept 4 2004)
- Fixed NPE in castViewChange() caused by concurrent reception of leave() and handleLeaveRequest() methods
(bela Sept 3 2004)
- Added automatic reconnect feature for PullPushAdapter on shun-reconnect sequence
(bela Sept 2 2004)
- Fixed incorrect determination of coordinator/participant after a merge where new coordinator was *not*
the one who executed the MERGE. Suggested by yaronr
(bela Aug 31 2004)
- Removed checks for self-delivery in FC: flow control needs to apply also for messages sent
from X to itself
(bela Aug 30 2004)
- Added discard_incompatibe_packets to UDP (suggested by Noronha, Vijay" <Noronha@Synygy.com>)
(bela Aug 17 2004)
- Added checking for system property bind.address (set by JBoss) in TCP (like UDP)
(bela Aug 14 2004)
- Applied patches by Markus Puetz (reading of systems properties fails in JLNP)
(bela Aug 12 2004)
- Fixed NPE in MethodCall caused by null args/types
(bela Aug 9 2004)
- Reverted use of ContextInputStream in Message.getObject()
(bela Aug 6 2004)
Version 2.2.6
-------------
- Created distribution (CVS tag = JG_2_2_6)
(bela Aug 4 2004)
- Fixed upProcessingThread in MessageDispatcher: using org.jgroups.util.Queue now (bug#: 998920)
(bela Aug 4 2004)
- Fixed incorrect start()/stop() sequence of GossipClient in TCPGOSSIP
(bela Aug 4 2004)
- ChannelFactory: specified new createChannel() method that assumes protocol stack configuration
information has already been set on the factory (e.g. at construction)
- JChannelFactory: Implemented ChannelFactory.createChannel() and provided type specific constructors;
a default constructor was provided for backwards compatability
- ChannelException: updated to support exception chaining in a 1.4 VM and to provide 1.4-like
exception chaining behavior for a 1.3 VM
(jiwils July 31 2004)
- Channel: protected access/empty constructors were removed
(jiwils July 29 2004)
- JChannel: added 5 type-specific constructors for JChannel; deprecated the JChannel(Object)
constructor - this means JChannel(null) construction is not supported; use JChannel() instead
(jiwils July 29 2004)
- ConfiguratorFactory: modified to support JChannel constructor changes
(jiwils July 29 2004)
- MessageDispatcher: m_upProcessingThread now terminates correctly on stop() (bug#: 998920)
(bela July 29 2004)
- Added logic to ClientGmsImpl to abort join() when leave() or stop() is called before join() returned
(bela July 29 2004)
- Util.objectFromByteBuffer() and Message.getObject() now use ContextObjectInputStream. This ensures that the
correct context classloader is used
(bela July 28 2004)
- Fixed bug that - when deadlock_detection was enabled - and scheduler was null (should not be the case),
messages were discarded
(bela July 26 2004)
- Fixed a TUNNEL bug.
(ovidiu July 12 2004)
- Ran code through Intellij inspector, changed various things (e.g. redundant code etc).
(bela July 4 2004)
Version 2.2.5
-------------
- Created distribution (CVS tag = JG_2_2_5_0)
- pbcast.NAKACK/NakReceiverWindow: messages that have been received in order are sent up the stack
(= delivered to the application). Delivered messages are removed from NakReceiverWindow.received_msgs
and moved to NakReceiverWindow.delivered_msgs, where they are later garbage collected (by STABLE). Since
we do retransmits only from sent messages, never received or delivered messages, we can turn the
moving to delivered_msgs off, so we don't keep the message around, and don't need to wait for
garbage collection to remove them
(bela June 24 2004)
- Changed UDP: multicast messages are now sent via mcast_send_sock and received via mcast_recv_sock. This has
to better performance when sending/receiving a lot of mcast msgs
(bela June 24 2004)
- Multicast messages now use the mcast_sock
(bela June 12 2004)
- Added system property resolve.dns: if set to false, IpAddresses will not attempt to resolve DNS host names, but
just print addresses in dotted-decimal format
(bela June 8 2004)
- UDP: system property bind.address overrides configuration option. Start e.g. with -Dbind.address=192.168.0.10
(bela June 8 2004)
- UDP: we cannot remove the header, because further retransmissions will fail. This lead to the
'missing UDP header bug'. Replaced removeHeader() with getHeader()
(bela May 18 2004)
- Removed all deprecated methods from MethodCall.
- Changed all dependent classes (RpcDispatcher, RpcProtocol etc)
- Removed MethodLookup, MethodLookupJava and MethodLookupClos
(bela May 14 2004)
- Properties for a JChannel constructor can now be regular files
(bela May 12 2004)
- Removed deprecated methods from RpcProtocol/RpcDispatcher
- Made MethodLookupJava the default in RpcProtocol/RpcDispatcher
- RequestCorrelator does now not use Scheduler when deadlock_detection=false, but calls
handleRequest() directly
(bela May 12 2004)
- Created version 2.2.5
(bela May 12 2004)
Version 2.2.4
-------------
- Created distribution (CVS tag = JG_2_2_4)
- Updated NakReceiverWindow (used by NAKACK): replaced received_msgs and delivered_msgs (lists) with TreeMaps.
This removes linear cost for traversals, and makes lookups constant.
(bela May 6 2004)
- Changed NAKACK.sent_msgs to use TreeMap (sorted seqnos as keys)
(bela May 3 2004)
- Removed log4j directory
(bela May 2 2004)
- Solved bug #943709
(yaronr April 28 2004)
- Added class org.jgroups.util.ReentrantLatch
(yaronr April 28 2004)
- Solved bug# 939253
Updated MessageDispatcher.java (MessageDispatcher + ProtocolAdaptor).
(yaronr April 28 2004)
- Optimization in RpcDispatcher: before marshalling the args and handing the call over to the superclass, we
make sure the destination list is not empty: if empty we return immediately.
(bela May 1 2004)
- Fixed bugs #943480 and #938584. STABLE handles SUSPEND_STABLE and RESUME_STABLE events, and STATE_TRANSFER
sends SUSPEND_STABLE before fetching the state and RESUME_STABLE after receiving the state, to prevent
message garbage collection from going on during a state transfer
(bela April 28 2004)
- Fixed bug #943881 (patch by Chris Wampler)
(bela April 28 2004)
- Fixed bug #938584 (NAKACK.retransmit problem)
(bela April 27 2004)
- Changed default format for XML properties to a simpler format (similar to JBoss)
Modified all XML files in ./conf
'XmlConfigurator <input file> -new_format' can be used to convert an old XML format into a new one
(bela April 26 2004)
- Created new version
(bela April 26 2004)
Version 2.2.3
-------------
- Added -new_format flag to XmlConfigurator; dumps input XML file in the format used by JBoss
(bela April 24 2004)
- Added flag use_scheduler to RequestCorrelator, which allows one to bypass the Scheduler altogether.
If deadlock detection is enabled, however, the Scheduler is needed, therefore use_scheduler is set to true.
Use the method setUseScheduler() to enable/disble this
(bela April 23 2003)
- Changed handling of Protocol.setProperties(). Each Protocol has to call super.setProperties() if it wants
to store the properties in this.props now
(bela April 23 2004)
- Made several protocols less verbose (info --> debug level)
(bela April 22 2004)
- Fixed NAKACK retransmission bug (#938584)
(bela April 22 2004)
- Minor change in Scheduler: replaced sched_thread.interrupt() with throwing of exception
(bela April 15 2004)
- Created distribution (CVS tag = JG_2_2_3)
(bela March 31 2004)
- Conversion of Trace-based logging system to commons-logging.
Removed log4j subdir, removed org.jgroups.log package
(bela March 29 2004)
- Added commons-logging.jar
(bela March 29 2004)
- Created new version
(bela March 29 2004)
Version 2.2.2
-------------
- Made UpHandler/DownHandler threads in Protocol daemon threads
(bela March 17 2004)
- MessageDispatcher: handling SET_LOCAL_ADDRESS, cache local_addr correctly (suggested by Yaron Rosenbaum)
(bela March 16 2004)
- Added more trace information to RpcDispatcher, MessageDispatcher, RequestCorrelator and GroupRequest
(bela March 9 2004)
- Fixed state transfer for DistributedHashtable (should do it the same way for Channel.getState())
(bela March 8 2004)
- Created new version
(bela March 8 2004)
Version 2.2.1
-------------
- Created distribution (CVS tag = JG_2_2_1)
- Added bundling capability to UDP. Bundles multiple smaller message into a larger one and then sends the
larger message. Waits with sending until n bytes have accumulatd or n ms have elapsed, whichever is first
(bela March 1 2004)
- Added first version of new fragmentation protocol (FRAG2). Main 2 advantages over FRAG: doesn not serialize message
and does not copy message (deferred until the message hits the transport). FRAG2 is about 3 times faster than FRAG.
(bela Feb 25 2004)
- Added offset and length fields to Message, plus a new constructor and a new setBuffer() method. This allows for
multiple messages to share a common byte buffer (avoiding unnecessary copying). The semantics of Message.getBuffer()
have changed: previously it returned a reference to the buffer, now it returns either a reference (offset/length
are not used) or a copy (offset/length are used). If you want the previous semantics, use Message.getRawBuffer().
(bela Feb 25 2004)
- Changes to log4j.Trace: we now use the fully qualified classname and methodname of the caller, e.g.
"org.jgroups.protocols.PING.down"
(bela Feb 24 2004)
- RequestCorrelator: catching exceptions caused by non-serializable return value, return them
as exceptions. This fixes bug# 901274: group requests would *not* return (not even a null value) if
the invoked method threw an exception, causing callers to hang for a timeout. Now the exception is returned.
(bela Feb 20 2004)
- Added NIO version of ConnectionTable1_4; works with JDK 1.4 or later.
TCP1_4.java protocol uses ConnectionTable1_4 and tcp1_4.xml config file for NIO
based TCP stack.
(akbollu Fed 18 2004)
- Added send_buf_size and recv_buf_size to TCP
(bela Feb 11 2004)
- Fixed problem in ConnectionTable/TCP: when a message was sent to a crashed member,
the connection establishment would take a long time. Now we can skip messages to
suspected members
(bela Feb 9 2004)
- Added tcpgossip.xml config file
(bela Jan 21 2004)
- Fixed bug in IpAddress: access to address cache is now synchronized (caused ConcurrentAccess ex).
(bela Jan 21 2004)
- ConnectionTable: new sockets now use the bind_addr (used to ignore it)
(bela Jan 18 2004)
- Added network optimization to PING and TCPPING for FIND_INITIAL_MBRS event when initial hosts is used,
rather than send to all, skip send for initial members already in the view
(thomas sorgie, Jan 17, 2004)
- Changed default port_range from 5 to 1, auto port escalation is a nice feature, but it is wasteful and
should be off by default
(thomas sorgie, Jan 17, 2004)
- Removed unused checkForResult() from util.Promise which has misleading results when result is null, replaced
with hasResult() which returns a boolean indicating whether a result if available
(thomas sorgie, Jan 17, 2004)
- Removed exceptions from getObject()/setObject() again, replaced with
IllegalArgumentException
(bela Jan 16 2004)
- Added exception(s) to Message(Address, Address, Serializable), getObject() and
setObject()
(bela Jan 15 2004)
- Removed direct_blocking from FC; this is now default
(bela Jan 8 2004)
- Fixed failed merging when all up/down threads are disabled (default-minimalthreads.xml)
(bela Jan 8 2004)
- Removed send_sock from UDP and streamlined sending. Now there is only 1 socket for sending unicast and multicast
messages and for receiving unicast messages, and 1 socket for receiving multicast messages
(bela Jan 6 2004)
- Added use_outgoing_packet_handler to UDP. If enabled, all outgoing packets will be handled by a separate thread.
This results in great perf gains for multicasts sent to self
(bela Jan 2 2004)
- Added min_size property to SIZE
(bela Dec 26 2003)
- Replaced HostInfo with IpAddress in PING/TCPPING
(bela Dec 22 2003)
- Added get_interfaces script to 'bin' directory: discovery of all network interfaces on a box.
Needs 1.4 to work
(bela Dec 18 2003)
- JChannel: fixed handling of additional_data: additional_data was not retained across shuns/reconnects,
so the additional_data would not be available. Run AddDataTest for unit testing.
(bela Dec 15 2003)
- Added scripts for pinging all members given an mcast address and port (probe), and
for determining the fragmentation size (frag_size).
(bela Dec 12 2003)
- Fixed bug #854887. When AUTOCONF determines the correct
fragmentation size (e.g. 65507 on my WinXP laptop),
fragments are cut down to 65507 bytes max.
However, those fragments are regular messages, so we add
some headers, plus serialization adds its own stuff, so we
end up with more than 65507 bytes, causing UDP to fail
(AUTOCONF measured exactly how many bytes could be sent over
the UDP datagram socket). Solution: add a buffer to the frag size determined
by AUTOCONF (e.g. 1000 bytes). This will be subtracted from the computed
frag size, so we have enough space. The buffer is always more or less
constant, as headers or serialization is constant too.
(bela Dec 12 2003)
- Added initial_hosts support for PING (copied from TCPPING)
(bela Dec 11 2003)
- Scheduler can now handle incoming requests concurrently (if concurrent_processing is true). By default,
this is false: setting this to true can destroy the ordering properties provided by a protocol stack, e.g.
in the case of total or causal order. FIFO (default) should be fine, but please know what you are doing !
(bela Dec 10 2003)
- Modified SMACK protcol: handling of CONNECT/CONNECT_OK and DISCONNECT/DISCONNECT_OK was incorrect. Worked only
on UDP. Now works on TUNNEL as well.
Also added a new protocol config smack_tunnel.xml to conf.
(bela Dec 10 2003)
- ProtocolStack.startStack() and stopStack() now use START/START_OK and STOP/STOP_OK pairs (again). Protocol will
handle these events internally. This prevents subtle timing problems, e.g. a CONFIG event being passed by
start() invocations on the protocols.
Fixes bug #854855
(bela Dec 5 2003)
- Fixed bug in pbcast.GMS which incorrectly generated view when many members left at exactly the same time.
Bug was reproduced in ConnectStressTest. We may have to revisit huge concurrent JOINs later (30 work fine in
the test now)
(bela Nov 20 2003)
- Added ConnectStressTest unit test
(bela Nov 20 2003)
- pbcast.GMS and shunning: only shun if this member was previously part of the group. avoids problem where multiple
members (e.g. X,Y,Z) join {A,B} concurrently, X is joined first, and Y and Z get view {A,B,X},
which would cause Y and Z to be shunned as they are not part of the membership
(bela Nov 20 2003)
- Added BoundedList to org.jgroups.util
(bela Nov 20 2003)
- Fixed NullPointerException in CoordGmsImpl (252) caused by null Digest
(bela Nov 20 2003)
- Fixed JChannel._getState(): when the state transfer protocol is just underneath the Channel, and
is configured to use the caller's thread, then we always run into the state transfer timeout for first
member.
(bela Nov 13 2003)
- GossipRouter can be managed as MBean under the JBoss JMX server.
To build a dist/jgroups-router.sar service archive, run build.sh jboss-service.
The router deploys as 'jgroups:service=GossipRouter' and it can be further
managed from http://<your_server>:8080/jmx-console
(ovidiuf Oct 29 2003)
- Added compression protocol (COMPRESS) and example stack (compress.xml)
(bela Oct 17 2003)
- Added GossipRouter. It is based on the Router code and it is able to answer
Gossip requests too. Can completely replace Router/GossipClient. It is
backward compatible, clients shouldn't be aware of change.
(ovidiuf Oct 15 2003)
Version 2.2
-----------
- JChannel.close(): queue will not be reset until re-opened
(bela Sept 25 2003)
- Added flushEvents() to ProtocolStack
(bela Sept 24 2003)
- New JUnit test case AddDataTest to test setAdditionalData() in IpAddress
(bela Sept 22 2003)
- Added remove_mutex to Queue: waitUntilEmpty() waits on the remove mutex, which is notified
by remove(), remove(long timeout), removeElement(Object el) and close() and reset()
(bela Sept 22 2003)
- Added resource handling, e.g. instead of full URLs a simple XML file name can be passed.
getResourceAsStream will be used on the thread's classloader to find the resource.
Example: java org.jgroups.demos.Draw -props default.xml (default.xml has to be in the classpath)
(bela Sept 11 2003)
- JavaGroups was renamed to JGroups. Package is now org.jgroups. The
final 2.1.1 version was tagged with the JG_FINAL_SEPT_8_2003 tag.
(bela Sept 8 2003)
Version 2.1.1
-------------
- Added MERGEFAST protocol: really simple implementation of a merge protocol which allows for faster
merging. Coordinators attach info saying "I'm the coord", when other coords (this means we have a
partition) see it, a merge protocol is initiated right away
(bela Aug 25 2003)
- Added additional_info handling for TCP (already present for UDP,
added in 2.0.6)
(bela Aug 4 2003)
- Applied patches sent by Alfonso to replicated building blocks (only
send mcast when more than 1 member, else apply change directly
(bela Aug 1 2003)
- Added adapttcp TCP-based tests
(bela July 25 2003)
- Added properties override to JChannel: use -Dforce.properties=file:/myprops.xml to force a given
protocol stack spec to be used
(bela July 24 2003)
- Eliminated unneeded message copying in NakReceiverWindow.remove() when inserting delivered
message into delivered_msgs
(bela July 23 2003)
- Fixed bug #775120 (channel not connected on first view)
(bela July 21 2003)
- Applied patch (submitted by Darren Hobbs) for incorrect voting to
ClientGmsImpl (both pbcast and regular branch)
(bela July 15 2003)
- Added performance tests created by Milan Prica (prica@deei.units.it) under
org.jgroups.tests.adapt
(bela July 12 2003)
- Created
(bela July 12 2003)
Version 2.1.0
-------------
- Created 2.1 distribution (CVS tag: JG_2_1)
(bela July 5 2003)
- Added timeout latency value to FD, fixes annoying (but not incorrect) "missing first heartbeat"
problem
(bela on behalf of Bas Gooren June 27 2003)
- Fixed bind_port problem in UDP
(bela on behalf of Bas Gooren June 27 2003)
- Fixed deadlock (bug is #761804). Changes in RequestCorrelator.
(bela June 27 2003)
- Change to pbcast.STABLE: max_bytes property allows for more aggressive message garbage collection.
It keeps track of the number of bytes received from everyone. When max_bytes is exceeded, a STABLE
message is multicast. This can be used in *addition* to, or instead of desired_avg_gossip.
(bela June 26 2003)
- Moved pbcast.STABLE on top of UNICAST/NAKACK. The reason is that STABLE should be reliable (message
retransmission). STABLE now assumes NAKACK is *below* rather than above it. This required changes to
all default protocol spec XML files, plus hard-coded properties in demo programs.
(bela June 26 2003)
- Created
(bela June 26 2003)
Version 2.0.8
-------------
- First version of FC (flow control) protocol based on credit system. PerfTest works (no OutOfMemory exceptions),
but it needs to be faster
(bela June 25 2003)
- On JChannel.open() a new ProtocolStack is created, previously the existing one was reused. This
caused multiple timers to be created on shun-reconnect
(bela June 12 2003)
- CloserThread would not terminate in Draw demo. Fixed by running mainLoop() in separate thread
(bela June 12 2003)
- On shun-reconnect, the ProtocolStack's timer was not restarted (start() was not called), therefore
FD would not restart its heartbeat. This fixes bug #753327.
(bela June 12 2003)
- Added new building block: DistributedQueue. Added unit and stress tests as well.
(romuald June 4 2003)
- Added diagnostics interface to query all members in a subnet using the same IP multicast address and
port (UDP). Use org.jgroups.tests.Probe to execute
(bela June 3 2003)
- Fixed CONNECT_OK bug in TOTAL_TOKEN
(bela June 2 2003)
- Added PerfTest
(bela May 27 2003)
- FD: fixed problem when correct member was suspected, but didn't
receive VERIFY_SUSPECT ack. Caused that member not to be pinged
anymore. If the member crashed later on, the crash would not be
detected.
(bela May 16 2003)
- JChannel: fixed bug in shun-reconnect sequence: channel_name was nulled,
therefore reconnect created a unicast channel. Now CloserThread
remembers the old channel_name and uses it to reconnect.
(bela May 15 2003)
- Fixed constructors of ChannelException so that ChannelException.getMessage()
returns non-null value
(bela April 17 2003)
- Added exceptions to 2 of the 4 constructors of DistributedHashtable
(bela April 17 2003)
- Added up_thread_prio and down_thread_prio to Protocol. This allows users to set
thread priority for each thread (up,down) in a protocol.
(bela April 15 2003)
- Added versioning to TCP. In addition to the cookie, we now also send the version. If the
cookie doesn't match we discard the message. If the versions don't match, we log a
warning message
(bela April 6 2003)
- Added versioning to UDP. Message with different versions will be flagged (warning), but
not discarded. This change changes the wire format of message, so that previous versions
will not work with this version
(bela April 4 2003)
Version 2.0.7
-------------
- Added serialVersionUID to MethodCall. Reason is that jikes and javac did not generate
the same serialVersionUID, causing problems between JGroups instances not compiled
with the same compiler. Currently MethodCall is the only instance where this problem
occurred. However, I didn't do exhaustive tests on this, there are probably more
instances. Since most users use the same codebase, this should not be a problem though.
(bela March 30 2003)
- Added way of defining method via (a) class types (Class[] array) or
(b) signature (String[])
- Modified RpcDispatcher and RpcProtocol to provide 2 new methods for each
- Added RpcDispatcherSpeedTest
(bela March 30 2003)
- Removed mcast_bind_addr again: I had thought 0.0.0.0 listens on *all* available
interfaces, but this is not true. The semantics are that the ANY address (0.0.0.0)
means that the first available interface is bound to.
We could have multiple mcast sockets, each on a different interface, joining the
same group though; this is possible.
(bela March 28 2003)
- Added mcast_bind_addr parameter to UDP, by default multicast socket will
now listen on all interfaces (0.0.0.0 'any' address)
- Send socket in UDP now doesn't take a bind_addr argument any longer;
by default the IP code will dynamically choose the interface based on the
destination address
(bela March 27 2003)
- Fixed bug in connect() - disconnect() - connect() sequence. Only
occurred when reconnecting to a different channel name. Fixed by
resetting all channel state (JChanel.init()).
(bela March 21 2003)
- Modified code for TCP/UDP: when a channel name is null, an outgoing
message will not have a header.
(bela March 20 2003)
- Fixed bug which caused join() to fail (null address) on
Channel.close(), Channel.open(), Channel.connect() sequence.
(bela March 18 2003)
- Added unicast capability for channels. The connect() method can now have a
null channel name, which will *not* invoke the JOIN protocol.
- Added org.jgroups.tests.UnicastChannelTest
(bela March 16 2003)
- Uncommented code in UDP.createSockets() which caused binding to all
interfaces (bind_addr == null). This caused incorrect addresses
(e.g. 0.0.0.0:1234), which were not identical across machines.
(bela March 13 2003)
- Added patch by Roland Kurman. If a protocol stack has only 1
protocol, then the JChannel.connect() method will fail as the
connect_mutex will be notified before connect_mutex.wait(). Added
some vars to check for this case. Dito for disconnect().
(bela March 13 2003)
- Added BSH protocol. Allows processing of Java code sent from a remote member.
Executes any Java code and sends back the result.
(bela March 8 2003)
- Added beanshell (www.beanshell.org) JAR file
(bela March 8 2003)
- Added optional ENCRYPT protocol (works with JDK1.4) using a 3rd
party provider. Jar and protocol file with ".xml" being added
on 03/06/2003.
(whizkid_bay Mandar Shinde)
- Removed synchronized from RequestCorrelator.removeEntry(). Not
needed, and caused bug #690606
(bela Feb 28 2003)
- Removed synchronized from GroupRequest.execute() (not needed as we
synchronized further down the code anyway)
(bela Feb 28 2003)
- Replaced print statements with Trace calls in some of the WAN support
classes. Modified log4j Trace wrapper to report also the module the log
was generated for.
(ovidiuf Feb 19 2003)
- Fixed a bug in TUNNEL that caused the clients and the Router to
deadlock under high-volume traffic.
(ovidiuf Feb 05 2003)
- A custom name/path for the magic number file can be specified using
the property "org.jgroups.conf.magicNumberFile". Default is
"jg-magic-map.xml".
(ovidiuf Jan 30 2003)
- Added contentsSet() and contentsCleared() callback to
DistributedHashtable Notification interface
(bela Jan 30 2003)
- pbcast.NAKACK will not remove header when handling retransmitted message.
Otherwise further retransmit requests would have failed
(bela Jan 29 2003)
- Removed unused casts
(bela Jan 28 2003)
Version 2.0.6
-------------
- Added FLOW_CONTROL protocol to throttle sender when receivers are
lagging behind.
(Ananda Jan 20 2003)
- Added ChannelClosedException and ChannelNotConnectedException to
Channel.getState() and Channel.getStates()
(bela Jan 20 2003)
- Various fixes related to the connect-disconnect-connect sequence:
TUNNEL sends a null local address up the stack when disconnected,
GossipClient provides a new timer and also cleans up the groups map
when stopped, pbcast.NACKACK cleans up the NakReceiverWindows when
disconnected and resets the seqno.
(ovidiuf Jan 16 2003)
- Added capability to stuff additional data into an IpAddress. Use the CONFIG event to
do this *after* channel creation but *before* connecting.
IpAddress.getAdditionalData()/setAdditionalData() can be used to manage that data.
This is useful e.g. when we want logical addresses rather than IpAddresses
(bela Jan 14 2003)
- Updated concurrent.jar to version 1.3.2
(bela Jan 14 2003)
- UDP: when multicasting a message, if loopback=true, we loopback a
copy directly up the stack (but still multicast it). Once we then
receive our own multicast, we discard it. This is supposed to solve
some problems with Windows media sensing and disabling of interfaces
(bela Jan 9 2003)
- TCPPING: automatically add self to initial_hosts lists if omitted
(bela Dec 26 2002)
- Fixed bug in UNICAST/FRAG (causing merge protocol to fail
sometimes): whenever we initiate a merge, we have to send a unicast
message to a member not currently in the group. If we receive a view
or get a retransmit() before we get the new view, the members will
remove each other's connection table entry, and thus unicast
messages to the other side will fail.
We now use Util.determineLeftMembers() to correctly determine the
left members between 2 views, and remove only those.
(bela Dec 23 2002)
- Channel.connect() will now throw an exception if the protocol stack
couldn't be initialized correctly (e.g. local address is null). Will
wait for LOCAL_ADDR_TIMEOUT ms until local_addr is non-null (can be
overridden by setting system property "local_addr.timeout").
(bela Dec 23 2002)
- Implemented RpcDispatcher.callRemoteMethods() correctly: destination
list is now correctly observed (used to be ignored before)
(bela Dec 15 2002)
- Added persistence manager (org.jgroups.persistence)
(whizkid_bay Dec 11 2002)
- Replaced START/START_OK events with start()
Replaced STOP/STOP_OK and CLEANUP/CLEANUP_OK events with stop()
(see description of Protocol.java for details)
(bela Dec 10 2002)
Version 2.0.5
-------------
- Added Proxy1_4 to org.jgroups.util
(bela Dec 5 2002)
- Added concurrent.jar to lib directory
(bela Dec 4 2002)
- Made (almost) all threads daemon threads
(bela Dec 2 2002)
- Added first version of TransactionalHashtable (no functionality yet)
(bela Nov 24 2002)
- Added ReplicationManager, ReplicationReceiver and Xid to
org.jgroups.blocks. This is the building block for transactional
cache
(bela Nov 20 2002)
- Changed signature of state transfer in Channel (returnState()) and
MessageListener (getState(), setState()) from Object to
byte[]. Reason: classloader issues, some clients need to do the
serialization themselves (e.g. in different classloaders)
(bela Nov 15 2002)
Version 2.0.4
-------------
- Fixed problem with client joining and immediately calling
getState(): now pbcast.GMS immediately sends a TMP_VIEW so correct
digest will be returned to client. This only happened when client's
GET_STATE request reached coordinator *before* coord received its
own VIEW_CHANGE multicast
(bela Oct 28 2002)
- DistributedHashtable: moved MethodCall creation from remote method
invocation (once/call !) to instance level (once/instance)
(bela Oct 17 2002)
- Made TOTAL.Header public (needed by externalization)
(bela Oct 15 2002)
- Made serialization of UdpHeader more efficient
(bela Oct 11 2002)
- Moved connection reaper from Connection to ConnectionTable
(bela Oct 10 2002)
- Added log4j-1.2.6.jar
(bela Sept 24 2002)
- Version 2.0.4 created
(bela Sept 21 2002)
Version 2.0.3
-------------
- Version 2.0.3 released
(bela Sept 21 2002)
- Fixed bug in Queue which caused dangling tail on removeElement()
(bela Sept 20 2002)
- Added adapter from Trace to log4j ($JG_ROOT/log4j)
(bela Sept 17 2002)
- Fixed problem with hangs in RpcDispatcher.callRemoteMethods(): seems
that Scheduler's thread pool of 10 was maxed out, causing hangs to
to missing responses. Increased thread pool to 128.
(bela Sept 16 2002)
- Added connection reaping in ConnectionTable/TCP. Use of properties
reaper_interval and conn_expire_time determines the reap times.
(bela Sept 16 2002)
- Removed SUSPECT events from TCP when ConnectionTable closes
connection. Added FD to tcp.xml instead
(bela Sept 15 2002)
- Made MessageDispatcher ride on top of PullPushAdapter in addition to
Channel
(bela Sept 13 2002)
- Version 2.0.3 created Aug 27 2002
(bela Aug 27 2002)
- Upgraded Xerces jars from 2.0.0 to 2.1.0
(bela Aug 31 2002)
Version 2.0.2
-------------
- Version 2.0.2 released Aug 26 2002
(bela Aug 26 2002)
- Fixed bug in AckMcastSenderWindow/NAKACK: whenever we did a
rebroadcastMessages(), and one of the members crashed in the
meantime, the call waited forever. This was especially the case when
we received a SUSPECT *before* the waitUntilAcksReceived() was
called. Fix: we maintain a bounded list of suspects and - when there
is a retransmit request to a member who is in that list - we remove
that member from the retransmission table, causing
waitUntilAcksReceived() to return. Additionally, one could set
rebroadcast_timeout, so that waitUntilAcksReceived() always returns
after some bounded time
(bela Aug 22 2002)
- Fixed bug in SMACK (retransmission to dead member did not stop) and
reduced number of JGroups-related threads from 9 to 4 in
smack.xml.
(bela Aug 22 2002)
- Fixed ClassCastException bug in PERF
(bela Aug 22 2002)
- Added SMACK, FD_SIMPLE and smack.xml. SMACK (= Simple Multicast ACK
protocol) allows for membership-less reliable (positive)
acknowledgment-based multicasting
(bela Aug 21 2002)
- Added VotingAdapter, TwoPhaseVotingAdapter as simple distributed
agreement building blocks; LockManager interface and DistributedLockManager
that uses TwoPhaseVotingAdapter to acquire and release locks.
(rrokytskyy Aug 18 2002)
- Modified GroupRequest to use Transport instead of
RequestCorrelator. Added test program GroupRequestPull
(bela Aug 16 2002)
- Fixed bug in FD: num_tries was incremented twice in the same loop
(bela Aug 15 2002)
- Fixed UDP.sendDummyPacket()
(bela Aug 15 2002)
- Added capability to register multiple MessageListeners with
PullPushAdapter
(bela Aug 13 2002)
- Added org.jgroups.tests.McastDiscovery1_4
(bela Aug 1 2002)
- Added disable_initial_coord property to both GMS and pbcast.GMS:
when set to true, new members will not become coordinators on empty
initial membership, but rather retry fetching the membership. Is set
to false by default
(bela Aug 1 2002)
Version 2.0.1
-------------
- Added unit tests to build.xml and fixed all unit test cases
( bela July 19 2002)
- Fixed bug in FD which caused no SHUN message to be sent
(bela June 25)
- AckSenderWindow now is able to send messages itself, used by sliding
window protocol (if enabled)
(bela June 4 2002)
- Removed Trace from TimeScheduler (caused significant delays in
task execution times)
(bela June 3 2002)
- Added sliding window to AckSenderWindow (used in UNICAST)
(bela June 1 2002)
- Replaced retransmission thread in AckSenderWindow with Retransmitter
(also used by NakReceiverWindow)
(bela May 29 2002)
- AckReceiverWindow and AckSenderWindow: replaced TreeSets with
HasMaps. More efficient insertion of and access to elements
(bela May 28 2002)
- New version of UnicastTest: measures performance of sending unicast
messages from a sender to a receiver
(bela May 26 2002)
- References of messages are now stored instead of copies (see
protocols/DESIGN for details)
(bela May 26 2002)
- Added AUTOCONF protocol: automatically configure network buffer
and fragmentation sizes
(bela May 14 2002)
- Added handling of null values to Marshaller
(bela May 3 2002)
- Added bare-bones.xml for protocol stack consisting only of UDP and UNICAST
(bela May 2 2002)
- Added use_packet_handler property to UDP
(bela April 26 2002)
- Converted headers from Stack to HashMap
(bela March 31 2002)
- Modifications to xmit algorithm in pbcast.NAKACK: large messages are
now avoided
(bela March 20 2002)
- Added JMS protocol and jms.jar (required)
(rrokytskyy March 20 2002)
- Removed buggy loopback code from UNICAST and moved (correct) code to
UDP. If 'loopback' is true in UDP, messages sent to self are not put
on the network, but redirected up the stack immediately.
(bela Feb 27 2002)
- Added new version of JUnit JAR file. Replaced all occurrences of
assert() with assertTrue(). 'assert' is a keyword in JDK 1.4 and
cannot be used any longer.
(bela Feb 13 2001)
Version 2.0
-----------
- Added ReplicatedTree and ReplicatedTreeDemo
(bela Feb 10 2002)
- Added SpeedTest
(bela Feb 2002)
- Modified UDP to allow connect() followed by disconnect().
(bela Dec 23 2001)
- Added BLOCK_SEND and UNBLOCK_SEND events: JChannel.send() will block
after BLOCK_SEND and unblock after UNBLOCK_SEND event. Used by flow
control protocols
(bela Dec 18 2001)
- Fixed bug in Scheduler which caused the 491327 bug (hang)
(bela Dec 14 2001)
- Fixed bug in pbcast.NAKACK which caused large state transfers to
fail
(bela Dec 13 2001)
- Checked initial version of JGroups 2.0 into the CVS
(bela Dec 12 2001)
- Removed Timer and TimerTask (supported from JDK 1.3)
(bela Dec 7 2001)
- Moved to new directory structure
- Adoption of SUN naming conventions (e.g. lowercase package names,
method names starting with lowercase letter etc)
(bela Dec 4 2001)
Version 1.0.1
-------------
- Added CAUSAL protocol
(vlada Nov 16 2001)
- Added DeadlockTest
(igeorg Nov 15 2001)
Version 1.0
-----------
- Updated some of the demos
(bela Nov 1 2001)
- Fixed bug in pbcast.NAKACK: seqnos are not reset to 0 on
SetDigest. This caused a sender to start at 0 after a SetDigest(),
e.g. sender was at 10 and got a digest. Its next 10 messages would
be discarded (already seen)
(bela Nov 1 2001)
- FD_SOCK: fixed bug where lost SUSPECT can screw up membership. Now
SUSPECT messages are transmitted reliably (retransmission if
lost). Also removed Thread.interrupt() on thread that reads from
InputStream (did not work correctly on some platforms, e.g. Windows
and Linux JDK 1.3.1)
(bela Oct 30 2001)
- Modified Draw demo: background is now correctly repainted (using
double-buffering)
(bela Oct 30 2001)
- Added magic cookie for connection sends/receives in
ConnectionTable. Telnetting to the same port as the one the CT
listens on will not have an effect, telnet will be closed by CT
(bela Oct 26 2001)
- Removed potential deadlock between synchronized Send() and Receive()
in ConnectionTable
(bela Oct 26 2001)
- Fixed bug in ConnectionTable. Caused connection termination by
Windows peers not to be detected.
(bela Oct 26 2001)
- Preliminary version of merge protocol to
pbcast.GMS/pbcast.CoordGmsImpl. Used with MERGE2 protocol.
(bela Oct 25 2001)
- Fixed properties for Draw demo (see todo.lst)
(bela Oct 24 2001)
- Added -no_channel flag to Draw demo. If set, Draw doesn't use a
channel. Can be used to see whether the drawing works, independent
of JGroups.
(bela Oct 22 2001)
- Replaced {ViewId,Vector} in pbcast.GMS with View
(bela Oct 22 2001)
- Ported Draw to Swing. Still has a redraw problem, because we don't
call super.paintComponent() to preserve points. Possible solution:
keep all pixels in an array, update the array on reception of
DrawCommand and just draw the array in paintComponent()
(bela Oct 17 2001)
- Added MERGE2 protocol. To be used in conjunction with pbcast/GMS
(bela Oct 17 2001)
- Fixed bug in JGroups.JavaStack.Protocols.pbcast.NakAckHeader
which caused externalization to be incorrect
(bela Oct 12 2001)
- Fixed bug in FD_SOCK under Linux JDK 1.3.1 (used to work under JDK
1.2.2): pinger thread could not be interrupted using
Thread.interrupt(). Now (only if Linux) the ping socker is closed to
interrupt the thread. Test whether Thread.interrupt() works to
interrupt thread during InputStream.read() is
JGroups.Tests.InterruptTest.
Addition: this bug is known by SUN (4344135) and currently occurs
only in the Linux JDKs 1.3.0 - 1.3.1. Should be fixed soon. Once
this is done, we can revert to interrupt() only. This is better
because it doesn't cause a SUSPECT event to be generated from
closing the peer socket. This event will be discarded by
VERIFY_SUSPECT, but it is still additional work. Also, if
VERIFY_SUSPECT is missing we are in trouble.
(bela Oct 10 2001)
- Removed is_linux from UDP.java
(bela Oct 10 2001)
- Added GossipServer, GossipClient. There used to be a GossipServer up
to version 0.9.4, but was subsequently merged with JRouter into
Router. The reason for putting it back is that we just want
gossiping functionality, not gossiping and routing functionality.
(bela Oct 4 2001)
- Modified Common.Trace. Added a separate STDOUT/STDERR object for
each level. Previously we had one singleton STDOUT and STDERR
object. This caused multiple traces with different levels to
overwrite each other's levels, e.g.
default_output=WARN STDOUT
trace0=Foo DEBUG STDOUT
would cause either WARN or DEBUG to be printed, but not both.
(bela Sept 27 2001)
- Removed MessageProtocol.MessageProtocolHeader. Demux for msg/rpc traffic is
done now whether RequestCorrelator.Header is present in the msg.
(igeorg Aug 10 2001)
- Modified pbcast.STABLE. Now stable task terminates after certain
idle time (see max_gossip_runs)
(bela Aug 3 2001)
- Added SIZE layer, Measures the size of a message and prints it.
(bela June 15 2001)
- Added Tests/Ping.java. Discovers initial members on any group
(bela June 12 2001)
- Removed initial_mbrs_timeout from GMS. Now, we wait until
FIND_INITIAL_MBRS returns (needs PING)
(bela June 12 2001)
- Added FD_SOCK protocol
(bela May 28 2001)
- Modified ConnectionTable to use 1 TCP connection instead of 2
between peers
(bela May 14 2001)
- Modified FD to use TimeScheduler instead of own thread
(bela May 11 2001)
- Integrated changes made by igeorg to AckMcastSenderWindow and
NakReceiverWindow. Modified pbcast.NAKACK to provide TimeScheduler
to *Window classes
(bela/igeorg May 9 2001)
- Added FLOWCONTROL layer
(i-scream May 9 2001)
- Removed ProtocolStack.Timer (use ProtocolStack.TimeScheduler)
(bela May 8 2001)
- Removed SortedList: replaced with java.util.TreeSet
(affected classes: AckSenderWindow and AckReceiverWindow)
(bela May 8 2001)
Version 0.9.9.9.1
-----------------
- Fixed severe bug in NAKACK
(bela May 11 2001)
Version 0.9.9.9
---------------
- Changed if(trace) to if(Trace.trace)
(bela May 4 2001)
- Added setting of receive and send buffer sizes for sockets in
UDP. This has an effect on FRAG (see DESIGN for explanation)
(bela April 24 2001)
- Made Address and Header Externalizable (changes to all subclasses of Header)
(bela April 17 2001)
- Moved TOTAL.java --> TOTAL_OLD.java and TOTAL_JOHN.java --> TOTAL.java
- Added ./Tests/FragTest: uses ProtocolTester to test FRAG
(bela April 13 2001)
- Added bind_addr and bind_port properties to UDP
(bela April 6 2001)
- Modified NotificationBus: uses ucast to coordinator to fetch state
instead of mcasting and then processing responses from each member
(bela April 5 2001)
- Moved NotificationInfo --> NotificationBus.Info
(bela April 5 2001)
- Reduced traffic generated by FD_PID. A new member used to mcast its
query for PIDs and every member replied with its add:pid. Now, a new
member asks the coordinator for the cache, updates its own cache and
then mcasts its addr:pid, so other members can update their caches.
(bela April 5 2001)
- Fixed ClientGmsImpl.DetermineCoord(): now a majority is needed to
determine the coordinator from the responses. This would join a new
member to the majority group in case of a split group (e.g. caused
by a network partition)
(bela April 4 2001)
- Added fix for "Last Message Dropped" bug in pbcast/STABLE and
pbcast/NAKACK (see pbcast/DESIGN for details)
(bela April 3 2001)
- Added Tests/DigestTest
(bela April 3 2001)
- Added SetTrace() to Protocol. Allows a developer to dynamically turn
tracing on/off in a running protocol stack
(bela March 30 2001)
- Removed Util.ShortName(). IpAddress now by default prints short
form. More efficient and avoids a lot of string creation.
(bela March 29 2001)
- Modified Protocol.java: no the up_thread=<boolean> and
down_thread=<boolean> can turn the up/down thread handler on/off
(bela March 27 2001)
- Added pbcast/STABLE.java. Slight modification of regular STABLE
protocol, makes it more efficient for local groups
(bela March 26 2001)
- Added JavaStack/ProtocolTester.java
(bela March 23 2001)
- Added pbcast/NAKACK protocol. This is similar to the regular NAKACK,
but doesn't include FLUSH with resetting of sequence numbers. Upon
joining, a new member will get the highest seqnos of all members
(from the coordinator) and set its NakReceiverWindows accordingly.
(bela March 23 2001)
- Modified pbcast GMS protocols: removed RpcProtocol. All GMS
protocols now extend Protocol instead of RpcProtocol. This should
make parallel startups of members faster
(bela March 20 2001)
- Added ANT based build system
(fhanik March 20 2001)
- Modified FD_PID (fixed bug in membership adjustment when most
members die)
(bela March 15 2001)
- Added Trace.init(): read tracing properties from file
(bela March 9 2001)
- Added FD_PID: uses process IDs to monitor for process
failure. For purely local groups.
Version 0.9.9.8
---------------
- Added FD_PID protocol. Failure detection based on process ids. Works
only for local groups (all members are on the same host), and only
on /proc based systems (e.g. Linux, Solaris)
(bela March 2 2001)
- Fixed bug in PBCAST where singleton members did not garbage-collect
their messages
(bela Feb 15 2001)
- Added bounded buffer to PBCAST: now PBCAST-related messages (like
gossips, etc (not multicast msgs !)) will be discarded if buffer is
full. This is not a problem since gossips in later rounds can make
up for the loss of previous gossips.
- Added simple FD protocol in ./pbcast. Requires PBCAST
(bela Feb 14 2001)
- Fixed problems where multiple members (including coordinator) crash
simultaneously (fixed in ./Protocols/ParticipantGmsImpl.java and
./Protocols/pbcast/ParticipantGmsImpl.java)
- Added probabilistic failure detection protocol (FD_PROB.java)
- Added VERIFY_SUSPECT protocol. Verifies SUSPECT messages generated
by the FD layer before passing it on to the GMS layer. Does this by
attempting to contact suspected member. If attempt is successful,
event is discarded, otherwise (a timeout occurs), event is passed up
the stack.
(bela Feb 13 2001)
- Added new Header class: all headers have to extend this class and
implement Size(). Replaced all occurrences of AddHeader(),
PeekHeader() and RemoveHeader().
- Added additional Send() method to Channel, JChannel and EnsChannel
- Changed addresses: now we have an Address interface and the old
JGroups.JavaStack.Address is now IpAddress
(bela Feb 9 2001)
- Added Trace module in ./Common
(jmenard Feb 9 2001)
- Added unit testing using JInit (./Tests)
(bela Feb 8 2001)
- Added FD_SHUN protocol. Failure detection with shunning of members
that are pinging but not in group
(bela Feb 8 2001)
- Fixed bug which prevented UNICAST to work over TCP
(bela Feb 7 2001)
- Added merging capability to GMS (not yet to pbcast.GMS)
- Added ViewID control to FD
- Correct a bug on STABLE
- GMS now reverts to Client on leave
- Removed interface JGroups.Comparable, substituted with java.lang.Comparable
(i-scream Feb 6 2001)
Version 0.9.9.7
---------------
- TOTAL protocol added (TOTAL_JOHN)
(John Georgiadis Feb 7 2001)
- Changes for partition-aware stack. Added simple merging protocol
(Gianluca Collot Feb 7 2001)
- Suspected members now leave a group voluntarily. Re-join may be
automated by setting option Channel.AUTO_RECONNECT and possibly
AUTO_GETSTATE.
- Removed Header, new headers are just serializable objects that will
be attached to a Message. This does not require code changes, but
existing code using Header must be rewritten (tiny change). If a
header implements interface Sizeable, FRAG will be able to figure
out exactly how many bytes a message is (needed to decide whether to
fragment or not). If Sizeable is not supported, a (preconfigured)
estimated size will be taken.
Version 0.9.9.6
---------------
- Modified UDP and TCP to give performance numbers for PERF
(Bela Feb 5 2001)
- Added PERF protocol (including PerfHeader): measure the performance
of messages separately fro each protocol layer. Just add PERF on top
of an existing stack (topmost protocol) and set trace=true.
- Fixed bugs in NakReceiverWindow (caused PERF to lose some of the
performance numbers)
- Added LOOPBACK protocol. Can be used as bottom protocol. Simply
swaps sender and receiver address and sends message back up the
stack.
- Implemented exit and reconnect mechanism (pbcast/GMS, FD and
JChannel). Modified FD to shun members from whom we receive a ping,
but which are not members of the group anymore. This allows e.g. to
CTRL-Z a member and later, after member was excluded, do a 'fg'. The
member will reconnect to the group
(bela Jan 31 2001)
- Added Open() to Channel: allows to reuse the same channel (re-connection)
(bela Jan 30 2000)
- Renamed ConnectionPool to ConnectionTable
- TCP: don't send messages with dst == local_addr, but redirect to
local queue
- NotificationBus: accept local messages
Version 0.9.9.5
---------------
- Added ./Demos/PartitionerTest, ./Demos/PartitionerTestFrame
- Added PARTITIONER protocol
(Gianluca Collot <gianlucac@tin.it> Dec 12 2000)
Version 0.9.9.4
---------------
- Repackaged all demos: they are now in the JavaGroups.Demos package
- Removed deadlock detection in pbcast.GMS (not needed, as there are
no receursive synchronous calls)
- Fixed bug in ReusableThread: now threads are released correctly
- Converted Thread.stop() in all files
- Fixed bug in Scheduler.java: added interrupt() to Stop(). We cannot
just use queue.Close(), because the sched_thread might be in a
different portion of the code (namely
current_task.thread.wait()). Therefore we have to interrupt it as
well to make sure it actually goes on to check its state (and
whether it should terminate)
(bela Dec 10 2000)
Version 0.9.9.3
---------------
- Added pbcast.GMS: GMS protocol without FLUSH
- Added pbcast.PBCAST protocol, implements Bimodal Multicast (Probabilistic Broadcast)
- Added STATE_TRANSFER protocol for PBCAST
(bela Nov 29 2000)
- FD.java: removed FdHeaders from regular messages
Version 0.9.9.2
---------------
- Removed iBus
(bela Nov 27 2000)
Version 0.9.9.1
---------------
- Added DistributedTree building block
(bela Sept 12 2000)
- Added DistributedTreeDemo
(bela Sept 12 2000)
Version 0.9.9
-------------
- Added LogicalLink, Link and WANPIPE classes. Theses can be used
as bottom layer to have a TCP-based interconnect between 2
machines. LogicalLink provides a logical WAN pipe, bundling multiple
physical links into one. As long as 1 physical link is up, the
logical link is up as well.
(bela June 29 2000)
- Fixed bug in TCP/ConnectionTable: connections to failed members were
still in the connection table, causing further requests to new
incarnations on the same address to fail. Fix is two-fold: first
'double-writes' are used to detect when peers have closed their side
of the connection and second, before we write to a peer, we check
whether it is in the group. If not, we close the socket to it and
re-open it. This is double-dutch, but I want to be on the safe
side.
(bela July 3 2000)
- Link/LogicalLink work now.
(bela July 7 2000)
- Added Debugger (./Debug). Provided hooks in Protocol.java to
interact with Debugger.
(bela July 22 2000)
- Modified Link: added interface for missing heartbeats and
re-detecting them. Parameterized timeout and timeout_interval for
each Link: AddLink() of LogicalLink. Also made initial socket
connection *timed*: if an interface (local or remote machine) is
down, we won't hang, but just continue, mark the interface as down
and periodically try to create a connection to it.
(bela July 25 2000)
Version 0.9.8
-------------
- Fixed memory leak in ConnectionPool. Replaced
readObject()/writeObject() on socket by write(byte)/read(byte[]).
Version 0.9.7
-------------
- Added support for TCP as protocol (files TCP.java and TCPPING.java
in .JavaStack/Protocols directory).
(bela June 16 2000)
- Added class ConnectionPool (./JavaStack directory). Takes care of
establishing and tearing down TCP connections on demand.
(bela June 16 2000)
Version 0.9.6
-------------
- Modified some file to compile under JDK 1.2.2 (name collision with
List)
(bba Feb 9 2000)
Version 0.9.5
-------------
- Modified tunneling (files TUNNEL, PING, Router, RouterStub):
GossipServer and JRouter are now merged into one:
Router. GossipClient was replaced by RouterStub. Both PING and
TUNNEL can now access the Router on the same port. Removed files
JRouter, GossipClient.
(bba Dec 10 1999)
- Fixed bug in Router: when a client reconnects under the same addr,
but a different socket, we need to use the new address to send out
messages (but the client still stays registered under its old
address) (bba Dec 12 1999)
- Moved UdpHeader class out of UDP.java (will also be used by Router)
(bba Dec 16 1999)
Version 0.9.4
-------------
- UNICAST: view change cannot remove all non-members: it may be the
case that 2 new members P and Q want to join the group, P is
admitted and Q has sent its JOIN request (causing a unicast
connection to be created in UNICAST). Now the view change for P is
sent, this removes the connections for those processes that are not
members in the view (Q isn't yet official member). Therefore
connections must be removed upon reception of SUSPECT rather than
VIEW_CHANGE.
(bba Dec 8 1999)
- Modified UNICAST: retransmit thread (AckSender window) has to be
killed when STOP event is received. (bba Dec 8 1999)
Version 0.9.3
-------------
- New version of STABLE, based on GRPCs. Makes use of existing seqno
information in NAKACK (using event GET_MSGS_RECEIVED)
(bba Nov 19 1999)
- Renamed RpcGMS -> GMS
- Added SortedList (bba Nov 23 1999)
- Fixed bug in AckSenderWindow(): addition of new message to empty
window did not check seqno, nor wake up retransmission thread
(bba Nov 29 1999)
- Replaced SortedList.AddAscending(): more efficient version
(bba Nov 29 1999)
- Modified AckSenderWindow (uses SortedList now)
(bba Nov 29 1999)
- Modified demo apps: UNICAST layer has to be *above*
NAKACK. Otherwise, NAKs and ACKs of the NAKACK layer are reliable
too (causing way to many msgs, e.g. acking of ACKs themselves) !
(bba Nov 30 1999)
- Removed PT2PT protocol layer, Pt2ptFsm, Pt2ptHeader: replaced by
UNICAST layer (bba Nov 30 1999)
- Set deadlock detection default to true (in RequestCorrelator)
(bba Dec 1 1999)
- Resending of unstable messages in NAKACK (REBROADCAST_MSGS): now an
additional header (WRAPPED_MSG) is added which contains the same
seqno as the original message, but also a field 'sender' to which
the ACK has to be sent. This is so because the original sender of
the message may be different from the coordinator who re-broadcasts
the message. If ACKs were not sent to the re-broadcaster but
instead to the original sender (who may have crashed), the
coordinator would wait indefinitely for all ACKs.
(bba Dec 2 1999)
- FLUSH protocol: when soliciting unstable message, so far only the
highest seqnos for received message were returned. Now, each sender
returns the highest seqno it sent, which may be higher than
received. This ensures that no messages are missing when
re-broadcasting the message digest as part of the FLUSH.
(bba Dec 3 1999)
Version 0.9.2
-------------
- Modified STABLE's defaults: gossip has to be sent much less often;
now gossip is sent every 100 msgs or 10 secs (which ever comes first).
- Modifications in FLUSH/NAKACK/RpcGMS: the flush protocol now does
not return all unstable messages (as determined by the STABLE
protocol), but just those that are determined by consensus (fewer
messages have to be re-broadcast). The advantage is that STABLE does
not need to emit STABLE events frequently. See file FLUSH.java for details.
(bba Nov 17 1999)
Version 0.9.1
-------------
(bba Nov 13 1999)
- Removed several superfluous fields from Message (e.g. id, rsp_id, oneway)
- Modified FRAG.java (depended on Message.GetId())
- Modified FragmentBuffer/DefragmentBuffer in Util.java
Version 0.9
-----------
- Adapted demos (bba Nov 12 1999)
- Removed the following classes:
- Dispatcher
- ChannelEntry
- MethodInvoker
- RemoteMethodCall
- LazyEvaluator
- RepeatedUnicast
- SyncCall
- MessageCorrelator
- Command, AndCommand, OrCommand
- Conf
- SlidingWindow
- Subject
- Observer
- Timer
- MNAK, GMS, GmsImpl
Therefore this version will break existing code that is based on
these classes ! Either use a previous version, or rewrite the code
using the new classes (e.g. RpcDispatcher for Dispatcher)
- Added ChannelListener (bba Nov 5 1999)
Version 0.8.6
-------------
- Modified LEAVE protocol: leaving member has to wait until it has
received all messages of the current view before it may
leave. Otherwise it may receive fewer messages in its last view than
the other members, which would violate virtual synchrony.
Version 0.8.5
-------------
- Increased priority of drawing (receiver) thread in demo programs
./Demo/Draw.java, ./Demo/DrawIpMcast.java and
./Demo/DrawIpMcastX.java. The drawing thread seemed to starve on
heavy drawing.
- Replaced implementation of Queue: the old version was based on
Vector, which scale badly when used as FIFO queues; removal/addition
of element causes all remaining elements to shift. New version uses
linked list.
- Implemented interface Externalizable in Message.java, Header.java:
huge performance improvement ! Header: in addition to the byte rep,
we also store object directly (caching). Thus, Message.PeekHeader()
does not always have to reconstruct an object from the byte rep !
(bba Sep 3 1999)
- Implemented List and Stack: faster versions of their respective
java.util.* companions (not based on Vector).
- Address.Compare(): now uses hashCode() between InetAddresses
instead of string form -> performance improvement
- Modified NakAckWindow: replaced Vectors with Lists
Version 0.8.4
-------------
- Modified NAKACK layer: GET_STABLE_MSGS not needed, STABLE layer sends
stability msgs periodically anyway
(bba Aug 13 1999)
Version 0.8.3 Aug 13 1999 (bba)
-------------------------------
- Added MessageDispatcher: equivalent of MessageProtocol for
applications. This required changes to Channel/JChannel (UpHandler)
- Added RpcDispatcher: equivalent of RpcProtocol for applications.
Version 0.8.2 Aug 10 1999 (bba)
-------------------------------
- Modified GroupRequest: not only suspect messages can cause an RMC to
terminate, but also view changes (e.g. when an RMC is initiated
after a suspect event has been received, but before the view change
has been seen. Otherwise this would block forever).
Version 0.8.1 July 05 1999 (bba)
--------------------------------
- Added VIEW_ENFORCER: drops all messages until the new member is
joined. Then acts as pass-through.
Version 0.8.0 July 02 1999 (bba)
--------------------------------
- Modified View/ViewId: View now contains ViewdId, moved ViewId to
main directory
Version 0.7.6 June 25 1999 (bba)
--------------------------------
- Added PIGGYBACK layer: combines multiple messages into a single
larger one
- Modified STATE_TRANSFER layer: now target(s) of ST can be given
(modifications also in Channel, JChannel).
Version 0.7.5 June 18 1999 (bba)
--------------------------------
- Work on RpcGMS and FLUSH layers
- Added BLOCK processing to FLUSH
Version 0.7.4 June 17 1999 (bba)
--------------------------------
- Modified Channel/JChannel to be able to receive Events (applications may
already send Events): this enables building blocks to communicate with
protocol layers via Events.
- Modified NAKACK: ACK scheme independent from NAK, e.g. numbering of messages
Version 0.7.3 June 14 1999 (bba)
-------------------------------
- First draft of FLUSH protocol
- Added FD_RAND protocol layer: based on polling of randomly selected members
Version 0.7.2 June 9 1999 (bba)
-------------------------------
- Modified NakReceiverWindow: now ranges (e.g. [4-8]) in
retransmissions are detected, this avoids having to send several
retr msgs. Instead just 1 msg is sent for each range.
- Added AckMcastSenderWindow: used for lossless delivery to group
members in NAKACK (ACKer)
Version 0.7.1 June 8 1999 (bba)
-------------------------------
- Modified several files to remove warnings from Jikes compiler
(pedantic flag activated)
Version 0.7.0 May 27 1999 (bba)
-------------------------------
- Added total order protocol (TOTAL.java). Written by Manish Sambhu
(mms21@cornell.edu)
Version 0.6.9 May 27 1999 (bba)
-------------------------------
- Created NAKACK protocol. NAK-based scheme that can be switched to
using ACKs on the fly (and back again). Uses 2 classes to do so.
- Created NakReceiverWindow out of SlidingWindow (will be removed
soon), thread is now created only when needed (ther might be many
NakReceiverWindow instances !). Also, retransmitter thread does not
check age of message any more, just presence or absence.
Version 0.6.8 May 20 1999 (bba)
------------------------------
- Modifications in RpcGMS: simpler join algorithm (client side /
coordinator side)
Version 0.6.7 May 18 1999 (bba)
------------------------------
- Modified MethodLookupClos: better handling of primitive types
- Renamed subdirectory 'Tests' -> 'Demos' and 'tests' -> 'Tests'
Version 0.6.6 Apr 15 1999 (bba)
------------------------------
- Added classes Scheduler, ReusableThread, ThreadPool
- Modified RequestCorrelator to use Scheduler. Now, RequestCorrelator
can be set to prioritize requests that would cause a deadlock.
- Added DEADLOCK layer. Uses RequestCorrelator with deadlock detection
to enable 'recursive synchronous group RPCs'.
Version 0.6.5 Apr 13 1999 (bba)
------------------------------
- Added requirements checking. Added 4 methods RequiredUpServices(),
RequiredDownServices(), ProvidedUpServices() and
ProvidedDownServices() to Protocol.java. Configurator now checks for
each protocol layer whether all its requirements on other layers are met.
Version 0.6.4 Apr 12 1999 (bba)
------------------------------
- Modified MembershipListener: added methods for getting/setting state
- Modified PullPushAdapter: dito
- Added JGroups/Tests/TotalOrderPull.java demoing
PullPushAdapter-based state transfer
Version 0.6.3 Apr 9 1999 (bba)
------------------------------
- Added DELAY protocol. Will delay all outgoing or incoming messages
by n milliseconds, where n can be determined by the user
Version 0.6.2 Apr 9 1999 (bba)
------------------------------
- Bug fix in GossipServer
- Changes to GossipClient: will only register when both local address
and group address are known
Version 0.6.1 Apr 1 1999 (bba)
------------------------------
- Added state transfer interface to Channel; Channels stay
backwards-compatible to existing applications
- Added protocol STATE_TRANSFER
- Updated documentation: STATE_TRANSFER, Channel interface
Version 0.6.0 Mar 12 1999 (bba)
-------------------------------
- Added MessageProtocol and RpcProtocol (subclasses of
Protocol). These can be used when peer communication between the
same layers in different stacks is required, e.g. for GMS. Both
subclasses implement synchronous group messages/method calls.
- Created new GMS layer: RpcGMS, RpcCoordGmsImpl,
RpcParticipantGmsImpl and RpcClientGmsImpl. Uses state pattern
(client, coord, participant). Also makes use of RpcProtocol.
- Modified PING: removed merge functionality. Added merge
functionality to separate layer (MERGE).
- Created initial (simplistic) version of MERGE protocol. Only
discovers out-of-group members, and sends up MERGE event. MERGE is
not yet handled by RpcGMS.
Version 0.5.9 Feb 26 1999 (bba)
-------------------------------
- Modified SUSPECT handling in GMS: when FD suspects a member, it
mcasts a SUSPECT message to all members. At each member, this will
generate a SUSPECT message, which is sent up the stack, starting
from the FD layer. The GMS layer then checks whether the coordinator
itself is suspected. If this is the case, the members are sorted and
a new coordinator is chosen deterministically by each member. The
new coordinator then mcasts a new view. If the coordinator itself is
not suspected, it removes the faulty member from its local view and
installs a new view. The modified algorithms removes 1 round of
multicasting plus a redundant check on who the coordinator is.
Version 0.5.8 Feb 5 1999 (bba)
------------------------------
- Changed Ctor, Close, Connect and Disconnect in JChannel (only
implementation): when disconnecting, a channel is not supposed to
receive any more messages (this was the case). Also, a process has
to acquire a new local address when re-joining (this was not the
case).
Version 0.5.7 Feb 1 1999 (bba)
------------------------------
- Added protocol UNI: uniform failure-atomic group mcast
- Added protocol PING: get initial members and periodical sending of
i-am-alive message (used to overcome partitions)
- Changed GMS/GmsImpl to make use of PING
Version 0.5.6 Jan 19 1999 (bba)
-------------------------------
- Added ./Algorithms/GroupRequest, ./Algorithms/AndCommand
- Added RequestCorrelator
- Moved JavaStack/Event.java to ./Event.java. Internal channel
implementations use now Event instead of QueueItem (code reduction)
Version 0.5.5 Jan 14 1999 (bba)
-------------------------------
- Renamed ./algorithms to ./Algorithms
Version 0.5.4 Jan 13 1999 (bba)
-------------------------------
- Back to square 1: dropped unicast mode altogether, essentially back
to version 0.5.2 !
Version 0.5.3 Jan 4 1999 (bba)
-------------------------------
- Changed unicast interface. Renamed Connect() to Join() and
Disconnect() to Leave().
- A channel is now operational for unicast messages after the
Channel() constructor has been called. Only when Join() is called
will it be able to send/receive group messages.
- The changes to the interfaces/classes require application programs
usingt version 0.5.2 to be modified and recompiled.
Version 0.5.2 Dec 29 1998 (bba)
-------------------------------
- Modifications in the event sequence when creating a channel and when
connecting to it (START, STARYT_OK, CONNECT, CONNECT_OK, DISCONNECT,
DISCONNECT_OK, STOP, STOP_OK)
- Got rid of LowLevelCommunication interface
- Local address is set by SET_LOCAL_ADDRESS (sent up by lowest layer)
- Peer address is set by CONNECT(peer_addr)
Version 0.5.1 Dec 22 1998 (bba)
--------------------------------
- Fairly extensive changes to the Channel interface: changed
ChannelFactory, Connect() and Receive(). Receive() now returns
Objects rather than Message. These might be Messages, Views or
Blocks. Channel is now pure pull-oriented. Removed Cast() and
several Send() methods.
Version 0.5 Dec 21 1998 (bba)
-----------------------------
- Added new protocol PT2PT: TCP-like reliable point to point connection
- Changed Channel interface: separation of channel creation, Connect(),
removal of Destroy() -> existing programs will need to be modified
to use the new classes
- The changes to the interfaces/classes require application programs
written for version 0.4 to be modified and recompiled.
Version 0.4 Dec 10 1998 (bba)
-----------------------------
- Added several new protocols (MACK, MNAK)
- Fixed IP MCAST bug (UDP.java)
- Fixed gossip bug (UDP.java)
Version 0.3 Oct 1998
--------------------
- First version (0.3) released (bba)
|