Wednesday 28 March 2012

Infinispan 5.1.3.FINAL is here!

Infinispan 5.1.3.FINAL is out now after having received very positive feedback on 5.1.3.CR1 and fixing some other issues on top of that, such as the file cache store leaving files open, improving standalone Infinispan Memcached implementation performance, and including Infinispan CDI extension jars in our distribution.

"Release early, release often", that's out motto, so we'll carry on taking feedback onboard and releasing new Infinispan versions where we improve on what we've done in the past apart from coming out with new goodies.

Thanks to everyone, both users who have been getting in touch to provide their feedback and developers who have been quickly reacting to users fixing issues and implementing requested features.

Full details of what has been fixed in FINAL (including CR1) can be found here, and if you have feedback, please visit our forums. Finally, as always, you can download the release from here.

Cheers,
Galder

Tuesday 27 March 2012

Infinispan coming to Alpes JUG!

I was meant to speak in the Alpes JUG in Grenoble about Infinispan back in December, but due to a health issue, I was unable to attend. This session has now been rescheduled for this coming Thursday, 29th of March. As always, I will be speaking about all thing Infinispan, caching, data grids. Really looking forward to it! :)

Cheers,
Galder

Monday 26 March 2012

Back from Codemotion.it

I've just returned from Codemotion Rome where I delivered a talk on Infinispan. This was my first time presenting Codemotion: a very big conference with lots of young enthusiasts and very interesting presentations. A BIG thanks to the organisers for the excellent job they did and for the opportunity to share so many good ideas!
Cheers,
Mircea

Thursday 22 March 2012

Infinispan 5.1.3.CR1 out now!

The feedback keeps coming, particularly from AS7 users, so we've decided to do another point release in the 5.1 'Brahma' series. Apart from fixing several issues, including a critical L1 cache memory leak in active/passive set ups, this version enables the JBoss Marshaller class resolver to be configured via both the old and new programmatic configuration API. This enables Infinispan to provide a better solution for marshalling/unmarshalling classes in modular environments.

Full details of what has been fixed can be found here, and if you have feedback, please visit our forums. Finally, as always, you can download the release from here.

Cheers,
Galder

Monday 12 March 2012

JDK 8 backported ConcurrentHashMaps in Infinispan

Doug Lea and the folks on the concurrency-interest group have been hard at work on an update of JSR 166 (concurrency utilities) for Java 8 - called JSR 166e.  These include some pretty impressive changes in a building-block we've all come to rely pretty heavily on, the ConcurrentHashMap.

One if the big drawbacks in the ConcurrentHashMap, since it was introduced in Java 5, has always been memory footprint.  It is kinda bulky, especially when compared to a regular HashMap - 1.6 kb in memory versus about 100 bytes!  Yes, these are for empty maps.

In Java 8, one of the improvements in the ConcurrentHashMap has been memory footprint - now closer to a regular HashMap.  In addition to that, the new Java 8 CHM performs better under concurrent load when compared to its original form.  See this discussion and comments in the proposed ConcurrentHashMapV8 sources for more details.

So, Infinispan makes pretty heavy use of ConcurrentHashMaps internally.  One change in the recently released Infinispan 5.1.2.Final is these internal CHMs are built using a factory, and we've included a version of the Java 8 CHM in Infinispan.  So by default, Infinispan uses the JDK's provided CHM.  But if you wish to force Infinispan to use the backported Java 8 CHM, all you need to do is include the following JVM parameter when you start Infinispan:

-Dinfinispan.unsafe.allow_jdk8_chm=true


We'd love to hear what you have to say about this, in terms of memory footprint, garbage collection and overall performance.  Please use the Infinispan user forums to provide your feedback.

Thanks
Manik

Tuesday 6 March 2012

33Degrees

In addition to my currently ongoing tour of user groups in North America, I will be presenting on Infinispan at 33Degrees in Krakow, Poland. In addition to my talking on data grids, I will also run a NoSQL BOF at 33 degrees so if you have an interest in NoSQL, big data, analytics, search or, well, storage in general, and will be at 33Degrees, do come by. :)

 Cheers Manik

A presentation from hell: when nothing else could possibly go wrong

As a seasoned public speaker, I don't easily get flustered by minor glitches that inevitably occur when presenting or doing live code demos.  I expected a recent JUG and JBUG tour of the American mid-west to be no different. I was prepared to speak about JSR 107 and JSR 347, Infinispan, and a wee bit on Hibernate OGM and NoSQL. All subjects I'm pretty familiar with, totalling to about an hour of yacking. Followed by a live coding demo to walk people through Infinispan's core API. Simple.

So where does one start when talking about what went embarrassingly wrong at the Madison Java User Group on the 29th of Feb? Well, I suppose mistaking my iPad VGA connector for the mini displayport to VGA connector for my MacBook when leaving London was a start. Mix in the fact that this realisation only happened in a room full of people, with a few minutes to go before the start of the talk. Nice. Unable to connect my laptop to the projector, I had no choice but to present off my iPad instead. Which was fine, except that ten minutes into my talk, my iPad spuriously decided to shut down. Epic fail. But who needs slides, right?  Not me, for sure - I'm way too cool for that.  So I continued on, unfazed. Now try explaining Eric Brewer's CAP theorem without any visual aids. Fun, right? I tried to use the whiteboard. No pens! The organiser rushed out to find some. And none of them worked! Even old-school technology was failing on me that day.

Then come demo time, I was able to borrow a Linux laptop from Red Hatter Jey Paulraj who was in the audience, and transfer my demo to it. Given that the laptop didn't have the tools needed to actually run the demo, the entire demo consisted of me just walking people through an Infinispan configuration XML file. For half an hour. Suspenseful and thrilling! Well, peppered with anecdotes about the life of an open source developer and several tangents on the architecture of various parts of Infinispan, the time did actually fly by (and the audience did seem at least somewhat engaged!)

The clincher, though - I had a PDF containing URLs where people could download the demo, and learn more about the JSRs and Infinispan. Bringing this PDF up on Jey's laptop, still projecting for the benefit of the room, resulted in his PDF viewer crashing. That's when I threw in the towel - any more information from me would require tequila, preferably delivered intravenously!

Now for the moral of the story, don't trust technology. Always be prepared to get your message across with no visual aids whatsoever. Oh, and don't forget your Macbook's VGA adapter. :)

Addendum: I repeated the talk a few times in Milwaukee and Chicago, and everything ran really well - after a quick trip to the local Apple store to replace my VGA adapter!

Addendum 2: I now am on a short break climbing in the Canadian Rockies, but will soon be presenting the same in Washington DC - drop by if you're in the neighbourhood!

Cheers
Manik

Friday 2 March 2012

Infinispan 5.1.2.FINAL is available now!

Infinispan 5.1.2.FINAL is out now with a handful of issues fixed that did not make the previous 5.1.2.CR1. The default JGroups configuration files shipped by Infinispan have been tweaked to help with state transfer and the GUI demo should now work in the binaries-only distribution as well.

Full details of what has been fixed can be found here, and if you have feedback, please visit our forums. Finally, as always, you can download the release from here.

Cheers,
Galder