<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DU8AQ34-eip7ImA9WhRaGU4.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874</id><updated>2012-02-22T11:10:42.052-08:00</updated><category term="meetup" /><category term="marshalling" /><category term="documentation" /><category term="s3" /><category term="news" /><category term="websocket" /><category term="lock striping" /><category term="alpha5" /><category term="community" /><category term="maven" /><category term="5.1" /><category term="deadlock detection" /><category term="algorithms" /><category term="5.1.0" /><category term="query" /><category term="atomic maps" /><category term="product" /><category term="roadmap" /><category term="5.1.1" /><category term="jsr" /><category term="alpha marshalling externalizers" /><category term="ursus" /><category term="EDG" /><category term="testng" /><category term="git" /><category term="daas" /><category term="configuration" /><category term="alpha6" /><category term="map reduce" /><category term="jbossworld" /><category term="video" /><category term="jta" /><category term="performance" /><category term="eclipse" /><category term="aws" /><category term="4.1.0" /><category term="cpu" /><category term="jsr-107" /><category term="future" /><category term="jcp" /><category term="SCM" /><category term="as5" /><category term="jsr 347" /><category term="judcon" /><category term="cache benchmark framework" /><category term="cloud storage" /><category term="keynote" /><category term="jboss logging" /><category term="synchronization" /><category term="graphics" /><category term="jboss cache" /><category term="memory" /><category term="recruit" /><category term="india" /><category term="lock identifier" /><category term="gigaspaces" /><category term="beta1" /><category term="concurrency" /><category term="jazoon conference ogm" /><category term="rehashing" /><category term="beta" /><category term="eviction" /><category term="rest" /><category term="creative" /><category term="data grids" /><category term="pagoa" /><category term="distributed executors" /><category term="interview" /><category term="jpa" /><category term="colocation" /><category term="jboss asylum" /><category term="5.0" /><category term="memcached" /><category term="final" /><category term="asymmetric clusters" /><category term="JBoss world" /><category term="release" /><category term="radargun" /><category term="boston" /><category term="jgroups" /><category term="locking" /><category term="beta2" /><category term="local mode" /><category term="bugfix" /><category term="state transfer" /><category term="podcast" /><category term="second level cache provider" /><category term="jboss as 5" /><category term="asynchronous" /><category term="new member" /><category term="ec2" /><category term="hibernate ogm" /><category term="red hat" /><category term="plugtop" /><category term="virtual nodes" /><category term="jopr" /><category term="github" /><category term="JUGs" /><category term="event" /><category term="websockets" /><category term="youtube" /><category term="benchmarks" /><category term="conference" /><category term="4.0.0" /><category term="demo" /><category term="JavaOne" /><category term="brahma" /><category term="partitioning" /><category term="jclouds" /><category term="infinispan" /><category term="internationalization" /><category term="announcement" /><category term="starobrno" /><category term="cache server" /><category term="transactions" /><category term="python" /><category term="amazon" /><category term="comparison" /><category term="devoxx" /><category term="optimistic transactions" /><category term="hotrod" /><category term="cdi" /><category term="alpha3" /><category term="hibernate search" /><category term="presentations" /><category term="hibernate" /><category term="buddy replication" /><category term="4.2.0" /><category term="wallpaper" /><category term="pessimistic transactions" /><category term="dzone refcard" /><category term="lucene" /><category term="distributed queries" /><category term="syntax highlighting" /><category term="monitoring" /><category term="striding edge" /><category term="jsr 107" /><category term="alpha4" /><category term="API" /><category term="archetype" /><category term="alpha" /><category term="custom commands" /><category term="blogger" /><category term="ehcache" /><category term="data structures" /><category term="Red hat Summit" /><category term="4.2.1" /><category term="index" /><category term="externalizers" /><category term="radegast" /><category term="standards" /><category term="user guide" /><category term="release candidate" /><category term="deadlock" /><category term="distribution" /><category term="data-as-a-service" /><title>Infinispan</title><subtitle type="html">Open Source Data Grids</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://infinispan.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>158</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Infinispan" /><feedburner:info uri="infinispan" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Infinispan</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;DU8AQ384fSp7ImA9WhRaGU4.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-601705504567577513</id><published>2012-02-22T10:46:00.005-08:00</published><updated>2012-02-22T11:10:42.135-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-22T11:10:42.135-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="event" /><category scheme="http://www.blogger.com/atom/ns#" term="radargun" /><category scheme="http://www.blogger.com/atom/ns#" term="infinispan" /><title>Participating at Miralce Open World 2012</title><content type="html">&lt;a href="http://4.bp.blogspot.com/-F7xrX5fDL5E/T0U72AO4x4I/AAAAAAAACEU/16Wxn0mYtCI/s1600/mow.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 192px; height: 145px;" src="http://4.bp.blogspot.com/-F7xrX5fDL5E/T0U72AO4x4I/AAAAAAAACEU/16Wxn0mYtCI/s400/mow.jpg" alt="" id="BLOGGER_PHOTO_ID_5712037501350758274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I'll be presenting at this year's &lt;a href="http://mow2012.dk/"&gt;Miralce Open World&lt;/a&gt; with &lt;a href="http://mow2012.dk/program/measuring-performance-and-capacity-planning-in-java-based-data-grids.aspx"&gt;a talk&lt;/a&gt; on how &lt;a href="http://sourceforge.net/apps/trac/radargun/wiki/WikiStart"&gt;Radargun&lt;/a&gt; is used for measuring Infinispan's performance. I think the topic is interesting for anyone that needs to prototype applications built using in-memory datagrids such as infinispan.&lt;br /&gt;So if you are around and you are interested in this topic, or just want to say hi, then look for the guy with the Infinispan t-shirt (and my name on the badge)!&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Mircea&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-601705504567577513?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/dBi1OhtEvsQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/601705504567577513/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/02/participating-at-miralce-open-world.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/601705504567577513?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/601705504567577513?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/dBi1OhtEvsQ/participating-at-miralce-open-world.html" title="Participating at Miralce Open World 2012" /><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-F7xrX5fDL5E/T0U72AO4x4I/AAAAAAAACEU/16Wxn0mYtCI/s72-c/mow.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/02/participating-at-miralce-open-world.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8ARXs-cCp7ImA9WhRaF0k.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-1323943292648612926</id><published>2012-02-20T06:40:00.000-08:00</published><updated>2012-02-20T06:40:44.558-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-20T06:40:44.558-08:00</app:edited><title>More feedback needed! Remote events coming to Hot Rod</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
With 7 votes already,&amp;nbsp;&lt;a href="https://issues.jboss.org/browse/ISPN-374"&gt;remote event handling&lt;/a&gt; in Hot Rod is &lt;a href="https://issues.jboss.org/browse/ISPN#selectedTab=com.atlassian.jira.plugin.system.project%3Apopularissues-panel"&gt;one of the most demanded features&lt;/a&gt; in Infinispan, and we've just started designing it. You can find out more about the design in &lt;a href="https://community.jboss.org/docs/DOC-17571"&gt;this article&lt;/a&gt; and I've also started a Infinispan Development mailing list discussion in order to &lt;a href="http://lists.jboss.org/pipermail/infinispan-dev/2012-February/010239.html"&gt;open a debate&lt;/a&gt; on this article.&lt;br /&gt;
&lt;br /&gt;
Remember that remote event handling is the key piece that allows &lt;a href="https://www.jboss.org/dms/judcon/presentations/London2011/day1track2session2.pdf"&gt;near-cache like patterns&lt;/a&gt; to be built in Infinispan and we know for a fact that this is one of the most demanded Infinispan patterns. So, if you have an interest in near caches, please provide any feedback you might have on the kind of event subscriptions and notifications you're interested.&lt;br /&gt;
&lt;br /&gt;
To provide feedback, either comment on the &lt;a href="https://community.jboss.org/wiki/DesignOfRemoteEventHandlingInHotRod"&gt;linked article&lt;/a&gt;, or join &lt;a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev"&gt;Infinispan's Development mailing list&lt;/a&gt; and reply to the mail thread.&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
Galder&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-1323943292648612926?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/-wUG5c5flt8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/1323943292648612926/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/02/more-feedback-needed-remote-events.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/1323943292648612926?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/1323943292648612926?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/-wUG5c5flt8/more-feedback-needed-remote-events.html" title="More feedback needed! Remote events coming to Hot Rod" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/02/more-feedback-needed-remote-events.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AGR309eyp7ImA9WhRaEUg.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-8205202437329386057</id><published>2012-02-13T09:40:00.000-08:00</published><updated>2012-02-13T09:55:26.363-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-13T09:55:26.363-08:00</app:edited><title>Cross-datacenter replication: your feedback is needed!</title><content type="html">&lt;a href="http://2.bp.blogspot.com/-vtavRRFtRss/TzlNu6HnFFI/AAAAAAAACCw/0mYCNFQ1MmQ/s1600/needyou.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 222px; height: 228px;" src="http://2.bp.blogspot.com/-vtavRRFtRss/TzlNu6HnFFI/AAAAAAAACCw/0mYCNFQ1MmQ/s400/needyou.jpg" alt="" id="BLOGGER_PHOTO_ID_5708679470939313234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hi,&lt;br /&gt;&lt;br /&gt;Cross datacenter replication has been for a while one of the most requested features in Infinispan. In order to support this as good as possible we are  looking for as many use cases that require this functionality. So if you've ever came to this problem or you think you will, or you simply feel like brainstorming about an interesting failover situation please add your comments &lt;a href="https://community.jboss.org/wiki/CrossDatacenterReplication-Design"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thank you,&lt;br /&gt;Mircea&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-8205202437329386057?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/BxJowPvOEWw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/8205202437329386057/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/02/cross-datacenter-replication-request.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8205202437329386057?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8205202437329386057?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/BxJowPvOEWw/cross-datacenter-replication-request.html" title="Cross-datacenter replication: your feedback is needed!" /><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-vtavRRFtRss/TzlNu6HnFFI/AAAAAAAACCw/0mYCNFQ1MmQ/s72-c/needyou.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/02/cross-datacenter-replication-request.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4NQ3k9cSp7ImA9WhRbEko.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-3622799980045107800</id><published>2012-02-03T04:09:00.000-08:00</published><updated>2012-02-03T04:09:52.769-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-03T04:09:52.769-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.1.1" /><title>Infinispan 5.1.1.FINAL is here!</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
As said earlier this week, based on the feedback we got, we decided to cut a point release in the 5.1 'Brahma' series, and following Tuesday's CR1 release, I'm really please to announce the release of Infinispan 5.1.1.FINAL. If you're using 5.1.0.FINAL or any other pre-releases, I'd strongly recommend that you upgrade to this version.&lt;br /&gt;
&lt;br /&gt;
Full details of what has been fixed can be found &lt;a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310799&amp;amp;version=12318960"&gt;here&lt;/a&gt;, and if you have feedback, please visit our &lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;forums&lt;/a&gt;. Finally,&amp;nbsp;as always, you can download the release from&amp;nbsp;&lt;a href="http://www.jboss.org/infinispan/downloads"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
Galder&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-3622799980045107800?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/cKhjkC4gHV4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/3622799980045107800/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/02/infinispan-511final-is-here.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/3622799980045107800?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/3622799980045107800?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/cKhjkC4gHV4/infinispan-511final-is-here.html" title="Infinispan 5.1.1.FINAL is here!" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/02/infinispan-511final-is-here.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIDRX8_cSp7ImA9WhRbEks.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-2543307971764228616</id><published>2012-01-31T07:01:00.000-08:00</published><updated>2012-02-03T03:29:34.149-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-03T03:29:34.149-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.1.1" /><title>Infinispan 5.1.1.CR1 is out</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Thanks to everyone that downloaded Infinispan 5.1.0.FINAL 'Brahma' in the last week. We've had tremendous feedback from the community and as a result we've decided to do a minor release called 5.1.1.CR1 to &lt;a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310799&amp;amp;version=12318959"&gt;address the most important issues reported&lt;/a&gt;. So, if you're using 5.1.0.FINAL,&amp;nbsp;I'd strongly recommend that you upgrade as soon as possible.&amp;nbsp;We hope to do a FINAL release later on this week.&lt;br /&gt;
&lt;br /&gt;
Please keep the&amp;nbsp;&lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;feedback&lt;/a&gt;&amp;nbsp;coming, and as always, you can download the release from&amp;nbsp;&lt;a href="http://www.jboss.org/infinispan/downloads"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
Galder&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-2543307971764228616?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/AAMTZm9AhOA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/2543307971764228616/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/01/infinispan-511cr1-is-out.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/2543307971764228616?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/2543307971764228616?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/AAMTZm9AhOA/infinispan-511cr1-is-out.html" title="Infinispan 5.1.1.CR1 is out" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/01/infinispan-511cr1-is-out.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cARHg9fyp7ImA9WhRUFkg.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-6248285865035106477</id><published>2012-01-26T07:31:00.001-08:00</published><updated>2012-01-27T02:10:45.667-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-27T02:10:45.667-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="event" /><category scheme="http://www.blogger.com/atom/ns#" term="judcon" /><category scheme="http://www.blogger.com/atom/ns#" term="infinispan" /><title>Manik's take on JUDCon India</title><content type="html">&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;JUDCon has, for the first time ever, spread beyond the western world. &lt;a href="http://www.jboss.org/events/JUDCon/2012/india"&gt;JUDCon India&lt;/a&gt;, held on Tuesday and Wednesday this week, was a roaring success with over 800 passionate community members flocking to the event held in Bangalore, India's answer to California's silicon valley.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;iframe frameborder="0" height="350" marginheight="0" marginwidth="0" scrolling="no" src="http://maps.google.co.uk/maps?hl=en&amp;amp;q=bangalore&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=Bengaluru,+Bengaluru+Rural,+Karnataka,+India&amp;amp;gl=uk&amp;amp;ll=12.971599,77.594563&amp;amp;spn=23.831638,57.084961&amp;amp;t=m&amp;amp;z=5&amp;amp;output=embed" width="425"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;small&gt;&lt;a href="http://maps.google.co.uk/maps?hl=en&amp;amp;q=bangalore&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=Bengaluru,+Bengaluru+Rural,+Karnataka,+India&amp;amp;gl=uk&amp;amp;ll=12.971599,77.594563&amp;amp;spn=23.831638,57.084961&amp;amp;t=m&amp;amp;z=5&amp;amp;source=embed" style="color: blue; text-align: left;"&gt;View Larger Map&lt;/a&gt;&lt;/small&gt;
&lt;br /&gt;
&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;One of the themes was developer productivity and engagement, to help community members get more involved in the projects they care about, to help them succeed in their businesses with JBoss technology.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;JBoss AS 7, NoSQL and platform-as-a-service were a few of the popular themes, and there were no less than 6 talks on infinispan in just two days, presented by myself and &lt;a href="https://community.jboss.org/people/galder.zamarreno"&gt;Galder Zamarreño&lt;/a&gt;. The talks ranged from high level overviews and roadmaps to detailed, hands-on hacking sessions, as well as presenting thoughts and ideas for future development.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;All in, an excellent community conference, well organised by &lt;a href="http://www.saltmarch.com/"&gt;Saltmarch Media&lt;/a&gt;, and very well received by the community. I for one look forward to another JUDCon in Bangalore in the hopefully not too distant future.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;Cheers&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;Manik&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 13px;"&gt;PS: After writing this, I noticed that Galder has blogged about &lt;a href="http://infinispan.blogspot.com/2012/01/judcon-india-post-mortem.html"&gt;JUDCon India&lt;/a&gt; too!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-6248285865035106477?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/fNHMgD9dt48" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/6248285865035106477/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/01/maniks-take-on-judcon-india.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/6248285865035106477?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/6248285865035106477?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/fNHMgD9dt48/maniks-take-on-judcon-india.html" title="Manik's take on JUDCon India" /><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/01/maniks-take-on-judcon-india.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYASX8yeip7ImA9WhRUGEk.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-9085921837483664099</id><published>2012-01-25T11:40:00.000-08:00</published><updated>2012-01-29T06:09:08.192-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-29T06:09:08.192-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="event" /><category scheme="http://www.blogger.com/atom/ns#" term="judcon" /><category scheme="http://www.blogger.com/atom/ns#" term="infinispan" /><title>JUDCon India post-mortem</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a href="http://www.jboss.org/events/JUDCon/2012/india"&gt;JUDCon India&lt;/a&gt; is finished now and I was hugely impressed with what I saw in the conference. First of all, it was by far the biggest crowd I've seen in a JUDCon event so that's excellent news. The more, the merrier :)&lt;br /&gt;
&lt;br /&gt;
The attendants have been excellent and in general I felt that they were paying more attention than in conferences in other countries. This is partly because hardly any attendant had their laptops open while listening to the presentations. They simply had a notebook and a pen or pencil and they were taking just notes. I wished this would happen more often in other conferences. Hmmm, time to ban laptops in non-interactive presentations?&lt;br /&gt;
&lt;br /&gt;
I ended up doing &lt;a href="http://www.jboss.org/events/JUDCon/2012/india/agenda"&gt;4 presentations&lt;/a&gt;, 3 of them in Infinispan related topics and 1 talking about JBoss Polyglot. Of all, the one that I felt attracted the most attention was the one on near caches. I got a lot of positive feedback from attendants and very interesting questions at the end of the presentation.&lt;br /&gt;
&lt;br /&gt;
In terms of organization, it was impecable. Wifi worked like a treat with around 7 access points, 3/4 of which you could join from any place in the conference. Food was good as well, if you like Indian cooking of course :). As I already said on &lt;a href="http://twitter.com/galderz"&gt;Twitter&lt;/a&gt;, the toilets were... interesting for a westener :).&lt;br /&gt;
&lt;br /&gt;
Finally, I must congratulate the organisers on the method used to motivate attendants to provide feedback on the presentations. To get the JUDCon t-shirt, attendants needed to fill in feedback forms for all presentations they had attended, and once the last presentation had finished, they could go and claim their t-shirt once they'd handed over the feedback forms. I thought this was a fantastic idea to increase the amount of feedback received. So, well done to organisers! Looking forward to reading the feedback now.&lt;br /&gt;
&lt;br /&gt;
Just landed in Delhi and now waiting for my colleague Rado, who's arriving in a later flight from Bangalore. It's time now for a couple of days off and doing a bit of touristy stuff around here. Plenty to see and do in the next few days with the Republic Day military parade, visit the Red Fort, Taj Mahal...etc.&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
Galder&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-9085921837483664099?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/CNR3QtH_nYw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/9085921837483664099/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/01/judcon-india-post-mortem.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/9085921837483664099?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/9085921837483664099?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/CNR3QtH_nYw/judcon-india-post-mortem.html" title="JUDCon India post-mortem" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/01/judcon-india-post-mortem.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MDRXg4eyp7ImA9WhRUFE4.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-665025444535275258</id><published>2012-01-24T10:06:00.000-08:00</published><updated>2012-01-24T10:57:54.633-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-24T10:57:54.633-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><title>Infinispan 5.1.0.FINAL is finally here!!</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;After over 4 months of development, testing, profiling...etc, I'm extremely pleased to announce that Infinispan 5.1.0.FINAL 'Brahma' is out now! It comes with some very important brand new features such as:&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="http://infinispan.blogspot.com/2011/10/transaction-remake-in-infinispan-51.html"&gt;O&lt;/a&gt;&lt;a href="http://infinispan.blogspot.com/2011/10/transaction-remake-in-infinispan-51.html"&gt;ptimistic vs pessimistic locking separation&lt;/a&gt;, &lt;a href="http://infinispan.blogspot.com/2011/11/more-locking-improvements-in-infinispan.html"&gt;single node locking&lt;/a&gt; and &lt;a href="https://community.jboss.org/wiki/LockReorderingForAvoidingDeadlocks"&gt;lock reordering&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://infinispan.blogspot.com/2011/10/infinispan-510beta2-is-out-and.html"&gt;&lt;span style="color: black;"&gt;A&lt;/span&gt;&lt;/a&gt;&lt;a href="http://infinispan.blogspot.com/2011/10/infinispan-510beta2-is-out-and.html"&gt;symmetric cluster supports&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://infinispan.blogspot.com/2011/10/infinispan-510beta3-is-out-with-atomic.html"&gt;Fine-grained atomic maps&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;We've also implemented a bunch of improvements such as:&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="http://infinispan.blogspot.com/2012/01/configuration-changes-in-infinispan.html"&gt;Move to Stax XML parser and new programmatic configuration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://infinispan.blogspot.com/2011/10/infinispan-510beta3-is-out-with-atomic.html"&gt;Hot Rod protocol 1.1 to provide better support for environments with virtual nodes enabled&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://infinispan.blogspot.com/2011/12/startup-performance.html"&gt;Startup performance&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://infinispan.blogspot.com/2011/09/next-infinispan-510-alpha-hits-streets.html"&gt;Push-based state transfer for replicated caches&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;This has been a huge effort by all the Infinispan community including forum users, which have been giving us tremendous feedback, occasional community contributors and core developers. Thank you very much for all the effort you've put in!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We've build a migration guide for anyone upgrading for 5.0.0.FINAL to 5.1.0.FINAL, so make sure you &lt;a href="https://docs.jboss.org/author/display/ISPN/Upgrading+from+5.0+to+5.1"&gt;read it&lt;/a&gt; if you're upgrading.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As usual, &lt;a href="http://www.jboss.org/infinispan/downloads"&gt;download&lt;/a&gt; the release, provide &lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;feedback&lt;/a&gt;, read through the detailed &lt;a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310799&amp;amp;version=12313470"&gt;changelog&lt;/a&gt;. And check out our &lt;a href="https://docs.jboss.org/author/display/ISPN51/Home"&gt;documentation&lt;/a&gt; for this version too.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;Galder&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-665025444535275258?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/Hs2M-3FwOKk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/665025444535275258/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/01/infinispan-510final-is-finally-here.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/665025444535275258?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/665025444535275258?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/Hs2M-3FwOKk/infinispan-510final-is-finally-here.html" title="Infinispan 5.1.0.FINAL is finally here!!" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/01/infinispan-510final-is-finally-here.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YCSHcyeip7ImA9WhRVGUQ.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-3121762933875891068</id><published>2012-01-19T08:33:00.000-08:00</published><updated>2012-01-19T08:39:29.992-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T08:39:29.992-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="event" /><category scheme="http://www.blogger.com/atom/ns#" term="conference" /><category scheme="http://www.blogger.com/atom/ns#" term="india" /><category scheme="http://www.blogger.com/atom/ns#" term="judcon" /><title>Infinispan coming to India!!!</title><content type="html">Next week Manik and I will be representing the Infinispan contingent at &lt;a href="http://www.jboss.org/events/JUDCon/2012/india"&gt;JUDCon India in Bangalore&lt;/a&gt; and we have plenty to talk about:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Tuesday, 24th January&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://www.jboss.org/events/JUDCon/2012/india/agenda/day1track1.html"&gt;Infinispan: The Path Ahead&lt;/a&gt; - &lt;/b&gt;Manik&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.jboss.org/events/JUDCon/2012/india/agenda/day1track2.html"&gt;&lt;b&gt;Extreme Performance and Scalability with Infinispan Near Caches&lt;/b&gt;&lt;/a&gt; - Galder&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.jboss.org/events/JUDCon/2012/india/agenda/day1track2.html"&gt;&lt;b&gt;Building a Transactional, Scaled Application Using Infinispan and Java EE&lt;/b&gt;&lt;/a&gt; - Galder&lt;/li&gt;
&lt;/ul&gt;
Wednesday, 25th January&lt;br /&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://www.jboss.org/events/JUDCon/2012/india/agenda/day2track2.html"&gt;Technical Deep-dive with Infinispan&lt;/a&gt;&lt;/b&gt; - Manik&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://www.jboss.org/events/JUDCon/2012/india/agenda/day2track2.html"&gt;Eventual Consistency in Infinispan&lt;/a&gt;&lt;/b&gt; - Manik&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://www.jboss.org/events/JUDCon/2012/india/agenda/day2track2.html"&gt;Infinispan In 50 Minutes&lt;/a&gt;&lt;/b&gt; - Galder&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Finally, to top it up, I'll be doing a presentation on &lt;a href="http://www.jboss.org/events/JUDCon/2012/india/agenda/day2track3.html"&gt;JBoss' Polyglot revolution&lt;/a&gt;!&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This is going to be my first visit to India and I'm very excited to be presenting at this conference :). Looking forward to meeting developers, architects and in general, anyone interested in data grids and various NoSQL technologies next week.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Cheers,&lt;/div&gt;
&lt;div&gt;
Galder&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-3121762933875891068?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/X_6ofqer-A4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/3121762933875891068/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/01/infinispan-coming-to-india.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/3121762933875891068?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/3121762933875891068?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/X_6ofqer-A4/infinispan-coming-to-india.html" title="Infinispan coming to India!!!" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/01/infinispan-coming-to-india.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QNRXoyeyp7ImA9WhRVGEU.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-8754876568782814199</id><published>2012-01-17T03:19:00.000-08:00</published><updated>2012-01-18T02:09:54.493-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T02:09:54.493-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="transactions" /><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><title>Infinispan 5.1.0.CR4 is out!</title><content type="html">Over the past week we've been busy profiling Infinispan, in particular we've been trying to maximise the performance of Infinispan transactional caches which received a major overhaul int the 5.1 'Brahma' series, and the result is that instead of going final, we've decided to cut another candidate release, Infinispan 5.1.0.CR4 which is now available for download from the &lt;a href="http://www.jboss.org/infinispan/downloads"&gt;usual place&lt;/a&gt;. We're confident that these improvements will be greatly appreciated by Infinispan consumers such as Hibernate second-level-cache and JBoss Application Server 7 HTTP session replication. &lt;br/&gt;&lt;br/&gt;

As part of the configuration and parser work, new configuration documentation has generated which you can now find in &lt;a href="http://docs.jboss.org/infinispan/5.1/configdocs/"&gt;http://docs.jboss.org/infinispan/5.1/configdocs/&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

As always, give it a spin to this new candidate release and &lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;let us know what you think&lt;/a&gt;. You can find detailed information on the issues fixed in our &lt;a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310799&amp;version=12318854"&gt;release notes&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

Cheers,&lt;br/&gt;
Galder&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-8754876568782814199?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/UILriazAu9g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/8754876568782814199/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/01/infinispan-510cr4-is-out.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8754876568782814199?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8754876568782814199?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/UILriazAu9g/infinispan-510cr4-is-out.html" title="Infinispan 5.1.0.CR4 is out!" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/01/infinispan-510cr4-is-out.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8DSXY7eip7ImA9WhRVFEo.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-8134173116499171982</id><published>2012-01-10T00:57:00.000-08:00</published><updated>2012-01-13T09:14:38.802-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T09:14:38.802-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><title>Last Infinispan 5.1 'Brahma' CR is out!</title><content type="html">First of all, happy new year to all the Infinispan community! &lt;br/&gt;&lt;br/&gt;
The final CR of the Infinispan 5.1 'Brahma' series, called 5.1.0.CR3 is &lt;a href="http://www.jboss.org/infinispan/downloads"&gt;out&lt;/a&gt; with another round of &lt;a href="http://goo.gl/lMyin"&gt;fixes&lt;/a&gt;. This will be the last of the candidate releases and we expect to go final with the release very shortly, so your help now is crucial. If you're using the last of our stable releases, 5.0.1.FINAL, please upgrade to 5.1.0.CR3 and &lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;let us know&lt;/a&gt; if you encounter any issues.&lt;br/&gt;&lt;br/&gt;
Cheers,&lt;br/&gt;
Galder&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-8134173116499171982?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/qShm1Ac7hqM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/8134173116499171982/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/01/last-infinispan-51-brahma-cr-is-out.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8134173116499171982?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8134173116499171982?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/qShm1Ac7hqM/last-infinispan-51-brahma-cr-is-out.html" title="Last Infinispan 5.1 'Brahma' CR is out!" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/01/last-infinispan-51-brahma-cr-is-out.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8MSHs9cSp7ImA9WhRVFEo.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-3322356438090890382</id><published>2012-01-04T09:52:00.000-08:00</published><updated>2012-01-13T09:14:49.569-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T09:14:49.569-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="configuration" /><title>Configuration Changes in Infinispan</title><content type="html">This blog will introduce both Infinispan users, and Infinispan contributors to the new configuration system. First, I'll detail the changes for users, and then for committers.&lt;br/&gt;&lt;br/&gt;
&lt;h2&gt;Users&lt;/h2&gt;&lt;br/&gt;
If you use XML to configure Infinispan, you shouldn't notice any change, except a much faster startup, courtesy of the Stax based parser. However, if you use programmatic configuration, read on for the important differences.&lt;br /&gt;
Configuration is now packaged in &lt;code&gt;org.infinispan.configuration&lt;/code&gt;, and you must use a builder style:
&lt;pre class="java" name="code"&gt;
Configuration c1 = new ConfigurationBuilder()
   // Adjust any configuration defaults you want
   .clustering()
      .l1()
         .disable()
      .mode(DIST_SYNC)
      .hash()
         .numOwners(5)
   .build();
&lt;/pre&gt;
The old bean style configuration is now deprecated and will be removed in a later version.&lt;br /&gt;
Configuration properties which can be safely changed at runtime are mutable, and all others are immutable. &lt;br /&gt;
To copy a configuration, use the &lt;code&gt;read()&lt;/code&gt; method on the builder, for example:
&lt;pre class="java" name="code"&gt;
Configuration c2 = new ConfigurationBuilder()
   // Read in C1 to provide defaults
   .read(c1)
   .clustering()
      .l1()
         .enable()
   // This cache is DIST_SYNC, will have 5 owners, with L1 cache enabled
   .build();
&lt;/pre&gt;
This completely replaces the old system of defining a set of overrides on bean properties. Note that this means the behaviour of Infinispan configuration is somewhat different when used programmatically. Whilst before, you could define a default configuration, and any overrides would be applied on top of *your* defaults when defined, now you must explicitly read in your defaults to the builder. This allows for much greater flexibility in your code (you can have a as many "default" configurations as you want), and makes your code more explicit and type safe (finding references works).&lt;br /&gt;&lt;br/&gt;
The schema is unchanged from before. Infinispan 4.0 configurations are currently not being parsed. Support for these will be added shortly, however a warning message will be printed if they are used. To upgrade, just change the schema definition from:
&lt;pre class="xml" name="code"&gt;
&amp;lt;infinispan
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
     xmlns="urn:infinispan:config:4.1"&amp;gt;
&lt;/pre&gt;
to
&lt;pre class="xml" name="code"&gt;
&amp;lt;infinispan
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="urn:infinispan:config:5.1 http://www.infinispan.org/schemas/infinispan-config-5.1.xsd"
     xmlns="urn:infinispan:config:5.1"&amp;gt;&lt;/pre&gt;
The schema documentation has changed format, as it is now produced using the standard tool x3p. This should be a significant improvement, as better navigation is offered. Some elements and attributes are missing docs right now, we are working on adding this. As an added benefit, your IDE should now show documentation when an xsd referenced (as above)&lt;br /&gt;&lt;br/&gt;
We are in the process of adding in support for this configuration style for modules (such as cache stores). In the meantime, please use the old configuration or XML if you require support for cache store module configuration.&lt;br /&gt;&lt;br/&gt;
&lt;h2&gt;Committers&lt;/h2&gt;&lt;br/&gt;
If you are a committer to Infinispan, you may find the following notes useful. Note that currently we still use the old configuration system internally within Infinispan. This makes things a little complicated. This will be switched out soon! For now, you need to also add your property to the old config system as well as the new.&lt;br /&gt;&lt;br/&gt;
Note, these guides assume you are adding an element to the cache configuration, but apply equally to the global configuration.&lt;br /&gt;&lt;br/&gt;
Before you start adding a configuration property, identify whether you want to add a property to an existing configuration group/element, or whether you need to create a child object. We call the configuration group XXX in the steps below.&lt;br /&gt;&lt;br/&gt;
&lt;h3&gt;Adding a property&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt; Add the property to the relevant &lt;code&gt;XXXConfiguration&lt;/code&gt; class. Add a private final field, add a parameter to the constructor, and assign the value to the field in the constructor body. Add a accessor for the property. If the property should be mutable at runtime, then add a mutator as well. Most configuration properties are not mutable at runtime - if the configuration is runtime mutable, then Infinispan needs to take notice of this update whilst the cache is running (you can't cache the value of the configuration in your implementation class). Mutators and accessors don't use the classic JavaBean pattern of prepending accessors with "get" and mutators with "set". Instead, the name of the property is used for an accessor. A mutator is an overloaded version of the accessor which takes a parameter, the new value.&lt;/li&gt;&lt;br/&gt;
&lt;li&gt;Add the property to the matching &lt;code&gt;XXXConfigurationBuilder&lt;/code&gt;. You'll need to add a mutable field to the class, and initialise it to it's default value in the field declaration. Add a mutator (following the above pattern).&lt;/li&gt;&lt;br/&gt;
&lt;li&gt;The &lt;code&gt;create()&lt;/code&gt; method is called by the parent object in order to instantiate the &lt;code&gt;XXXConfiguration&lt;/code&gt; object from the builder. Therefore, make sure to pass the value of the field in the builder to the &lt;code&gt;XXXConfiguration&lt;/code&gt; object's constructor here. Additionally, if you require a complex default (for example, the value of  a configuration property is defaulted conditionally based on the value of some other configuration property), then this is the place to do this. &lt;/li&gt;&lt;br/&gt;
&lt;li&gt;The &lt;code&gt;validate()&lt;/code&gt; method is called by the parent object to validate the values the user has passed in. This method may also be called directly by user code, should they wish to manually validate a configuration object. You should place any validation logic here related to your configuration property. If you need to "cross-validate" properties (validate the value of your property conditionally upon the value of another property), and the other property is on another builder object, increase the visibility of that other property field to "default", and reference it from this builder, by calling the &lt;code&gt;getBuilder()&lt;/code&gt; method, which will gives you a handle on the root configuration builder.&lt;/li&gt;&lt;br/&gt;
&lt;li&gt;The final step is to add parsing logic to the &lt;code&gt;Parser&lt;/code&gt; class. First, add the attribute to name to the &lt;code&gt;Attribute&lt;/code&gt; enum (this class simply provides a mapping between the non-type-safe name of the attribute in XML and a type-safe reference to use in the parser). Locate the relevant &lt;code&gt;parseXXX()&lt;/code&gt; method on the class, and add a case to the switch statement for the attribute. Call the builder mutator you created above, performing any XML related validation (you are unlikely to need this), and type conversion (using the static methods on the primitive wrapper classes, String class, or relevant enum class).&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Adding a group&lt;/h3&gt;&lt;br/&gt;
In some situations you may additionally want to add a configuration grouping object, represented in XML as an element. You might want to do this if you are adding a new area of functionality to Infinispan. Identify the location of the new configuration grouping object. It might be added to the root &lt;code&gt;Configuration&lt;/code&gt; object, or it might be added to one it's children, children's children. We'll call the parent YYY in the steps below.
&lt;ol&gt;
&lt;li&gt; Create the &lt;code&gt;XXXConfiguration&lt;/code&gt; object. Add any properties required following the guide for adding properties. The constructors visibility should be "default".&lt;/li&gt;&lt;br/&gt;
&lt;li&gt;Create the &lt;code&gt;XXXConfigurationBuilder&lt;/code&gt; object. It should subclass the relevant configuration child builder -- use the &lt;code&gt;YYYConfigurationChildBuilder&lt;/code&gt; as the superclass. This will ensure that all builder methods that allow the user to "escape" are provided correctly (i.e provide access to other grouping elements), and also require you to provide a create() and validate() method. The constructor needs to take the the &lt;code&gt;YYYConfigurationBuilder&lt;/code&gt; as an argument, and pass this to the superclass (this simply allows access to the root of the builder tree using the &lt;code&gt;getBuilder()&lt;/code&gt; method).&lt;/li&gt;&lt;br/&gt;
&lt;li&gt;Follow the property adding guide to add any properties you need to the builder. The &lt;code&gt;create()&lt;/code&gt; method needs to return a new instance of the &lt;code&gt;XXXConfiguration&lt;/code&gt; object. Implement any validation needed in the &lt;code&gt;validate()&lt;/code&gt; method.&lt;/li&gt;&lt;br/&gt;
&lt;li&gt;In the &lt;code&gt;YYYConfiguration&lt;/code&gt; object, add your new configuration class as a private final field, add an accessor, and add initialiser assignment in the constructor&lt;/li&gt;&lt;br/&gt;
&lt;li&gt;In the &lt;code&gt;YYYConfigurationBuilder&lt;/code&gt;, add your new configuration builder as a private final field, and initialise it in the constructor with a new instance. Finally, add an accessor for it following the standard pattern discussed in the guide.&lt;/li&gt;&lt;br/&gt;
&lt;li&gt;In the &lt;code&gt;YYYConfigurationBuilder&lt;/code&gt; ensure that your validate method is called in it's validate method, and that result of the &lt;code&gt;XXXConfiguration&lt;/code&gt; instances' create method is passed to the constructor of &lt;code&gt;YYYConfiguration&lt;/code&gt;&lt;/li&gt;&lt;br/&gt;
&lt;li&gt;Finally, add this to the parser. First, add the element to the &lt;code&gt;Element&lt;/code&gt; class, which provides a type safe representation of the element name in XML. In the &lt;code&gt;Parser&lt;/code&gt; class, add a new &lt;code&gt;parseXXX&lt;/code&gt; method, copying one of the others that most matches your requirements (parse methods either parse elements only - look for &lt;code&gt;ParseUtils,requireNoAttributes()&lt;/code&gt;, attributes only -- look for &lt;code&gt;ParseUtils.requireNoContent()&lt;/code&gt; or a combination of both -- look for an iterator over both elements and attributes). Add any attributes as discussed in the adding a property guide. Finally, wire this in by locating the &lt;code&gt;parseYYY()&lt;/code&gt; method, and adding an element to the switch statement, that calls your new &lt;code&gt;parseXXX()&lt;/code&gt; method.&lt;/li&gt;&lt;br/&gt;
&lt;/ol&gt;
&lt;h3&gt;Bridging to the old configuration&lt;/h3&gt;&lt;br/&gt;
Until we entirely swap out the old configuration you will need to add your property to the old configuration (no need to worry about jaxb mappings though!), and then add some code to the &lt;code&gt;LegacyConfigurationAdaptor&lt;/code&gt; to adapt both ways. It's fairly straightforward, just locate the relevant point in the &lt;code&gt;adapt()&lt;/code&gt; method (near the configuration group you are using) and map from the legacy configuration to the new configuration, or vs versa. You will need to map both ways, in both adapt methods.&lt;br/&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-3322356438090890382?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/PmONN_XUUVg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/3322356438090890382/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2012/01/configuration-changes-in-infinispan.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/3322356438090890382?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/3322356438090890382?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/PmONN_XUUVg/configuration-changes-in-infinispan.html" title="Configuration Changes in Infinispan" /><author><name>Pete Muir</name><uri>http://www.blogger.com/profile/17995266595006410308</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2012/01/configuration-changes-in-infinispan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEBRXw9eCp7ImA9WhRXFkk.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-8773782847170679031</id><published>2011-12-22T08:41:00.000-08:00</published><updated>2011-12-23T03:44:14.260-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-23T03:44:14.260-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="cpu" /><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="benchmarks" /><category scheme="http://www.blogger.com/atom/ns#" term="memory" /><title>Startup performance</title><content type="html">One of the things I've done recently was to benchmark how quickly Infinispan starts up. &amp;nbsp;Specifically looking at LOCAL mode (where you don't have the delays of opening sockets and discovery protocols you see in clustered mode), I wrote up a very simple test to start up 2000 caches in a loop, using the same cache manager.&lt;br /&gt;
&lt;br /&gt;
This is a pretty valid use case, since when used as a non-clustered 2nd level cache in Hibernate, a separate cache instance is created &lt;i&gt;per entity type&lt;/i&gt;, and in the past this has become somewhat of a bottleneck.&lt;br /&gt;
&lt;br /&gt;
In this test, I compared Infinispan 5.0.1.Final, 5.1.0.CR1 and 5.1.0.CR2. &amp;nbsp;5.1.0 is significantly quicker, but I used this test (and subsequent profiling) to commit a couple of interesting changes in 5.1.0.CR2, which has improved things even more - both in terms of CPU performance as well as memory footprint.&lt;br /&gt;
&lt;br /&gt;
Essentially, 5.1.0.CR1 made use of &lt;a href="https://github.com/jbossas/jandex"&gt;Jandex&lt;/a&gt; to perform annotation scanning of internal components at build-time, to prevent expensive reflection calls to determine component dependencies and lifecycle at runtime. &amp;nbsp;5.1.0.CR2 takes this concept a step further - now we don't just cache annotation lookups at build-time, but entire dependency graphs. &amp;nbsp;And determining and ordering of lifecycle methods are done at build-time too, again making startup times significantly quicker while offering a much tighter memory footprint.&lt;br /&gt;
&lt;br /&gt;
Enough talk. &amp;nbsp;Here is &lt;a href="https://github.com/maniksurtani/InfinispanStartupBenchmark"&gt;the test used&lt;/a&gt;, and here are the performance numbers, as per my laptop, a 2010 MacBook Pro with an i5 CPU.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Multiverse:InfinispanStartupBenchmark manik [master]$ ./bench.sh&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;---- Starting benchmark ---&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; Please standby ...&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Using Infinispan 5.0.1.FINAL (JMX enabled? false)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;Created 2000 caches in &lt;span style="color: #cc0000;"&gt;&lt;b&gt;10.9 seconds&lt;/b&gt;&lt;/span&gt; and consumed &lt;span style="color: #cc0000;"&gt;&lt;b&gt;172.32 Mb&lt;/b&gt;&lt;/span&gt; of memory.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Using Infinispan 5.0.1.FINAL (JMX enabled? true)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;Created 2000 caches in &lt;span style="color: #cc0000;"&gt;&lt;b&gt;56.18 seconds&lt;/b&gt;&lt;/span&gt; and consumed &lt;span style="color: #cc0000;"&gt;&lt;b&gt;315.21 Mb&lt;/b&gt;&lt;/span&gt; of memory.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Using Infinispan 5.1.0.CR1 (JMX enabled? false)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;Created 2000 caches in &lt;span style="color: #cc0000;"&gt;&lt;b&gt;7.13 seconds&lt;/b&gt;&lt;/span&gt; and consumed &lt;span style="color: #cc0000;"&gt;&lt;b&gt;157.5 Mb&lt;/b&gt;&lt;/span&gt; of memory.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Using Infinispan 5.1.0.CR1 (JMX enabled? true)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;Created 2000 caches in &lt;span style="color: #cc0000;"&gt;&lt;b&gt;34.9 seconds&lt;/b&gt;&lt;/span&gt; and consumed &lt;span style="color: #cc0000;"&gt;&lt;b&gt;243.33 Mb&lt;/b&gt;&lt;/span&gt; of memory.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Using Infinispan 5.1.0.CR2(JMX enabled? false)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;Created 2000 caches in &lt;span style="color: #38761d;"&gt;&lt;b&gt;3.18 seconds&lt;/b&gt;&lt;/span&gt; and consumed &lt;span style="color: #38761d;"&gt;&lt;b&gt;142.2 Mb&lt;/b&gt;&lt;/span&gt; of memory.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Using Infinispan 5.1.0.CR2(JMX enabled? true)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;Created 2000 caches in &lt;span style="color: #38761d;"&gt;&lt;b&gt;17.62 seconds&lt;/b&gt;&lt;/span&gt; and consumed &lt;span style="color: #38761d;"&gt;&lt;b&gt;176.13 Mb&lt;/b&gt;&lt;/span&gt; of memory.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;A whopping 3.5 times faster, and significantly more memory-efficient especially when enabling JMX reporting. &amp;nbsp;:-)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;Enjoy!&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;Manik&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-8773782847170679031?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/Ok5EV3jxQeA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/8773782847170679031/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/12/startup-performance.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8773782847170679031?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8773782847170679031?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/Ok5EV3jxQeA/startup-performance.html" title="Startup performance" /><author><name>Manik Surtani</name><uri>http://www.blogger.com/profile/09780985868877754056</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://bp0.blogger.com/_ca0W9t-Ryos/SGtvr7Z0B5I/AAAAAAAAABc/12u1oCQPbxI/S220/ME.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/12/startup-performance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIFQHg8cSp7ImA9WhRVF0w.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-6965211698191135082</id><published>2011-12-21T02:05:00.000-08:00</published><updated>2012-01-16T03:15:11.679-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T03:15:11.679-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="custom commands" /><title>Infinispan 5.1.0.CR2 is out in time for Xmas!</title><content type="html">Infinispan '&lt;i&gt;Brahma&lt;/i&gt;' 5.1.0.CR2 is out now with a &lt;a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310799&amp;amp;version=12318627"&gt;load of fixes&lt;/a&gt; and a few internal changes such the move to a StaX based XML parser as opposed to relying on JAXB which did not get in for CR1. The new parser is a lot faster and has less overhead and does not require any changes from a user perspective.&lt;br /&gt;
&lt;br /&gt;
We've also worked on improving startup time by indexing annotation metadata at build time and reading it at runtime.

From a Infinispan user perspective, there's been some changes to how Infinispan is extended, in particular related to &lt;a href="https://docs.jboss.org/author/x/OQFT"&gt;custom command implementations&lt;/a&gt;, where we know use &lt;a href="http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html"&gt;JDK's ServiceLoader&lt;/a&gt; to load them.&lt;br /&gt;
&lt;br /&gt;
As per usual, downloads are in the usual &lt;a href="http://www.jboss.org/infinispan/downloads"&gt;place&lt;/a&gt;, use the &lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;forums&lt;/a&gt; to provide feedback and report any issues.
&lt;br /&gt;
&lt;br /&gt;
Cheers, Merry Christmas and a Happy New Year to all the Infinispan community! :)&lt;br /&gt;
Galder&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-6965211698191135082?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/tUCv_o3leVM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/6965211698191135082/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/12/infinispan-510cr2-is-out-in-time-for.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/6965211698191135082?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/6965211698191135082?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/tUCv_o3leVM/infinispan-510cr2-is-out-in-time-for.html" title="Infinispan 5.1.0.CR2 is out in time for Xmas!" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/12/infinispan-510cr2-is-out-in-time-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIAR3s6cCp7ImA9WhRVF0w.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-8934979290846750090</id><published>2011-12-06T06:22:00.001-08:00</published><updated>2012-01-16T03:15:46.518-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T03:15:46.518-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="cdi" /><title>First Infinispan 5.1.0 'Brahma' candidate release is out!</title><content type="html">We're getting close to releasing Infinispan 5.1 '&lt;i&gt;Brahma&lt;/i&gt;', and today I have the pleasure of announcing the Infinispan 5.1.0.CR1, our first release candidate. So, what's in it?&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Ahead of future eventual consistency support, Infinispan now supports versioned cache entries which means that existing write skew checks on REPEATABLE_READ caches can be done more accurately.&lt;/li&gt;
&lt;li&gt;Support for CDI injection of remote caches! Thanks to excellent work of community contributor Kevin Pollet, you can now inject remote caches as well as embedded caches using CDI. Detailed documentation on how to use is available &lt;a href="https://docs.jboss.org/author/x/BAFZ"&gt;here&lt;/a&gt;. In the mean time, checkout the CDI integration module in the &lt;a href="https://github.com/infinispan/infinispan"&gt;Infinispan source code&lt;/a&gt; for examples.&lt;/li&gt;
&lt;/ul&gt;
Finally, we've introduced considerable new functionality in the previous Infinispan 5.1 alpha/beta releases, and so this first release candidate contains &lt;a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310799&amp;version=12318066"&gt;some important fixes&lt;/a&gt; for the newly introduced functionality, so if you're using any previous alpha/beta releases, please &lt;a href="http://www.jboss.org/infinispan/downloads"&gt;upgrade asap&lt;/a&gt; and provide us some &lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;feedback&lt;/a&gt;!&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Cheers,&lt;/div&gt;
&lt;div&gt;
Galder&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-8934979290846750090?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/_w8gKETo3ik" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/8934979290846750090/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/12/first-infinispan-510-brahma-candidate.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8934979290846750090?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8934979290846750090?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/_w8gKETo3ik/first-infinispan-510-brahma-candidate.html" title="First Infinispan 5.1.0 'Brahma' candidate release is out!" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/12/first-infinispan-510-brahma-candidate.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4MSHkyfyp7ImA9WhRVFEo.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-5611643438510457992</id><published>2011-12-06T05:52:00.001-08:00</published><updated>2012-01-13T09:16:29.797-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T09:16:29.797-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="event" /><title>Infinispan coming to the French Alps!</title><content type="html">&lt;a href="http://www.alpesjug.fr/wp-content/themes/atahualpa/images/logo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.alpesjug.fr/wp-content/themes/atahualpa/images/logo.png" /&gt;&lt;/a&gt;Remember that on the 15th of December, I'll be speaking at the &lt;a href="http://www.alpesjug.fr/"&gt;Alpes JUG&lt;/a&gt;&amp;nbsp;in Grenoble about&amp;nbsp;Infinispan.&amp;nbsp;This is a great opportunity for anyone interested in topics such as data caching and data grids&amp;nbsp;to come and learn about Infinispan and its ecosystem, including&amp;nbsp;Hibernate second level cache, Hibernate OGM...etc.&lt;br /&gt;
&lt;br /&gt;
Looking forward to meeting Emannuel and the rest of the&amp;nbsp;&lt;a href="http://www.alpesjug.fr/"&gt;Alpes JUG&lt;/a&gt;&amp;nbsp;gang :)&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
Galder&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-5611643438510457992?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/3sdqEubaNhI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/5611643438510457992/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/12/infinispan-coming-to-french-alps.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/5611643438510457992?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/5611643438510457992?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/3sdqEubaNhI/infinispan-coming-to-french-alps.html" title="Infinispan coming to the French Alps!" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/12/infinispan-coming-to-french-alps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEER3w5eCp7ImA9WhRVF0w.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-4071980084153489104</id><published>2011-11-25T09:39:00.000-08:00</published><updated>2012-01-16T03:16:46.220-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T03:16:46.220-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="event" /><title>Infinispan @Devoxx</title><content type="html">&lt;a href="http://4.bp.blogspot.com/-EpIJHmxg8B4/Ts_Y1kcgXBI/AAAAAAAACCI/MML0WZcexWM/s1600/devoxx.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 218px; height: 80px;" src="http://4.bp.blogspot.com/-EpIJHmxg8B4/Ts_Y1kcgXBI/AAAAAAAACCI/MML0WZcexWM/s400/devoxx.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5678996069965388818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Compared with the previous editions, this year's Devoxx was not that different: well organised, packed with interesting presentations and full rooms. And plenty of Belgian beer :)&lt;br /&gt;Pete Muir, Sanne Grinovero and myself were also given the chance to speak. And we did take our time with a three hours deep dive into the Infinispan ecosystem, plenty of live demos and good discussions.&lt;br /&gt;If you couldn't make it and you can't wait for the video to be published don't worry, the demo is available online &lt;a href="https://docs.jboss.org/author/x/IYG_/"&gt;here&lt;/a&gt;. Give it a spin and let us know what you think!&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Mircea&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-4071980084153489104?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/NMm2vvyjCJQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/4071980084153489104/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/11/infinispan-devoxx.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/4071980084153489104?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/4071980084153489104?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/NMm2vvyjCJQ/infinispan-devoxx.html" title="Infinispan @Devoxx" /><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-EpIJHmxg8B4/Ts_Y1kcgXBI/AAAAAAAACCI/MML0WZcexWM/s72-c/devoxx.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/11/infinispan-devoxx.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cEQ3w_eSp7ImA9WhRVFEo.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-8720447815938181630</id><published>2011-11-23T08:21:00.000-08:00</published><updated>2012-01-13T09:16:42.241-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T09:16:42.241-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="transactions" /><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="optimistic transactions" /><title>More on transaction performance: use1PcForAutoCommitTransactions</title><content type="html">&lt;h2&gt;What's &lt;i&gt;use1PcForAutoCommitTransactions&lt;/i&gt; all about?&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Don't be scared the name, &lt;i&gt;use1PcForAutoCommitTransactions&lt;/i&gt; is a new feature (5.1.CR1) that does quite a cool thing: increases your transactions's performance.&lt;br /&gt;Let me explain.&lt;br /&gt;Before Infinispan 5.1 you could access the cache both transactional and non-transactional. Naturally the non-transactional access is faster and offers less consistency guarantees.But we don't support mixed access in Infinispan 5.1, so what what's to be done when you need the speed of non-transactional access and you are ready to trade some consistency guarantees for it?&lt;br /&gt;Well here is where &lt;i&gt;use1PcForAutoCommitTransactions&lt;/i&gt; helps you. What is does is forces an induced (&lt;i&gt;autoCommit=true&lt;/i&gt;) transaction to commit in a single phase. So only 1 RPC instead of 2RPCs as in the case of a full 2 Phase Commit (2PC).&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;At what cost?&lt;/h2&gt;&lt;br /&gt;You might end up with inconsistent data if multiple transactions modify the same key concurrently. But if you know that's not the case, or you can live with it then &lt;i&gt;use1PcForAutoCommitTransactions&lt;/i&gt; will help your performance considerably.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;An example&lt;/h2&gt;&lt;br /&gt;Let's say you do a simple put operation outside the scope of a transaction:&lt;br /&gt;&lt;script src="https://gist.github.com/1389417.js"&gt; &lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Now let's see how this would behave if the cache has several different transaction configurations:&lt;br /&gt;&lt;h3&gt;Not using 1PC...&lt;/h3&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1389402.js"&gt; &lt;/script&gt;&lt;br /&gt;The put will happen in two RPCs/steps: a prepare message is sent around and then a commit.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Using 1PC...&lt;/h3&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1389408.js"&gt; &lt;/script&gt;&lt;br /&gt;The put happens in one RPC as the prepare and the commit are merged. Better performance.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Not using autoCommit&lt;/h3&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1389413.js"&gt; &lt;/script&gt;&lt;br /&gt;An exception is thrown, as this is a transactional cache and invocations must happen within the scope of a transaction.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Mircea&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-8720447815938181630?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/lY4NzKQYApU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/8720447815938181630/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/11/more-on-transaction-performance.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8720447815938181630?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8720447815938181630?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/lY4NzKQYApU/more-on-transaction-performance.html" title="More on transaction performance: use1PcForAutoCommitTransactions" /><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/11/more-on-transaction-performance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cAQ3s8fip7ImA9WhRVFEo.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-7558807606468412767</id><published>2011-11-22T00:46:00.001-08:00</published><updated>2012-01-13T09:17:22.576-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T09:17:22.576-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="configuration" /><category scheme="http://www.blogger.com/atom/ns#" term="demo" /><category scheme="http://www.blogger.com/atom/ns#" term="locking" /><title>Infinispan 5.1.0.BETA5 is out!</title><content type="html">Infinispan 5.1.0.BETA5 has just been the released with a few interesting additions and important fixes:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Locks acquired within a transaction are now reordered in order to avoid deadlocks. There's no new configuration required to take advantage of this feature. More information on how lock reordering works can be found &lt;a href="http://community.jboss.org/docs/DOC-16975"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;One of the aims of Infinispan 5.1 'Brahma' series is to move away from JAXB and instead use Stax based XML parsing. Ahead of that, a new configuration API based on builders has been developed. Expect to hear more about it and examples on using the API in the next few days.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Amongst the fixes included in this release, it's worth mentioning:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;The demo paths that were broken in 5.1.0.BETA4 have now been fixed.&lt;/li&gt;
&lt;li&gt;Some of the Infinispan jars in 5.1.0.BETA4 were showing duplicate classes. This was the result of an OSGI bundle generation bug, and so to avoid the issue 5.1.0.BETA5 OSGI bundle generation has been disabled. This functionality will be re-enabled once the issue has been fixed by the Maven Felix plugin.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
As always, please keep the&amp;nbsp;&lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;feedback&lt;/a&gt;&amp;nbsp;coming. You can&amp;nbsp;&lt;a href="http://www.jboss.org/infinispan/downloads"&gt;download&lt;/a&gt;&amp;nbsp;the release from here and you get further details on the issues addressed in the&amp;nbsp;&lt;a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310799&amp;amp;version=12318502"&gt;changelog&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Cheers,&lt;/div&gt;
&lt;div&gt;
Galder&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-7558807606468412767?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/xzojWeKYS1c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/7558807606468412767/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/11/infinispan-510beta5-is-out.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/7558807606468412767?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/7558807606468412767?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/xzojWeKYS1c/infinispan-510beta5-is-out.html" title="Infinispan 5.1.0.BETA5 is out!" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/11/infinispan-510beta5-is-out.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEDSHw7cCp7ImA9WhRVF0w.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-3297865564555485943</id><published>2011-11-11T04:35:00.000-08:00</published><updated>2012-01-16T03:17:59.208-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T03:17:59.208-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="pessimistic transactions" /><category scheme="http://www.blogger.com/atom/ns#" term="transactions" /><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="locking" /><title>Some worth mentioning improvements for pessimistic transactions</title><content type="html">Pessimistic transactions were added in 5.1 and are the "rebranding" of eager transactions from previous Infinispan releases. But besides the re-branding, the code also brought some worth mentioning performance optimisation:&lt;div&gt;&lt;ul&gt;&lt;li&gt;a single RPC happens for acquiring lock on a key, disregarding the number of invocations. So if you call &lt;i&gt;cache.put(k,v) &lt;/i&gt;in a loop, within the scope of the same transaction, there is only one remote call to the owner of &lt;i&gt;k&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;if the key you want to lock/write maps to the local node then no remote locks are acquired. In other words there won't be any RPCs for writing to a key that maps locally. This can be very powerful used in conjunction with the &lt;a href="https://docs.jboss.org/author/x/IwY5"&gt;KeyAffinityService&lt;/a&gt;, as it allows you to control the locality of you keys. &lt;/li&gt;&lt;li&gt;during the two phase commit (2PC), the prepare phase doesn't perform any RPCs: this optimisation is based on the fact locks are already acquired on each write. This means that then number of RPCs during transactions lifespan is reduced with 1.&lt;/li&gt;&lt;li&gt;for some writes to the cache (e..g &lt;i&gt;cache.put(k,v)&lt;/i&gt;) two RPCs were performed: one to acquire the remote lock and one to fetch the previous value. The obvious optimisation in this case was to make a single RPC for both operations - which we do starting with 5.1.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Enjoy!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Mircea&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-3297865564555485943?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/Zoff5T_lItg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/3297865564555485943/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/11/some-worth-mentioning-improvements-for.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/3297865564555485943?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/3297865564555485943?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/Zoff5T_lItg/some-worth-mentioning-improvements-for.html" title="Some worth mentioning improvements for pessimistic transactions" /><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/11/some-worth-mentioning-improvements-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cCQHk8fSp7ImA9WhRVFEo.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-9085832372211986870</id><published>2011-11-10T17:20:00.000-08:00</published><updated>2012-01-13T09:17:41.775-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T09:17:41.775-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="transactions" /><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="locking" /><category scheme="http://www.blogger.com/atom/ns#" term="deadlock detection" /><title>Fewer deadlocks, higher throughput</title><content type="html">Here's the problem: first transaction (&lt;i&gt;T1&lt;/i&gt;) writes to key &lt;span style="font-style:italic;"&gt;a&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;b&lt;/span&gt; in this order. Second transaction (&lt;i&gt;T2&lt;/i&gt;) writes to key &lt;span style="font-weight:bold;"&gt;b&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;a&lt;/span&gt; - again order is relevant. Now with some "right timing" &lt;i&gt;T1&lt;/i&gt; manages to acquire lock on &lt;span&gt;&lt;i&gt;a&lt;/i&gt;&lt;/span&gt; and &lt;i&gt;T2&lt;/i&gt; acquires lock on &lt;span style="font-style:italic;"&gt;b&lt;/span&gt;. And then they wait one for the other to release locks so that they can progress. This is what is called a &lt;span style="font-weight:bold;"&gt;deadlock&lt;/span&gt; and is really bad for your system throughput - but I won't insist on this aspect, as I've mentioned it a lot in my previous posts.&lt;div&gt;&lt;br /&gt;What I want to talk about though is a way to solve this problem. Quit a simple way - just force an order on your transaction writes and you're guaranteed not to deadlock: if both &lt;i&gt;T1&lt;/i&gt; and &lt;i&gt;T2&lt;/i&gt; write to &lt;span style="font-style:italic;"&gt;a&lt;/span&gt; &lt;span style="font-weight:bold;"&gt;then &lt;/span&gt;&lt;span&gt;&lt;i&gt;b (&lt;/i&gt;lexicographical order) there won't be any deadlock. Ever.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;div&gt;But there's a catch. It's not always possible to define this order, simply because you can't or because you don't know all your keys at the very beginning of the transaction.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now here's the good news: Infinispan orders the keys touched in a transaction for you. And it even defines an order so that you won't have to do that. Actually you don't have to anything, not even enable this feature, as it is already enabled for you by default.&lt;/div&gt;&lt;div&gt;Does it sound too good to be true? That's because it's only partially true. That is lock reordering only works if you're using optimistic locking. For pessimistic locking you still have to do it the old way - order your locks (that's of course if you can).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wanna know more about it? Read &lt;a href="http://community.jboss.org/wiki/LockReorderingForAvoidingDeadlocks"&gt;this&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Expect and enjoy this feature in our next release 5.1.0.BETA5.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Stay tunned!&lt;/div&gt;&lt;div&gt;Mircea&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-9085832372211986870?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/hyH5agFsWT8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/9085832372211986870/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/11/fewer-deadlocks-higher-throughput.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/9085832372211986870?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/9085832372211986870?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/hyH5agFsWT8/fewer-deadlocks-higher-throughput.html" title="Fewer deadlocks, higher throughput" /><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/11/fewer-deadlocks-higher-throughput.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQGQn86eCp7ImA9WhRTGEo.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-7886295445675479442</id><published>2011-11-09T12:57:00.000-08:00</published><updated>2011-11-09T14:22:03.110-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T14:22:03.110-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="transactions" /><category scheme="http://www.blogger.com/atom/ns#" term="deadlock" /><category scheme="http://www.blogger.com/atom/ns#" term="radargun" /><category scheme="http://www.blogger.com/atom/ns#" term="locking" /><category scheme="http://www.blogger.com/atom/ns#" term="deadlock detection" /><title>Single lock owner: an important step forward</title><content type="html">The single lock owner is a highly requested Infinispan improvement. The basic idea behind it is that, when writing to a key, locks are no longer acquired on all the nodes that own that key, but only on a single designated node (named "main owner").&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;How does it help me?&lt;/h3&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Short version&lt;/span&gt;: if you use transactions that concurrently write to the same keys, this improvement significantly increases your system' throughput.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Long version&lt;/span&gt;: If you're using Infinispan with transactions that modify the same key(s) concurrently then you can easily end up in a deadlock. A deadlock can also occur if two transaction modify the same key at the same time - which is both inefficient and counter-intuitive. Such a deadlock means that at one transaction(or both) eventually rollback but also the lock on the key is held for the duration of a &lt;span style="font-style:italic;"&gt;lockAquistionTimout&lt;/span&gt; config option (defaults to 10 seconds). These deadlocks reduces the throughput significantly as transactions threads are held inactive during deadlock time. On top of that, other transactions that want to operate on that key are also delayed, potentially resulting in a cascade effect.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What's the added performance penalty?&lt;/h3&gt;&lt;br /&gt;The only encountered performance penalty is during cluster topology changes. At that point the cluster needs to perform some additional computation (no RPC involved) to fail-over the acquired locks from previous to new owners. &lt;br /&gt;Another noticeable aspect is that locks are now being released asynchronously, after the transaction commits. This doesn't add any burden to the transaction duration, but it means that locks are being held slightly longer. That's not something to be concerned about if you're not using transactions that compete for same locks though.&lt;br /&gt;We plan to benchmark this feature using &lt;a href="http://radargun.sourceforge.net/"&gt;Radargun&lt;/a&gt; benchmark tool - we'll report back!&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Want to know more?&lt;/h3&gt;&lt;br /&gt; You can read the &lt;a href="http://community.jboss.org/wiki/SingleNodeLockingModel"&gt;single lock owner design wiki&lt;/a&gt; or/and follow the JIRA &lt;a href="https://issues.jboss.org/browse/ISPN-1137"&gt;JIRA&lt;/a&gt; discussions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-7886295445675479442?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/_3Us5DiEXHk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/7886295445675479442/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/11/single-lock-owner-important-step.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/7886295445675479442?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/7886295445675479442?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/_3Us5DiEXHk/single-lock-owner-important-step.html" title="Single lock owner: an important step forward" /><author><name>Mircea Markus</name><uri>http://www.blogger.com/profile/05770462190019736584</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://2.bp.blogspot.com/_ISQfVF8ALAQ/Sm3S_Le22xI/AAAAAAAABqU/lAI5B7VN5x8/S220/mircea.markus.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/11/single-lock-owner-important-step.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEADSXo_fip7ImA9WhRVF0w.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-8970710709023571162</id><published>2011-11-09T09:57:00.000-08:00</published><updated>2012-01-16T03:19:38.446-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T03:19:38.446-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="locking" /><title>More locking improvements in Infinispan 5.1.0.BETA4</title><content type="html">The latest beta in the Infinispan 5.1 "Brahma" series is out. So, what's in Infinispan 5.1.0.BETA4? Here are the highlights:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;A hugely important lock acquisition improvement has been implemented that results in locks being acquired in only a single node in the cluster. This means that deadlocks as a result of multiple nodes updating the same key are no longer possible. Concurrent updates on a single key will now be queued in the node that 'owns' that key. For more info, please check the &lt;a href="http://community.jboss.org/docs/DOC-16974"&gt;design wiki&lt;/a&gt; and keep an eye on this blog because Mircea Markus, who's the author of this enhancement, will be explaining it in more detail very shortly. Please note that you don't need to make any configuration or code changes to take advantage of this improvement.&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;A bunch of classes and interfaces in the core/ module have been migrated to an api/ and commons/ module in order to reduce the size of the dependencies that the &lt;a href="https://docs.jboss.org/author/x/NgY5"&gt;Hot Rod Java client&lt;/a&gt; had. As a result, there's been a change in the hierarchy of &lt;a href="http://docs.jboss.org/infinispan/5.1/apidocs/org/infinispan/Cache.html"&gt;Cache&lt;/a&gt; and &lt;a href="http://docs.jboss.org/infinispan/5.1/apidocs/org/infinispan/manager/CacheContainer.html"&gt;CacheContainer&lt;/a&gt; classes, with the introduction of &lt;a href="http://docs.jboss.org/infinispan/5.1/apidocs/org/infinispan/BasicCache.html"&gt;BasicCache&lt;/a&gt; and &lt;a href="http://docs.jboss.org/infinispan/5.1/apidocs/org/infinispan/manager/BasicCacheContainer.html"&gt;BasicCacheContainer&lt;/a&gt;, which are parent classes of existing Cache and CacheContainer classes respectively. What's important is that Hot Rod clients must now code againts BasicCache and BasicCacheContainers rather than Cache and CacheContainer. So previous code that was written like this will no longer compile:
&lt;pre class="java" name="code"&gt;
import org.infinispan.Cache;
import org.infinispan.manager.CacheContainer;
import org.infinispan.client.hotrod.RemoteCacheManager;
...
CacheContainer cacheContainer = new RemoteCacheManager();
Cache cache = cacheContainer.getCache();
&lt;/pre&gt;
Instead, if Hot Rod clients want to continue using interfaces higher up the hierarchy from the remote cache/container classes, they'll have to write:
&lt;pre class="java" name="code"&gt;
import org.infinispan.BasicCache;
import org.infinispan.manager.BasicCacheContainer;
import org.infinispan.client.hotrod.RemoteCacheManager;
...
BasicCacheContainer cacheContainer = new RemoteCacheManager();
BasicCache cache = cacheContainer.getCache();
&lt;/pre&gt;
Previous code that interacted against the &lt;a href="http://docs.jboss.org/infinispan/5.1/apidocs/org/infinispan/client/hotrod/RemoteCache.html"&gt;RemoteCache&lt;/a&gt; and &lt;a href="http://docs.jboss.org/infinispan/5.1/apidocs/org/infinispan/client/hotrod/RemoteCacheManager.html"&gt;RemoteCacheManager&lt;/a&gt; should work as it used to:
&lt;pre class="java" name="code"&gt;
import org.infinispan.client.hotrod.RemoteCache;
import org.infinispan.client.hotrod.RemoteCacheManager;
...
RemoteCacheManager cacheContainer = new RemoteCacheManager();
RemoteCache cache = cacheContainer.getCache();
&lt;/pre&gt;
We apologise for any inconvenience caused, but we think that the Hot Rod clients will hugely benefit from this vastly reducing the number of dependencies they need.
&lt;/li&gt;
&lt;br /&gt;
&lt;li&gt;Finally, a few words about the ZIP distribution file. In BETA4 we've added some cache store implementations that were missing from previous releases, such as the &lt;a href="http://docs.jboss.org/infinispan/5.1/apidocs/org/infinispan/loaders/remote/RemoteCacheStore.html"&gt;RemoteCacheStore&lt;/a&gt; that talks to &lt;a href="https://docs.jboss.org/author/x/OgY5"&gt;Hot Rod servers&lt;/a&gt;, and we've added a brand new demo application that implements a near-caching pattern using JMS. Please be aware that this demo is just a simple prototype of how near caches could be built using Infinispan and HornetQ.
&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
As always, please keep the &lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;feedback&lt;/a&gt; coming. You can &lt;a href="http://www.jboss.org/infinispan/downloads"&gt;download&lt;/a&gt; the release from here and you get further details on the issues addressed in the &lt;a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310799&amp;version=12318437"&gt;changelog&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;
Cheers,
&lt;br /&gt;
Galder&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-8970710709023571162?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/B9o5tPtJ7oA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/8970710709023571162/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/11/more-locking-improvements-in-infinispan.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8970710709023571162?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/8970710709023571162?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/B9o5tPtJ7oA/more-locking-improvements-in-infinispan.html" title="More locking improvements in Infinispan 5.1.0.BETA4" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/11/more-locking-improvements-in-infinispan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8HSXc6eyp7ImA9WhRVF0w.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-2421527612611464807</id><published>2011-10-27T07:18:00.000-07:00</published><updated>2012-01-16T03:20:38.913-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T03:20:38.913-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="atomic maps" /><category scheme="http://www.blogger.com/atom/ns#" term="hotrod" /><title>Infinispan 5.1.0.BETA3 is out with Atomic Map and Hot Rod improvements</title><content type="html">I'm very proud to announce yet another beta release in the 5.1 '&lt;i&gt;Brahma&lt;/i&gt;' series. This time is the turn of Infinispan 5.1.0.BETA3 which apart from containing &lt;a href="https://issues.jboss.org/secure/ReleaseNote.jspa?projectId=12310799&amp;amp;version=12318377"&gt;many small fixes&lt;/a&gt;, it comes with two major improvements:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Fine-grained Atomic Maps&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://docs.jboss.org/infinispan/5.1/apidocs/org/infinispan/atomic/AtomicMap.html"&gt;Atomic Maps&lt;/a&gt; are special constructs that users can use to bundle data into the value side of a key/value pair. What's special about them is that when the map changes, only the changes or deltas of that map are transfered, which makes Atomic Maps very efficient from a replication perspective when individual elements are modified.&lt;br /&gt;
&lt;br /&gt;
Up until Infinispan 5.1.0.BETA2, the other interesting characteristic of these Atomic Maps was the fact that Atomic Map locking and isolation happened at the the level of the entire Atomic Map. So, if a single key/value pair in the Atomic Map was modified, the entire map was locked.&lt;br /&gt;
&lt;br /&gt;
Starting with&amp;nbsp;Infinispan 5.1.0.BETA3, thanks to Vladimir Blagojevic, Atomic Maps supporting fine-grained locking are available &lt;a href="http://docs.jboss.org/infinispan/5.1/apidocs/org/infinispan/atomic/AtomicMapLookup.html#getFineGrainedAtomicMap(org.infinispan.Cache, MK)"&gt;as well&lt;/a&gt;. What this means is that an Atomic Map's key/value pairs can be modified in&amp;nbsp;parallel&amp;nbsp;thanks to the ability to lock individual map entries as opposed to the entire map.&lt;br /&gt;
&lt;br /&gt;
This will be particularly handy for heavy Atomic Map users such as &lt;a href="http://www.jboss.org/as7"&gt;JBoss Application Server 7&lt;/a&gt; which uses Atomic Maps for maintaining HTTP sessions, and &lt;a href="http://www.hibernate.org/subprojects/ogm.html"&gt;Hibernate OGM&lt;/a&gt; which decomposes entities into Atomic Maps.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Hot Rod server topology improvements&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
When we originally designed &lt;a href="https://docs.jboss.org/author/x/OoJa"&gt;Hot Rod protocol version 1.0&lt;/a&gt;, we decided that whenever a distributed cache wanted to send information about the topology of the backend servers to the clients, we'd send the hash ids of each of these nodes. At the time, this seemed like a good idea, until virtual nodes were implemented...&lt;br /&gt;
&lt;br /&gt;
With virtual nodes, each physical Hot Rod server can potentially represent tens, hundreds or even thousands of different virtual nodes. If we stuck with the original protocol, that would mean that we'd have to send each virtual node's hash id back to the client. So, for a cluster of 8 nodes, and 1000 virtual nodes, that'd be at least 80kb of hash ids being transfered back to the client, on top of tons of redundant information about a node's host and port, which is very inefficient.&lt;br /&gt;
&lt;br /&gt;
So, after having some discussions, we decided to evolve the &lt;a href="https://docs.jboss.org/author/x/eICQ"&gt;Hot Rod protocol to version 1.1&lt;/a&gt; in order to address this issue. The end result is that now it's the responsibility of the Hot Rod client to generate the hash ids of each of the physical nodes. We do that by sticking to a general formula to generate a Hot Rod server's hash id which both the Hot Rod server and clients can implement.&lt;br /&gt;
&lt;br /&gt;
This improvement has also lead to the significant decrease in memory consumption of the Hot Rod server because it does not need to cache those hash ids anymore.&lt;br /&gt;
&lt;br /&gt;
So, if you are using Infinispan Hot Rod servers and in particular you'are configuring virtual nodes, you definitely should be upgrading your Hot Rod server and client libraries. From a client code perspective, no changes are necessary because starting with&amp;nbsp;5.1.0.BETA3, Hot Rod clients talk to servers using this latest protocol.&lt;br /&gt;
&lt;br /&gt;
Finally, remember to use &lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;user forums&lt;/a&gt; to report back, grab the release &lt;a href="http://www.jboss.org/infinispan/downloads"&gt;here&lt;/a&gt;, enjoy and keep the feedback coming!!&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
Galder&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-2421527612611464807?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/hrPwqqwWmgQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/2421527612611464807/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/10/infinispan-510beta3-is-out-with-atomic.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/2421527612611464807?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/2421527612611464807?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/hrPwqqwWmgQ/infinispan-510beta3-is-out-with-atomic.html" title="Infinispan 5.1.0.BETA3 is out with Atomic Map and Hot Rod improvements" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/10/infinispan-510beta3-is-out-with-atomic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UNRHk9cSp7ImA9WhRVFEo.&quot;"><id>tag:blogger.com,1999:blog-5717179571414330874.post-6693568017456752942</id><published>2011-10-19T00:01:00.000-07:00</published><updated>2012-01-13T09:21:35.769-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T09:21:35.769-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="5.1.0" /><category scheme="http://www.blogger.com/atom/ns#" term="asymmetric clusters" /><title>Infinispan 5.1.0.BETA2 is out and asymmetric clusters are here!</title><content type="html">The latest beta of the 5.1 '&lt;i&gt;Brahma&lt;/i&gt;' series, 5.1.0.BETA2, is out now and thanks to Dan Berindei, it comes with support for asymmetric clusters which has been highly demanded.&lt;br /&gt;&lt;br /&gt;Before asymmetric clusters were supported, it was required that all Infinispan caches that client code interacted against were defined and running in all nodes in the cluster, otherwise, cluster wide messages for a cache that did not exist in a node would fail. So, imagine this scenario where &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;c1&lt;/span&gt; and &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;c2&lt;/span&gt; are user defined caches configured with replication:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Node A [c1]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Node B [c1, c2]&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Without asymmetric clusters, whenever &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;c2&lt;/span&gt; cache was modified in Node B, a replication message would be sent to Node A, but the replication would fail indicating that c2 was not defined in Node A. This failure would get propagated back to Node B which would result in the modification failing. This kind of problems can particularly affect managed environments such as the JBoss Application Server, because often, deployments will be made in a subset of the cluster, so it could well happen that not all nodes have a particular cache started.&lt;br /&gt;&lt;br /&gt;So, what Infinispan 5.1.0.BETA2 '&lt;i&gt;Brahma&lt;/i&gt;' brings is support for this type of scenarios by maintaining a view correlating nodes and started caches, hence allowing any node to know which other nodes have a particular cache started. This means that in the above case, Node B would not have sent a replication message to Node A because it would know that &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;c2&lt;/span&gt; was only started in Node B.&lt;br /&gt;&lt;br /&gt;The lack of support for asymmetric clusters is what forced Infinispan servers to only accept invocations for predefined caches because these predefined could be started when the servers were started, hence avoiding the asymmetric cluster problem. Now that asymmetric clusters are supported, it's likely that this limitation go away, but the timeline is to be defined yet.&lt;br /&gt;&lt;br /&gt;This release also includes a &lt;a href="http://goo.gl/s6apG"&gt;bunch of other fixes&lt;/a&gt; and as always, please use the &lt;a href="http://community.jboss.org/en/infinispan?view=discussions"&gt;user forums&lt;/a&gt; to report back, grab the release &lt;a href="http://www.jboss.org/infinispan/downloads"&gt;here&lt;/a&gt;, enjoy and keep the feedback coming.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Galder&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5717179571414330874-6693568017456752942?l=infinispan.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Infinispan/~4/QwZc-OeyDQw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://infinispan.blogspot.com/feeds/6693568017456752942/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://infinispan.blogspot.com/2011/10/infinispan-510beta2-is-out-and.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/6693568017456752942?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5717179571414330874/posts/default/6693568017456752942?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Infinispan/~3/QwZc-OeyDQw/infinispan-510beta2-is-out-and.html" title="Infinispan 5.1.0.BETA2 is out and asymmetric clusters are here!" /><author><name>Galder Zamarreño</name><uri>http://www.blogger.com/profile/07902530246353017161</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://infinispan.blogspot.com/2011/10/infinispan-510beta2-is-out-and.html</feedburner:origLink></entry></feed>

