tag:blogger.com,1999:blog-25265302968606972252024-03-05T23:47:26.832+00:00The official JBoss Cache blogThe official blog site for JBoss Cache, an open source, LGPL licensed clustering and caching library.Manik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.comBlogger68125tag:blogger.com,1999:blog-2526530296860697225.post-27944610143852963742010-04-23T13:51:00.002+01:002010-04-23T13:56:36.623+01:00JBoss Cache 3.2.4.GA released!Hi,<div><br /></div><div>Today we've released <span class="blsp-spelling-error" id="SPELLING_ERROR_0">JBoss</span> Cache 3.2.4.GA which contains fixes in <a href="https://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=true&&fixfor=12314870&pid=10051&resolution=-1&sorter/field=priority&sorter/order=DESC">here</a>. Note as well that a couple of days ago we released 3.2.3.GA which had fixed <a href="https://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=true&&fixfor=12314562&pid=10051&sorter/field=issuekey&sorter/order=DESC">these other issues</a>. If you're using the Expiration eviction algorithm, you'll be greatly benefited from these releases.</div><div><br /></div><div>Finally, remember that JBoss has moved to a new Nexus based maven repository, so make sure you update your local Maven settings as per instructions <a href="http://community.jboss.org/wiki/MavenRepositoryConfiguration">here</a> in order to retrieve the new JBoss Cache releases.</div><div><br /></div><div>Cheers,</div><div>Galder</div>Galder Zamarrenohttp://www.blogger.com/profile/14723188368981659001noreply@blogger.com4tag:blogger.com,1999:blog-2526530296860697225.post-2342389745866792922010-02-16T11:44:00.002+00:002010-02-16T11:50:14.591+00:00JBossCache3.2.3CR1 released!JBossCache3.2.3CR1 has just been released. It contains a single performance improvement[1] that significantly increases the throughput when JDBC cache loader is used under heavy load. Thanks to Nikolay Zamosenchuk for investigating and fixing this!<br /><br />[1] https://jira.jboss.org/jira/browse/JBCACHE-1569Mircea Markushttp://www.blogger.com/profile/05770462190019736584noreply@blogger.com2tag:blogger.com,1999:blog-2526530296860697225.post-40116748822169143552009-10-01T13:40:00.002+01:002009-10-01T13:43:02.873+01:00JBossCache 3.2.1GA releasedHi,<br /><br />This release includes mainly bug fixes and performance improvements. You can find a detailed list of all items included <a href="https://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=true&pid=10051&fixfor=12313914">here</a>.<br /><br />Enjoy!Mircea Markushttp://www.blogger.com/profile/05770462190019736584noreply@blogger.com2tag:blogger.com,1999:blog-2526530296860697225.post-11151085271965371892009-09-25T14:13:00.000+01:002009-09-25T14:14:04.208+01:00Release of JBossCache3.2.1CR1<span class="postbody">Hi,<br /><br />JBossCache3.2.1CR1 [1] has just been released.<br />Besides other fixes[2], this includes the integration with jgroups 2.6.13.CR2.<br /><br />Enjoy!<br /><br />[1] <a href="https://svn.jboss.org/repos/repository.jboss.org/maven2/org/jboss/cache/jbosscache-core/3.2.1.CR1/" target="_blank" class="postlink">https://svn.jboss.org/repos/repository.jboss.org/maven2/org/jboss/cache/jbosscache-core/3.2.1.CR1/</a> <br />[2] <a href="https://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=true&pid=10051&fixfor=12313922" target="_blank" class="postlink">https://jira.jboss.org/jira/secure/IssueNavigator.jspa?reset=true&pid=10051&fixfor=12313922</a> </span>Mircea Markushttp://www.blogger.com/profile/05770462190019736584noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-56308888383660905142009-08-24T11:00:00.004+01:002009-08-24T11:08:04.845+01:00JBoss Cache 3.2.0 Malagueta just released!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.worldcrops.org/images/content/malagueta_saopaulo_500_400.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 191px; height: 113px;" src="http://www.worldcrops.org/images/content/malagueta_saopaulo_500_400.JPG" alt="" border="0" /></a><br />Another major JBoss Cache release: say hello to Malagueta!<br /><br />While this is primarily a bug fix release, I have decided to bump up the minor version number (3.1.x -> 3.2.x) due to library compatibility. JBoss Cache 3.1.x could only support JGroups up to and equalling 2.6.x. Due to dependence on certain JGroups classes, 3.1.x will not work with newer JGroups releases (such as <a href="http://belaban.blogspot.com/2009/08/280cr1-released.html">JGroups 2.8.x</a>).<br /><br />JBoss Cache 3.2.0 adds the ability to work with both JGroups 2.6.x as well as 2.8.x and beyond, and as such is more future-proof. Visit <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12311619&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">JIRA</a> for a full changelog of issues addressed in this release. <a href="http://www.jboss.org/community/wiki/JBossCacheDownloadsPage">Downloads</a> and <a href="http://www.jboss.org/community/wiki/JBossCacheOfficialDocumentation">documentation</a> are in the usual places.<br /><br />Enjoy!<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com1tag:blogger.com,1999:blog-2526530296860697225.post-15399420221129479122009-05-05T09:58:00.003+01:002009-05-05T10:06:57.802+01:00JBoss Cache 3.1.0 Cascabel in final releaseI've just released JBoss Cache 3.1.0.GA, codenamed <span style="font-style: italic;">Cascabel</span>. The big feature in this release is non-blocking state transfer, which allows for state to be transferred to new joiners in a cluster without freezing the cluster. I blogged about non-blocking state transfer some months ago, <a href="http://jbosscache.blogspot.com/2009/03/jboss-cache-310beta1.html">here</a>.<br /><br />Other changes include some critical bug fixes such as <a href="https://jira.jboss.org/jira/browse/JBCACHE-1490">JBCACHE-1490</a>, <a href="https://jira.jboss.org/jira/browse/JBCACHE-1496">JBCACHE-1496</a>, <a href="https://jira.jboss.org/jira/browse/JBCACHE-1507">JBCACHE-1507</a> and <a href="https://jira.jboss.org/jira/browse/JBCACHE-1508">JBCACHE-1508</a>. New features - in addition to non-blocking state transfer - include a new <a href="https://jira.jboss.org/jira/browse/JBCACHE-1494">lock-per-Fqn scheme</a> for MVCC, which provides greater concurrency than the striped lock mechanism at the cost of memory usage and a slight performance hit.<br /><br />The complete list of JIRAs addressed is <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12311895&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">here</a>.<br /><br />Downloads, documentation, etc are all in the usual place.<br /><br />Enjoy!<br />ManikcManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com3tag:blogger.com,1999:blog-2526530296860697225.post-90724540936934055352009-04-29T15:57:00.003+01:002009-04-29T15:59:38.639+01:00Announcing InfinispanI'd like to announce <a href="http://www.infinispan.org">Infinispan</a>, the spiritual successor to JBoss Cache. Read all about it on the <a href="http://infinispan.blogspot.com/2009/04/infinispan-start-of-new-era-in-open.html">Infinispan blog</a>. And for those of you wondering about the future of JBoss Cache, this is addressed in the <a href="http://www.jboss.org/community/wiki/InfinispanProjectFAQs">Infinispan FAQs</a>.<br /><br />Also note that Infinispan 4.0.0.ALPHA2 is now available for download. Please give it a go, feedback much appreciated.<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-54504721205875016742009-04-02T17:26:00.002+01:002009-04-02T17:30:13.867+01:00JBoss Cache 3.1.0.CR1 releasedAnnouncing the first CR on Cascabel. Click <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313446&versions=12313447&versions=12313396&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">here</a> for the changelog, <a href="http://www.jboss.org/community/docs/DOC-12844">downloads</a> and <a href="http://www.jboss.org/community/docs/DOC-12843">docs</a> are in the usual places. Please grab them and provide as much feedback as possible, especially on non-blocking state transfer.<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com4tag:blogger.com,1999:blog-2526530296860697225.post-34109120384135817692009-03-26T10:15:00.003+00:002009-03-26T10:24:01.761+00:00JBoss Cache and the communityRoberto Tyley, who provided an important fix to JBoss Cache's eviction queue processing code in <a href="https://jira.jboss.org/jira/browse/JBCACHE-1473">JBCACHE-1473</a>, has written <a href="http://www.guardian.co.uk/help/insideguardian/2009/mar/25/sharing-contributing-caching">an excellent article</a> on open source, using the sources, finding, analysing bugs and contributing to the project. He also has an interesting use case for JBoss Cache, using the cache in front of a database on a high-volume site such as <a href="http://www.guardian.co.uk/">The Guardian</a>, a major newspaper here in the UK. I encourage you to have a read, along with <a href="http://jbosscache.blogspot.com/2009/02/jboss-cache-in-load-testing.html">Frederik Johansson's article</a> on using JBoss Cache for simulating distributed load for online gaming.<br /><br />Does anyone else have interesting usage stories they would like to share?<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com1tag:blogger.com,1999:blog-2526530296860697225.post-76359460947028435962009-03-20T15:29:00.004+00:002009-03-21T08:48:57.835+00:00JBoss Cache 3.1.0.BETA13.1.0's been somewhat delayed due to problems with Non-blocking State Transfer, but these have finally been overcome.<br /><br />Here's a quick summary first. The first Beta of JBoss Cache 3.1.0 <span style="font-style: italic;">Cascabel</span> is now available in the usual places (<a href="http://www.jboss.org/community/docs/DOC-12844">download</a>, <a href="http://www.jboss.org/community/docs/DOC-12843">docs</a>, <a href="http://www.jboss.com/index.html?module=bb&op=viewforum&f=157">forums</a>). The main feature of <span style="font-style: italic;">Cascabel</span> is <a href="https://jira.jboss.org/jira/browse/JBCACHE-1236">Non-blocking State Transfer</a>, a new and highly efficient state transfer mechanism. Also, since MVCC was introduced in JBoss Cache 3.0.0 <span style="font-style: italic;">Naga</span>, lock striping was used for the write locks held by nodes. While lock striping is efficient, it always exposes a slight risk of deadlock. In Cascabel, we now offer a <a href="https://jira.jboss.org/jira/browse/JBCACHE-1494">lock-per-Fqn option</a> for MVCC, which is more expensive than striped locks but is guaranteed to be deadlock-free. In addition, there are <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313396&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">a host of bug fixes across the board</a>, so this is definitely a version you should upgrade to if you use JBoss Cache 3.0.x.<br /><br />Now for the details, starting with Non-blocking State Transfer (NBST). NBST has certain pre-requisites, specifically, that you use MVCC for locking and that you use JGroups' STREAMING_STATE_TRANSFER protocol. NBST works by allowing state to be read, free of locks thanks to MVCC, streamed to the receiver, all the while allowing the sender to continue changing state. What is key is that the sender also maintains a transaction log for this period. Once the state is delivered to the recipient and applied, the transaction log is then also streamed across, until the transaction log reaches a predetermined, small size - or it is detected that the transaction log grows faster than it can be streamed. In either of these cases, a lock is acquired on all processing, causing the sender to block all new transactions for a short period while the last of the transaction log is streamed and applied. After this, both the sender and receiver release locks and start processing requests, the new joiner now at the same state as the sender.<br /><br />The main benefit of this approach is that the sender is not blocked for the majority of the time while generating and streaming state (made all the more apparent when there is a lot of state to send) and the cluster proceeds to operate. Naturally, the implementation is a fair deal more complicated than what is described quite simplistically above, with a fair few more details and edge cases to be dealt with. :-)<br /><br />NBST is disabled by default, but can be enabled by using a simple configuration switch (<span style="font-family:courier new;">Configuration.setUseNonBlockingStateTransfer()</span> or <span style="font-family:courier new;"><stateretrieval nonblocking="true" /></span>).<br /><br />So do give it a whirl, feedback, as always, is appreciated.<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com4tag:blogger.com,1999:blog-2526530296860697225.post-30179617193378783342009-02-24T10:07:00.004+00:002009-02-24T10:23:15.996+00:00JBoss Cache 3.0.3.GA releasedBased on the CR I released 2 weeks back, I have just released <span style="font-weight: bold;">3.0.3.GA</span>. I recommend that everyone who is on JBoss Cache 2.x and 3.x move to this release, it is the fastest, most stable release to date. This incremental release on 3.x contains the following bugfixes and feature requests:<br /> <ul><li><span style="font-size:100%;"> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1470">JBCACHE-1470</a> ] Option to disable cache event generation for a cache operation.</span></li><li>[ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1468">JBCACHE-1468</a> ] JBoss Cache ignores transactions with STATUS_MARKED_ROLLBACK and auto commits data changes </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1469">JBCACHE-1469</a> ] DummyBaseTransactionManager behaves incorrectly with Status.STATUS_MARKED_ROLLBACK </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1473">JBCACHE-1473</a> ] Memory leak: Cache Regions lose capacity, evictCommand.perform() causes dead entries in EvictionQueue </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1474">JBCACHE-1474</a> ] Removing nonexistent key in UnversionedNode causes data loss </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1477">JBCACHE-1477</a> ] Bug in JDBC cache loader SQL on Informix </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1478">JBCACHE-1478</a> ] Handle querying node count in an unstarted DataContainer </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1479">JBCACHE-1479</a> ] Loads nodes from cache loader too aggresively </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1480">JBCACHE-1480</a> ] getChildrenNames() returns deleted nodes </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1481">JBCACHE-1481</a> ] Re-adding a node deleted via parent inside transaction breaks the parent</li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1471">JBCACHE-1471</a> ] Slow cache.get for fqn with a large number of key/value entries. </li></ul>Thanks to Krzysztof Sobolewski, Roberto Tyley, Eduardo Martins, Galder ZamarreƱo and Alex Kluge for useful bug reports, tests and patches.<br /><br /><a href="http://www.jboss.org/community/docs/DOC-12844">Downloads</a> and <a href="http://www.jboss.org/community/docs/DOC-12843">documentation</a> are in the usual place, please use the <a href="http://www.jboss.org/index.html?module=bb&op=viewforum&f=157">user forums</a> to discuss this release.<br /><br />Enjoy!<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-72560298652750864202009-02-13T15:32:00.004+00:002009-02-13T15:42:38.601+00:00What to expect in JBoss CacheSo we're about to cut <span style="font-weight: bold;">JBoss Cache 3.1.0 "</span><span style="font-style: italic; font-weight: bold;">Cascabel</span><span style="font-weight: bold;">"</span> - and the main feature here is the high-performance <a href="http://www.jboss.org/community/docs/DOC-10275">non-blocking state transfer</a> (NBST) scheme we've been planning for a while now, held back due to the lack of non-blocking reads in the past. Thanks to <a href="http://jbosscache.blogspot.com/2008/07/mvcc-has-landed.html">MVCC</a>, we now have non-blocking reads, and thanks to <a href="http://www.jboss.org/community/people/jason.greene%40jboss.com">Jason Greene</a>, an impressive non-blocking state transfer implementation. Expect a beta of Cascabel to be made available in the coming days/weeks, along with a detailed write-up of NBST.<br /><br />But in the meantime, I've just cut <span style="font-weight: bold;">JBoss Cache 3.0.3.CR1</span>. This CR fixes <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313259&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">a number of bugs</a> - some critical - on Naga, and I strongly recommend anyone using Naga to download and test out 3.0.3.CR1. I expect this to be a very short CR cycle so please test heavily and provide as much feedback as you can, I expect a 3.0.3.GA to be released very soon.<br /><br />You can download the CR in the usual place on SourceForge, or grab it from our Maven2 repository.<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-92177893933689091562009-02-10T20:08:00.003+00:002009-03-26T10:21:54.514+00:00JBoss Cache in load testingI'm always keen to know how the community uses JBoss Cache. I was recently pointed to an excellent article by Frederik Johansson who uses JBoss Cache to build a load test harness to simulate tens of thousands of players in high capacity multiplayer online gaming systems.<br /><br />Check out his wonderfully detailed yet accessible article <a href="http://www.cubeia.com/index.php?option=com_content&task=view&id=28&Itemid=9">on his blog</a>.<br /><br />If anyone else has success stories they would like to share, I'd love to hear them.<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-36036615945937726122009-01-26T11:06:00.003+00:002009-01-26T11:08:30.447+00:00New maintenance release on 1.4.1I've just released 1.4.1.SP12, a patch release on "<span style="font-style: italic;">Cayenne</span>", which is in maintenance mode.<br /><br />This contains just one fix over SP11 - <a href="https://jira.jboss.org/jira/browse/JBCACHE-1304">JBCACHE-1304</a> - a backport from 2.x, thanks to Brian Dueck who contributed the patch.<br /><br />Downloads, etc. are all in their usual places.<br /><br />Enjoy!<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-43296238524919159102009-01-20T16:18:00.002+00:002009-01-20T16:33:54.918+00:003.0.2.GA ready for downloadI've just cut <span style="font-weight: bold;">3.0.2.GA</span>. Thanks to everyone for all the feedback on the CRs. This is an important micro release, addressing a number of bugs in 3.0.1.GA. For a full list, please visit <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313070&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">JIRA for the release notes</a>. In addition to bug fixes, this release comes with some performance (JDBC cache loader) and stability (TcpDelegatingCacheLoader) improvements, and a tighter overall memory footprint.<br /><br />Thanks to several contributors, including Elias Ross, Jimmy Wilson, Galder ZamarreƱo, J. Baxter, Brian Stansberry and Krzysztof Sobolewski for submitting patches. Keep 'em coming!<br /><br />Also, useful to note, the parallel test suite is finally in place as of this release. This cuts down our unit test time, running 3500+ tests takes under 10 minutes now. This is down from the 2+ hours it used to take. Thanks to Mircea Markus and Dominik Pospisil for getting this working; I know what a PITA it is debugging threading issues involving Maven Surefure and TestNG. :-)<br /><br /><a href="http://www.jboss.org/community/docs/DOC-12844">Download 3.0.2.GA here</a> (or our <a href="http://repository.jboss.org/maven2/org/jboss/cache/jbosscache-core">Maven2 repo</a>), <a href="http://www.jboss.org/community/docs/DOC-12843">docs</a> and the rest are all in their usual places.<br /><br />Enjoy!<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-39167579817987372312009-01-12T14:32:00.002+00:002009-01-12T14:36:15.785+00:00JBoss Cache 3.0.2.CR2 is outI've just released <span style="font-weight: bold;">3.0.2.CR2</span>, possibly the final CR before I cut <span style="font-weight: bold;">3.0.2.GA</span>. 3.0.2.GA will contain a handful of bugfixes on 3.0.1, including:<br /> <ul><li>[ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1447">JBCACHE-1447</a> ] JDBM cache loader remove of the root childeren doesn't clear the data </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1450">JBCACHE-1450</a> ] putForExternalRead() doesn't use a 0 lock acquisition timeout with MVCC </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1452">JBCACHE-1452</a> ] JDBCCacheLoader Doesn't Work With Sybase </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1454">JBCACHE-1454</a> ] Memory leak in CacheStoreInterceptor </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1455">JBCACHE-1455</a> ] Rollback corrupts nodes loaded from cache loader </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1456">JBCACHE-1456</a> ] The root node starts with "children loaded" flag </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1457">JBCACHE-1457</a> ] TcpCacheServer: Listening thread should attempt recovery </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1459">JBCACHE-1459</a> ] FastCopyHashMaps misbehave when serialized and then deserialized </li><li> [ <a href="https://jira.jboss.org/jira/browse/JBCACHE-1460">JBCACHE-1460</a> ] Inefficient remove() in JDBCCacheLoader </li></ul>Please download this, give it a try and provide as much feedback as possible. Downloads are in the <a href="http://www.jboss.org/community/docs/DOC-12844">usual place</a>.<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-57220182073410548462009-01-04T22:33:00.004+00:002009-01-05T12:03:30.989+00:00A New Year's present from JBCSHey guys,<br /><br />Been quite a while since my last blog but here's an important one. If you thought that you couldn't get enough presents from Santa or you're loving the January sales, well it's getting better now. JBoss Cache Searchable has just got its first GA.<br /><br />I just want to specify now that you have to pass in your class array when creating your searchable cache. Otherwise it breaks due to changes made in Hibernate Search 3.1.0.Beta and GA.<br /><br />Apart from that, nothing different externally - go out and download it from <a href="http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=102339">sourceforge</a> and tell us all about it on the <a href="http://www.jboss.com/index.html?module=bb&op=viewforum&f=286">forums</a>. If you need to, have a look at the <a href="http://www.jboss.org/community/docs/DOC-10286">wiki</a> or the <a href="http://www.jboss.org/community/docs/DOC-12843">API</a> documentation.<br /><br />I know that several people are keen to know about a searchable-pojo cache. A quick update is that I'm working on that and should have a release out soon. I will keep you posted, so watch this space.<br /><br />Thanks and happy new year!<br />Navin.Navin Surtanihttp://www.blogger.com/profile/17311355002987819058noreply@blogger.com1tag:blogger.com,1999:blog-2526530296860697225.post-2445138908679128702008-12-19T16:04:00.003+00:002008-12-19T17:30:01.140+00:00Another micro release on 3.xI've just released 3.0.2.CR1, and hopefully if nothing else crops up, 3.0.2.GA before the end of the year.<br /><br />This release fixes 4 bugs, reported on 3.0.1.GA released a short while ago. Details of the bugs are <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313069&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">here</a>.<br /><br />Please <a href="http://www.jboss.org/community/docs/DOC-12844">download</a> and try out this CR, and provide adequate feedback on the <a href="http://www.jboss.com/index.html?module=bb&op=viewforum&f=157">user forums</a> prior to my releasing a GA.<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-34050188565150415312008-11-28T13:15:00.003+00:002008-11-28T13:24:55.030+00:00New micro release on JBoss Cache NagaWe've just released JBoss Cache 3.0.1.GA. This contains a few bug fixes and performance enhancements over 3.0.0, and is particularly relevant to you if you use asynchronous replication<span style="font-style: italic;"> together with </span>buddy replication<span style="font-style: italic;">. </span>It is also relevant if you use passivation, or JMX reporting on Websphere or WebLogic.<br /><br />For a list of the JIRAs fixed in this release, please click <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12313000&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">here</a>.<br /><br />This release can be downloaded <a href="http://www.jboss.org/community/docs/DOC-12844">here</a>, documentation <a href="http://www.jboss.org/community/docs/DOC-12843">here</a>, please discuss this release on <a href="http://www.jboss.com/index.html?module=bb&op=main&c=29">the user forums</a>.<br /><br />Thanks to Dominik Pospisil and Brian Stansberry for helping with this.<br /><br />Cheers & Enjoy!<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-58076987795878083532008-11-19T21:14:00.002+00:002008-11-19T21:19:42.858+00:00JBoss Cache 3.0.0 goes GAThis much awaited release is finally in GA, in both <span style="font-style: italic;">core</span> and <span style="font-style: italic;">POJO</span> editions. <br /><br />Downloads are <a href="http://www.jboss.org/community/docs/DOC-12844">here</a>, online documentation is <a href="http://www.jboss.org/community/docs/DOC-12843">here</a>, the extensive JIRA changelog is <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12310097&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">here for core</a> and <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12311709&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=12310470&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">here for POJO</a>, and finally the user forums are <a href="http://www.jboss.com/index.html?module=bb&op=main&c=29">here</a>.<br /><br />There are a lot of folk to thank for this release, in no particular order, Mircea Markus, Jason Greene, Dominik Pospisil, Brian Stansberry and Elias Ross.<br /><br />Have fun!<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com1tag:blogger.com,1999:blog-2526530296860697225.post-67612464615199496892008-11-03T18:06:00.001+00:002008-11-03T18:08:04.410+00:00Yet another CRYes, I know I promised 3.0.0.CR2 would be the last CR before going GA, but ...<br /><br />I've just cut 3.0.0.CR3 with some minor fixes. Please check it out, test it as much as you can internally, and watch this space for a GA in the coming weeks. Everything is in their usual place.<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-4110849528122692822008-10-23T18:44:00.016+01:002008-10-24T02:10:07.681+01:00Final CR for Naga - with more benchmarksSo I've decided to cut another CR on 3.0.0. I wasn't originally planning on it and this would have gone gold save for the fact that a few important JIRAs did get in, which have pretty significant impact on performance (going northwards, of course - <a href="https://jira.jboss.org/jira/browse/JBCACHE-1419">JBCACHE-1419</a> is notable, which contributed to a huge performance boost on async replication).<br /><br />Anyway, to cut a long story short, download this final CR <a href="http://www.jboss.org/community/docs/DOC-12844">here</a>, provide feedback <a href="http://www.jboss.com/index.html?module=bb&op=viewforum&f=157">here</a>. Changelog is in <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312862&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">JIRA</a>, and all-new documentation <a href="http://www.jboss.org/community/docs/DOC-12843">is also available</a> at last. If all goes well, I hope to cut a GA towards the end of next week, so I would appreciate as much feedback as possible - both on the release, as well as the documentation, tutorials, sample configs, etc.<br /><br />And now for the fun stuff - I've finally found the time to put together some replicated benchmarks, to go with <a href="http://jbosscache.blogspot.com/2008/09/naga-beta1-ready-to-rock-and-roll.html">the standalone benchmarks</a> I published a while back.<br /><br /><span style="font-weight: bold;">Kit used</span><br /><br />The benchmarks were run on Red Hat's lab cluster of 8 servers, connected via gigabit ethernet.<ul><li>Quad-CPU Intel Xeon 3GHz servers with 4GB of RAM each</li><li>RHEL 4 x86_64 with kernel version 2.6.9-42.0.10.ELsmp</li><li>SUN JDK 1.5.0_11-b03 (32-bit)</li><li>Benchmarks generated using the <a href="http://www.jboss.org/community/docs/DOC-9241">CacheBenchFramework</a></li><li>A single thread on each server instance, reading 90% of the time and writing 10% of the time</li></ul><span style="font-style: italic;">NB: You can click on the images to download full-sized versions</span><br /><br /><span style="font-weight: bold;">Benchmark 1: Comparing 2.2.0 "Poblano" and 3.0.0 "Naga" (synchronous replication)</span><br /><br />This benchmark compares 2.2.0.GA with 3.0.0.CR2, using synchronous replication and pessimistic locking (Poblano) and MVCC (Naga).<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjThKfnrdlov6FPhUQQFqTTs8Vg0FR1qh7JdZ9iPUfPZK4f76oui_uAqEc4SfOY4XAn3Kj_GaBsiciEjMe_ZG6Ly1XP6nk8sbYexeCxVAu_nVDnutJtqQcPrR6EHO0Ltw0Kx4BN0278yV4/s1600-h/1-chart-averageThroughput.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjThKfnrdlov6FPhUQQFqTTs8Vg0FR1qh7JdZ9iPUfPZK4f76oui_uAqEc4SfOY4XAn3Kj_GaBsiciEjMe_ZG6Ly1XP6nk8sbYexeCxVAu_nVDnutJtqQcPrR6EHO0Ltw0Kx4BN0278yV4/s400/1-chart-averageThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260516148705233058" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCQbWmTj3l_J3lLT7pLhMgaISUVEG8jZCPIzG9UOGw7A0xIzZm1_Y6fiWXYkJUhRKAvpV6GNyGvlxUheXGESwN3rLkHphrO_u1h-t93hgbNTTCMKAEcP83tfgdpsRzGK8B5D47UFf-XHQ/s1600-h/1-chart-totalThroughput.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCQbWmTj3l_J3lLT7pLhMgaISUVEG8jZCPIzG9UOGw7A0xIzZm1_Y6fiWXYkJUhRKAvpV6GNyGvlxUheXGESwN3rLkHphrO_u1h-t93hgbNTTCMKAEcP83tfgdpsRzGK8B5D47UFf-XHQ/s400/1-chart-totalThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260516148783516386" border="0" /></a><br />The performance gain is between 10 and 20% for synchronous replication, and a pretty consistent 20% when using buddy replication. A large part of this is MVCC locking, but also other improvements in the code base play a part, including more efficient marshalling.<br /><br />The total aggregate throughput chart shows that buddy replication (still) scales almost linearly. Increasing cluster size directly benefits the overall throughput the entire cluster can handle.<br /><span style="font-weight: bold;"><br />Benchmark 2: Comparing 2.2.0 "Poblano" and 3.0.0 "Naga" (asynchronous replication)</span><br /><br />This had to be a separate benchmark from the synchronous one since the throughput is so much higher than sync replication it made a combined charts unreadable!<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSoIre6qPp3ycjrl7WvLmYUKLodUe4xyu_ddSQjsTpy5MFPnG_cpnPnlMghmKiLaMmBuc2Pqtgf1qEFn4hTGR5v7ZtSt-Ux9oeG32a-0P7v8FlbvTbyVa_W1Ca8wQ1CK_CqnYuys6F8I4/s1600-h/2-chart-averageThroughput.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSoIre6qPp3ycjrl7WvLmYUKLodUe4xyu_ddSQjsTpy5MFPnG_cpnPnlMghmKiLaMmBuc2Pqtgf1qEFn4hTGR5v7ZtSt-Ux9oeG32a-0P7v8FlbvTbyVa_W1Ca8wQ1CK_CqnYuys6F8I4/s400/2-chart-averageThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260516155220446834" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMrFom-b_tRjEK-cRv_I70jWm1zaJWKRa5JFKHZJclhtPzCbrjNwq7IhuhR2cLZTDU1Fll71HfATkhbRoyhIUiSjvoEsQDAL5tnchY3c3AblxtHmJVxAdqm7las05nmpYrv7hy9o51PRE/s1600-h/2-chart-totalThroughput.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMrFom-b_tRjEK-cRv_I70jWm1zaJWKRa5JFKHZJclhtPzCbrjNwq7IhuhR2cLZTDU1Fll71HfATkhbRoyhIUiSjvoEsQDAL5tnchY3c3AblxtHmJVxAdqm7las05nmpYrv7hy9o51PRE/s400/2-chart-totalThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260516158487551778" border="0" /></a><a href="https://jira.jboss.org/jira/browse/JBCACHE-1419">JBCACHE-1419</a> is the main contributor to the phenomenal performance gains in async replication in Naga<a href="https://jira.jboss.org/jira/browse/JBCACHE-1419"></a>. For folks who use JBoss Cache with async replication, I <span style="font-weight: bold; font-style: italic;">strongly</span> encourage you to give Naga a try! :-)<br /><br /><span style="font-weight: bold;">Benchmark 3: Competitive analysis<br /></span><span><br />This is something a lot of people have been asking me for. For this benchmark, I've pitted <span style="font-weight: bold;">JBoss Cache 3.0.0.CR2</span> against <span style="font-weight: bold;">EHCache 1.5.0</span>, <span style="font-weight: bold;">Terracotta 2.5.0</span> and a popular commercial, closed-source distributed cache which will have to remain unnamed. I've called this <span style="font-weight: bold;">Cache X</span> in my charts.</span><span> I've used synchronous replication throughout since this is all that Cache X supported.<br /></span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYwQwusjhSJ7DJUYm0Ua5f2_2ZhWBryzD07osZkT9PikfNF71c5oKheQGjW7n3fGhLMqBAOtWdemjunSeuLK_wz6vci9YSISF8WZWgwV3WUSJeJvA60ZOKznPixT_0KLvSKjD6Ldrh2Fc/s1600-h/3-chart-averageThroughput.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYwQwusjhSJ7DJUYm0Ua5f2_2ZhWBryzD07osZkT9PikfNF71c5oKheQGjW7n3fGhLMqBAOtWdemjunSeuLK_wz6vci9YSISF8WZWgwV3WUSJeJvA60ZOKznPixT_0KLvSKjD6Ldrh2Fc/s400/3-chart-averageThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260516165267486930" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4oxDhyFKrs6BF1XY1NlAVgJPzE7g-nF1wlVM9zY9gaHK5VEWJTJ_SwP5Fncvopd2n1EFJ9dQwrMqfeq_Jq3LaXiQQkXu5jHoha8MWef38RuyEvOJUJjrmRPtzxlHy18M-Le4qzHBSf8g/s1600-h/3-chart-totalThroughput.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4oxDhyFKrs6BF1XY1NlAVgJPzE7g-nF1wlVM9zY9gaHK5VEWJTJ_SwP5Fncvopd2n1EFJ9dQwrMqfeq_Jq3LaXiQQkXu5jHoha8MWef38RuyEvOJUJjrmRPtzxlHy18M-Le4qzHBSf8g/s400/3-chart-totalThroughput.png" alt="" id="BLOGGER_PHOTO_ID_5260517888294056034" border="0" /></a>B<span>oth EHCache and Cache X slightly outperforms Naga on a 2-node cluster (not so slightly with EHCache), but these quickly fall behind as the cluster size increases, particularly in the case of EHCache. This is also reflected in the overall throughput chart. Buddy replication still shows linear scalability.<br /><br />All of these benchmarks are reproducible using the cache benchmark framework, but as with all benchmarks, these should be used as a guideline only. Real performance can only be measured in your environment, with your specific use case and data access patterns.</span><br /><span><br />Enjoy!<br />Manik</span><span style="font-weight: bold;"><br /><br /><br /></span>Manik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com8tag:blogger.com,1999:blog-2526530296860697225.post-37027487859655723072008-10-22T10:35:00.004+01:002008-10-22T10:41:56.062+01:00Another day, another GA.2.2.1.GA is out, folks. This micro release adds some serialization/replication (<a href="https://jira.jboss.org/jira/browse/JBCACHE-1382">JBCACHE-1382</a>) and JDBCCacheLoader (<a href="https://jira.jboss.org/jira/browse/JBCACHE-1414">JBCACHE-1414</a>) performance improvements, and fixes a <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312804&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">bunch of bugs</a> reported against 2.2.0.GA.<br /><br />Enjoy, everything (<a href="http://www.jboss.org/community/docs/DOC-12844">downloads</a>, <a href="http://www.jboss.org/community/docs/DOC-12843">docs</a>, <a href="http://www.jboss.com/index.html?module=bb&op=viewforum&f=157">forums</a>, <a href="https://jira.jboss.org/jira/browse/JBCACHE">JIRA</a>) is in their usual place.<br /><br />Cheers<br />Manik<br /><br /><a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312804&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next"> </a>Manik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-69681346678648243952008-10-15T10:15:00.004+01:002008-10-15T10:21:42.959+01:002.2.1.CR2 is outThe 2nd and hopefully last CR on 2.2.1 has just been released. It is on the <a href="http://repository.jboss.org/maven2/org/jboss/cache/jbosscache-core/2.2.0.CR2/">JBoss Maven2 repository</a> and <a href="http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=102339&release_id=633366">SourceForge</a>, as usual. Specifically, <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312830&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">these JIRAs</a> have been addressed between CR1 and CR2.<br /><br />In the meanwhile, I am just about to fly off to Krakow, Poland, to attend the <a href="http://08.jdd.org.pl/">Java Developer Day</a> conference, where I will be presenting <a href="http://08.jdd.org.pl/manik-surtani">on distributed caching</a>. If any of you will be around, looking forward to seeing you there!<br /><br />Cheers<br />ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0tag:blogger.com,1999:blog-2526530296860697225.post-81758106523774017062008-10-03T09:50:00.003+01:002008-10-03T10:34:57.904+01:00Minor release in Poblano - 2.2.1.CR1I've just cut 2.2.1.CR1, an evolution of 2.2.0.GA containing a few fixes around transactions and marshalling, and performance improvements in the JDBCCacheLoader. See this <a href="https://jira.jboss.org/jira/secure/ConfigureReport.jspa?versions=12312803&sections=.1.7.2.4.10.9.8.3.12.11.5&style=none&selectedProjectId=10051&reportKey=pl.net.mamut%3Areleasenotes&Next=Next">changelog</a> for details.<br /><br />Downloads, etc. all in their usual places, enjoy!<br /><br />- ManikManik Surtanihttp://www.blogger.com/profile/09780985868877754056noreply@blogger.com0