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

Sujit Pal closed SOLR-2783.
---------------------------

    Resolution: Not A Problem

Closing per previous comment.
                
> Please make DocSet extend Serializable
> --------------------------------------
>
>                 Key: SOLR-2783
>                 URL: https://issues.apache.org/jira/browse/SOLR-2783
>             Project: Solr
>          Issue Type: Wish
>         Environment: Any.
>            Reporter: Sujit Pal
>            Priority: Minor
>
> We have built a custom EHCache backed implementation of SolrCache that allows 
> us to spill over the cache to disk and have it persistent across Solr 
> restarts. To allow disk spillover we need the key and value of the cache to 
> be Serializable. So our SolrCache implementation signature is like this:
> {code}
> public class EhCacheSolrCache implements SolrCache<Serializable,Serializable> 
> {
> ...
> }
> {code}
> One of the things we are caching are DocSets (specifically BitDocSets). 
> Currently we are wrapping it into a Serializable class of our own:
> {code}
> public class SerializableBitDocSet extends BitDocSet implements Serializable {
>   private static final long serialVersionUID = 3723685897599896159L;
>   public SerializableBitDocSet() {
>     super();
>   }
>   
>   public SerializableBitDocSet(OpenBitSet obs) {
>     super(obs);
>   }
> {code}
> and when getting or putting into the cache, we convert to the Serializable 
> version using the deprecated method getBits().
> {code}
> SerializableBitDocSet docset = new 
> SerializableBitDocSet(newSearcher.getDocSet(q).getBits());
> newSearcher.getCache(CACHED_FACETS_BITSETS_CACHENAME).put(facetQuery, docset);
> {code}
> On the get, since a SerializableBitDocSet is a BitDocSet there is no extra 
> work.
> Two issues:
> 1) we are using a deprecated getBits() call to make the conversion - this is 
> likely to disappear in a later version.
> 2) the approach is hacky, since we have to potentially subclass other bitset 
> like structures to make them Serializable as well.
> It would be nice if DocSet (the parent interface) can be made Serializable. 
> This would allow Solr users to use this as a cache value for disk-persistent 
> caches without any hackery.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to