[ 
https://issues.apache.org/jira/browse/SOLR-9949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15812677#comment-15812677
 ] 

Oliver Bates commented on SOLR-9949:
------------------------------------

It could be, but this can be operationally challenging if one monitoring 
service covers several clusters. It's difficult to ensure that those clusters 
all run the same version. Granted this is not likely to be that common, but if 
AlreadyClosedException doesn't implement Serializable (which I understand is 
something Lucene intentionally avoids), then it seems like it shouldn't be 
allowed to propagate up to the MBeanServer anyway (from a 'good practice' 
perspective). If those exceptions are going away though, then this whole point 
is moot :)

> Non-serializable AlreadyClosedException returned by MBeanServer
> ---------------------------------------------------------------
>
>                 Key: SOLR-9949
>                 URL: https://issues.apache.org/jira/browse/SOLR-9949
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: JMX
>    Affects Versions: 4.8
>            Reporter: Oliver Bates
>            Priority: Minor
>             Fix For: 5.3.1
>
>         Attachments: SOLR-9949.diff
>
>
>  Solr JMX monitoring agent is throwing InvalidClassException when trying to 
> deserialize AlreadyClosedException thrown by Solr during JMX stat fetching.
> Stack trace:
> org.apache.lucene.store.AlreadyClosedException; local class incompatible: 
> stream classdesc serialVersionUID = 5608155941692732578, local class 
> serialVersionUID = -1978883495828278874"
> java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: 
>     java.io.InvalidClassException: 
> org.apache.lucene.store.AlreadyClosedException; local class incompatible: 
> stream classdesc serialVersionUID = 5608155941692732578, local class 
> serialVersionUID = -1978883495828278874"
> The serialVersionUID value computed by java at runtime changed when a new 
> constructor was added with a 'cause' field.
> AlreadyClosedExceptions can be thrown by the MBean server if a remote 
> instance is trying to access stats on a recently deleted core for instance. 
> In this case, the exception is serialized/deserialized by the MBean handler 
> which can cause InvalidClassExceptions if the monitoring service is using a 
> different version of lucene. Since Lucene doesn't want to implement 
> Serializable, these exceptions should not be propagated up to the MBeanServer.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to