lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hoss Man (JIRA)" <>
Subject [jira] Updated: (SOLR-1841) Unregistering of Searcher MBean doesn't work in Websphere
Date Mon, 10 May 2010 21:52:31 GMT


Hoss Man updated SOLR-1841:

    Attachment: SOLR-1841.patch

Updated patch to work against trunk ... also tweaked the variable naming convention -- using
"serverName" to refer to "object name used by the server" wsa confusing to me, so i switched
it to a simpler "altName" convention.

Patrick: thanks for bringing this up ... i had no idea an MBeanServer was allowed to use a
differnet ObjectName then the one specified.  (strictly speaking: i'm not sure if it is/isn't
legal under the spec, but the Java API certianly seems to leave the possibly open, and as
you say: Websphere seems to do this)

My only concern with this patch is that i think this new new Map<ObjectName, ObjectName>
increases the thread un-safety of JmxMonitoredMap ... from what i can tell, it has never really
ben very thread safe if two threads attempted to "put" with the same name concurrently --
but i believe the worst case scenario currently is that you get an exception (either from
server.unregister because the other thread already unregistered the previous instance, or
from server.register because the other thread already registered a different MBean with that
name).  But with your patch, now (i thin) a new possibility will arise: that put() will exit
"successfully", but with an ObjectName=>ObjectName recordd that doesn't corrispond with
the bean mapping in the server -- which will make any subsequent put or unregister calls behave
very oddly.

(i'm not 100% certain, but i think that's possible)

> Unregistering of Searcher MBean doesn't work in Websphere
> ---------------------------------------------------------
>                 Key: SOLR-1841
>                 URL:
>             Project: Solr
>          Issue Type: Bug
>         Environment: Websphere Application Server 6.1
>            Reporter: Patrik Nordebo
>            Priority: Minor
>         Attachments: patch, SOLR-1841.patch
> On a Websphere cluster, all MBeans registered in the default MBean server get renamed
on registration (it adds properties based on which node and cell in the Websphere cluster
the process was running).  This means that when Solr tries to unregister an MBean (e.g. an
old searcher), the old MBean is never removed.  In the case of a rebind the binding of the
new MBean fails because it tries to register a name that is already taken.
> To get around this the name the mbean gets assigned must be stored somewhere where it
can be looked up when we need to remove the binding.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message