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

Suneel Marthi updated MAHOUT-1772:
----------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

> delimiterPattern instance variable of FileDataModel should be marked as a 
> Transient field
> -----------------------------------------------------------------------------------------
>
>                 Key: MAHOUT-1772
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-1772
>             Project: Mahout
>          Issue Type: Bug
>          Components: Collaborative Filtering
>    Affects Versions: 0.11.0
>            Reporter: Lina Hovanessian
>            Assignee: Suneel Marthi
>              Labels: easyfix, easytest
>             Fix For: 0.11.1
>
>
> I am trying to implement a recommender using Mahout. To create the DataModel 
> I am using FileDataModel type. After creating the Recommender object , I want 
> to save the model for later usage , just like what we have in Spark models.
> FileDataModel is implementing and inheriting Serializable classes , so this 
> means that it can be Serialized. However  when I try to write it the 
> "java.io.NotSerializableException: com.google.common.base.Splitter" exception 
> is thrown.
> The root cause of this exception is "private final Splitter 
> delimiterPattern;" variable of FileDataModel class. It is a non-serializable 
> third party class which is not marked as a transient field in the 
> FileDataModel class, as a result of this we get the exception mentioned above.
> As a workaround , I created my own "MyFileDataModel" which is an exact copy 
> of "FileDataModel" class but the "delimiterPattern" variable is marked as 
> transient and it works perfectly. It would be better to mark the field as 
> transient in the original class.



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

Reply via email to