You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Hoss Man (JIRA)" <ji...@apache.org> on 2010/05/10 23:52:31 UTC

[jira] Updated: (SOLR-1841) Unregistering of Searcher MBean doesn't work in Websphere

     [ https://issues.apache.org/jira/browse/SOLR-1841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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: https://issues.apache.org/jira/browse/SOLR-1841
>             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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org