Red Hat

In Relation To Events

In Relation To Events

London: Meet an Open Source Project

Posted by    |       |    Tagged as Events Hibernate Search Java EE

Tomorrow the London Java Community (LJC) meets for the monthly Meet a Project night. I'll be there again, this time to explain how to get started contributing to Hibernate Search and answer all the questions you might have about the mysterious world of open source professionals.

Contributing to Hibernate

I don't expect to need to explain what Hibernate Search is to the readers of this blog, but to clarify what it means in terms of CV and career opportunities, you get to learn and contribute to two very popular open source projects in one shot: Apache Lucene and Hibernate. Technically it's maintained under the Hibernate umbrella but you get very close to Lucene/Solr as well. And there are other cool projects being presented too: we do quick round-tables, so you'll get to talk face to face with many developers.

Free as in Beer

Anyone is welcome and Red Hat kindly sponsors with some refreshments, so you have an excuse to come and say hi even if you think you're not going to contribute any code: your suggestions and complaints over a drink are very welcome too. Free as in Beer is getting a new meaning:-)

Where and When

To register and find more details look at the Meetup event page.

We're in Boston for JUDCon and Red Hat Summit; Emmanuel is on stage coding live a nice new demo using Hibernate Search to combine full-text with geographic filtering. It will be contributed to JDF quickstarts but you can already get the sources.

He's using Hibernate Search 4.3.0.Final!

That's right it's released and available as usual from Sourceforge or via Maven, and will be available in WFK 2.3 with professional support. Let's recap what is most interesting in this release:

Improved JGroups support

The JGroups backend was refactored and also introduced an option to use it as a synchronous backend.

Modules created for JBoss EAP or WildFly

It is now possible to not include the Hibernate Search jars in your application but add it as a set of Modules to the application server. Details for this deployment can be found in the new chapter in the reference documentation. Of course you can still include the jars in your applications if you prefer that.

Very significant performance improvements in the Near-Real-Time backend

While fixing a bug in the NRT backend we also found an opportunity for a great performance improvement. I posted some figures on a previous blog post.

Spatial improved

The API was made more consistent, the documentation got some love: no big highlights but we got some nice polishing all around.

Updated components

All dependencies where updated; in particular we took care to be compatible with latest JBoss EAP 6.1 release and its associated versions of Infinispan and JGroups.

The complete list of changes can be found on the JIRA release notes.

Get in touch

  • on the forums or on the mailing list, or join us for a chat on IRC
  • the issue tracker is JIRA and all code is on GitHub
  • send us an email or a tweet to let us know what cool things you're doing with it!

What's next?

Patches for Hibernate Search 4.4 have been merged already, an partially on 5.0 which is finally going to support Lucene 4. More details are shared on The Roadmap.

If you travel in the JBoss universe you should be aware that Red Hat Summit and JUDCon are taking place in Boston between June 10th and June 14th. If you want to meet the persons behind the code, that's a pretty good deal.

Sanne, Emmanuel (that's me), Gavin and Stef are going to give various talks on various Hibernate projects and on Ceylon.

Ceylon workshop

Monday June 10th at JUDCon, Stef, Gavin and I are doing a full day workshop on Ceylon. Come with your laptop and code with us. More info.

Hibernate Search live coding

Tuesday June 11th at JUDCon I will be adding full-text search, faceting and geolocation queries to an application live. I am working hard on this code and not at all on my slides, this should be quite interesting. It is based of the famous TicketMonster app. More info.

Hibernate and Infinispan / JBoss Data Grid

At Red Hat Summit Thursday June 13th, Sanne will talk about the use cases that really benefit from mixing Infinispan / JBoss Data Grid with the Hibernate suite of projects (Hibernate ORM, Hibernate Search and Hibernate OGM). You will see the big work we did to make 1+1=3 with these projects. More info.

Hibernate State of the Union

At Red Hat Summit Wednesday June 12th, I will be giving an overview of what's new in the Hibernate sphere (ORM, Search, OGM, Envers, Validator). A good one to keep your knowledge fresh or if you believe that Hibernate is a JPA compliant ORM and that's it :) More info.

Anyways, feel free to ping us if you are there, we accept chats as long as there is beer, whisky or any kind of good technical content :)

Slides from Bean Validation talk available

Posted by    |       |    Tagged as Bean Validation Events

Recently I had the chance to give a talk on Bean Validation 1.1 at Berlin Expert Days (BED-Con), a nice mid-sized conference (2 days, 500 attendees) hosted at Freie Universität in Berlin. As in the last years, BED-Con was a great experience with awesome people and many insightful talks in the fields of Java EE, NoSQL, Continuous Delivery etc. I really can recommend this event which is planned to take place next year again.

My talk on Bean Validation went very well and I got lots of questions on the new functionality. In particular the possibility to use constraints on method parameters and return values (method validation) seems to be a helpful feature for many. You can find my slides which discuss the new features on the conference web site (in German, though).

I also used the opportunity to listen to some talks around client side web applications using HTML 5 and REST. There's a lot of activity going on in this field right now, and it appears like a new framework is released every day.

An interesting question to me is how Bean Validation as Java based technology fits into this picture. Bean Validation provides an API for retrieving constraint meta-data from models which could be used to perform a client-side validation of data entered by the user. It would surely be interesting to see how this could be leveraged to expose constraint meta-data e.g. via a REST service and use it on the client with frameworks such as AngularJS. Maybe this is even done by some frameworks already?

Past week I returned from my trip to Bengaluru, where we had one of our great developers conferences.

JUDCon India 2013

As always at these events the best part was the people attending: a good mix of new users and experts, but all having in common a very healthy curiosity and not intimidated at all, so proposing a terrific amount of questions, discussions and for my long trip home a lot of things to think about.


I had the honor to present several topics:

  • Hibernate Search: queries for Hibernate and Infinispan
  • Infinispan in 50 minutes
  • Cross data center replication with Infinispan
  • Measuring performance and capacity planning for Data Grids
  • Participating on the JBoss experts panel

The talk about Hibernate Search was a last minute addition: by shuffling the agenda a bit we could insert the additional subject and given the amount of nice feedback I'm happy we did.

The big denormalization problem

An expert Hibernate Search user asked me what would happen when having a domain model connecting User types to Addresses, when you have many Users and the city name changes. He actually knew what would happen, but was looking for alternatives to compensate for the problem; since Lucene requires denormalization, all User instances in the Lucene index need to be updated, triggering a reload of all Users living in the particular city. Yes that might be a problem! But that is not something happening frequently in model schemas right? I stated that in this example, it would take a city to change name! Well that caused a good amount of laugher as Bangalore just changed it's official name to the old traditional Bengaluru.. so since they where using Hibernate Search and this was an unexpected behaviour when the city changed name - having more than 8 million inhabitants - the public registry had some servers working very hard!

Obviously this needed specific testing and possibly better warnings from out part. Such problems are a natural consequence of denormalization and need to be addressed with ad-hoc solutions; in this case I'd suggest using a synonym and register the two names as same in the context of searching by configuring the Synonym support in the used Analyzer: the city name would need a single record change in the database and no reindexing would be needed.

Hibernate OGM

While I'm part of the OGM team, I had no need to talk about OGM as well because there where other speakers on the subject already. I greatly enjoyed listening to the other presentors, Ramya Subash and Shekhar Gulati: they where extremely well prepared and even with the most complex questions there was no need for me to help out.

To all attending and especially all those I've been talking to, thank you so much it was very interesting and I very much appreciate all the feedback. As always feel free to get more questions flowing on our Hibernate forums or Infinispan forum, and you're all welcome to participate more by sending tests or patches.

What can you expect at Devoxx 2012?

Posted by    |       |    Tagged as Ceylon Events

I will be at Devoxx this year again - this starts to look like a pilgrimage ;). But I am particularly excited as I have given it a participating twist: less @OneToMany talks more @Code and @ManyToMany interactions. What can you expect from Devoxx?

Ceylon labs

Monday afternoon 13:30-16:30, I will co-host a Ceylon lab with my fellow Ceylon gang members Stéphane Épardaud and Gavin King.

This is your chance to get your hands on Ceylon. Come with your laptop, we will start with the installation and walk you through your first few Ceylon programs.


Tuesday all day, I will be there for the Hackergarten. Want to contribute to Ceylon, Hibernate Search, Hibernate OGM, Bean Validation? Bring your laptop and we will hack together. Secret tip: the hackergarten is open to all, not only to Devoxx attendees.

Bean Validation update

I will also speak about Bean Validation 1.1 on Thursday morning to give you an update now hat we have been working on and what you could expect soon in this area.

Les Cast Codeurs

Finally, if I'm not dead by then, I will co-host an episode of Les Cast Codeurs podcast Friday morning with my buddies Antonio Goncalves, Vicent Massol and Guillaume Laforge. It's in French and it's awesome.

Big JBoss presence

I hear that this year JBoss is coming en masse. If you are a JBoss technology consumer or contributor, come and talk to us. If you are not a JBoss technology consumer or contributor, what are you waiting for, come and talk to us ;)

JBug Beijing, 26th July

Posted by    |       |    Tagged as Events

Yes, we will have a JBug in Thursday night next week, there will be three topics all relates to EAP 6 and Cloud.

I will talk OGM on that and show how to migrate an existing JPA project to use Infinispan and MongoDB as persistence Store. So, if you're in Beijing that time, welcome drop by.

you can find more details from here, though it is written in Chinese :)

Back from Berlin

Posted by    |       |    Tagged as Events Infinispan

Berlin Buzzwords Barcamp

The main conference was introduced by a barcamp event on Sunday afternoon and night, in a fascinating location!


The barcamp was at c-base, which I initially had mistaken for a creative design company or an underground disco. Kosch, an Infinispan user and contributor, welcomed me with a nice glass of mead and corrected my blind guess: it actually is a massive space ship being built by hackers in the underground of the city. This place pours with hard core hackers culture, staffs 400 members in this huge place, full of self made droids, LDAP-verifying doors, advanced equipment all over up to self made 3d printers, scanners, arcade video games and of course connections to The Matrix.

meetings and discussions

There were a lot of people from the Apache communities, I have been talking almost all the evening with Lucene developers, but also listened to experiences people had with HBase, Cassandra, MongoDB, Solr, ElasticSearch, and of course our very own Hibernate Search, Infinispan and JBoss AS.

A recurring subject was the need to use multiple of these datastores in a better integrated way, mostly it was about integrating {bigdataX} with Lucene.


So this place was packed with NoSQL zealots. You can imagine this strong pack, excited and a bit drunk too. Perfect timing for some members of the SQL standards to show up! They had some reasonable objections to the NoSQL expression, most notably that all these alternative engines would need, could be standardized in the new revision of the specification. The answer from Chris Harris was hilarious: you're missing the point.

The Berlin Buzzwords 2012 conference

The main conference started with many interesting talks, from the keynote from colleague Leslie Hawthorn, but the buzz of the hallway track continued very strongly for me. I've met amazing people and had interesting chats with a lot of users of our technologies. It was easy to meet a lot of known community members, I've been talking with many users I don't remember the name of, but also with Shay Banon (Elastic Search founder), Grant Ingersoll (Chief Scientist at Lucid Imagination, and well known contributor of several Apache projects), Uwe Schindler (Lucene), Robert Muir (Lucene, also Lucid Imagination), Michael Busch (Lucene, at Twitter), Nick Burch (Apache Tika, Alfresco), Christian Moen (Lucene, creator of the awesome Japanese analyzers), Karel Minarik (Ruby client for Elastic Search), Simon Willnauer (Lucene, and conference organizer), Chris Harris (MongoDB), Martijn van Groningen (JOIN implementations on Lucene) and colleagues Mircea Markus (Infinispan) and Lukáš Vlček (, Elastic Search).

Updatable fields for Lucene

Andrzej Bialecki had an amazing talk on the codecs coming in Lucene 4, and explained how fields could be made update-able. There are some patches already but there is still lots of work to do, and he is inviting users to help out: LUCENE-3837.

JOINs in Lucene

Martijn van Groningen is working on JOIN functionality in Lucene, it would be very interesting if someone could experiment with support for it in Hibernate Search: such a feature is highly requested and would be very useful for Hibernate OGM too.

How is Infinispan different than key/value store X?

This was a frequent question people had to me. The main point - besides supporting transactions - is that it focuses on in-memory while still preserving high availability. It's a good idea to use it together with {your favourite other store here} for disk persistence. Why? Our tests just breached the one million operations/sec, and there is still much we can improve...

The people there

The conference was great, as it somehow managed to keep marketing low and keep the spotlight on the developers, the people, and the stuff that really matters. An example of this was that most talks were in 20 minutes slots, forcing speakers to focus very strictly on the juicy aspects and leave everything else out for face to face discussions in the halls. That worked amazingly well for me. I'm glad for all the chats I had with everyone, so thank you all!

Berlin Buzzwords coming soon

I'll be at Berlin Buzzwords 2012, to meet with the awesome community of people interested in scalable search, NoSQL and bigdata in the cloud.

Infinispan Lucene Directory

Of particular interest to Hibernate Search and Infinispan Query users and contributors, I've been given the opportunity to talk about the Infinispan Lucene Directory we built as an extension to the Infinispan project: the capability to store and efficiently replicate Lucene indexes in the Infinispan grid. Of course, this Directory implementation doesn't depend on Hibernate Search or Infinispan Query and can be used to solve the reliable replication problem with Lucene indexes in any other application using Lucene. In fact its development was initially sponsored by Sourcesense to replicate JIRA instances and is now evolving in the Infinispan project as a high performance alternative to the traditional Directory implementations.. for more details come to my talk or come talking to me at any time.

The conference

It's the first time for me to go to Berlin Buzzwords, but I've heard excellent feedback from the past editions so I'm really looking forward it: the program is full of amazing titles, and many interesting speakers and no doubt attendees to talk with.

About other JBoss people going, you might meet Mircea Markus from the Infinispan team and Lukáš Vlček our ElasticSearch expert and the man behind our new

Looking forward to meet you all there!

I recently had the pleasure and attending and presenting at the Greater Indian Developer Summit (GIDS) in Bangalore. I was joined by fellow JBossians Andrew, Bruno, Manik and Mike.

The conference was excellent, I think we all noticed the really high calibre of the attendees - lots of excellent questions throughout the sessions!

On my way home, I stopped off at the London JBUG (kudos to Steve & co for breathing new life into the group!).

I captured both the presentations I did, and they are up on vimeo - check them out if either topic interests you!

back to top