[hibernate-dev] multiple/single JGroups channels in Hibernate Search

Sanne Grinovero sanne at hibernate.org
Wed Mar 21 13:17:00 EDT 2012


Context:
  HSEARCH-1070 JGroups channels need to be shared across multiple backends

I think it makes sense for an Hibernate Search instance to share a
single JGroups channel across multiple backends; there are several
reasons for this:
 - Not having to change configuration details such as different ports per index
 - A Channel is expensive (slow) to start
 - I would very likely want to configure it with a single channel.
 - Sharing channels doesn't prevent us to have different backends,
with different masters on different nodes

My question is, should I still make sure we allow for multiple
different channels? Like configuring a different protocol stack /
network options per index?

I'm not liking that as it makes configuration quite complex and tricky
- especially worthless as I'm not seeing any practical use for it.

There is one (annoying) reason to allow that: backwards compatibility.
It seems since version 4.0 we're dealing with it as one channel per
index - but this wasn't really intended to work like that imho, I'm
considering this a bug rather than an API change, but making it unique
across indexes requires a configuration changes: configuration
property would not be "scoped" under the index name:

< hibernate.search.default.worker.backend.jgroups.configurationString
= "jgroups configuration"
> hibernate.search.services.jgroups.configurationString = "jgroups configuration"

thoughts?

Cheers,
Sanne



More information about the hibernate-dev mailing list