You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mahout.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/10/12 13:30:05 UTC

[jira] [Commented] (MAHOUT-1772) delimiterPattern instance variable of FileDataModel should be marked as a Transient field

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

ASF GitHub Bot commented on MAHOUT-1772:
----------------------------------------

GitHub user linahovanessian opened a pull request:

    https://github.com/apache/mahout/pull/160

    MAHOUT-1772

    Sorry for 3 continues check-ins ! I had a problem with my SSH.
    The valid change is the latest one , where I set the variable to transient.
    
      private final transient Splitter delimiterPattern;

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/linahovanessian/mahout master

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/mahout/pull/160.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #160
    
----
commit 60a37cdba826898cbf3923a389f7f8b6bef4710e
Author: linahovanessian <li...@gmail.com>
Date:   2015-10-12T11:08:52Z

    https://issues.apache.org/jira/browse/MAHOUT-1772

commit 7060f7f5f0d7c4bd500500bde90a94e577b2dfdb
Author: linahovanessian <li...@gmail.com>
Date:   2015-10-12T11:18:29Z

    https://issues.apache.org/jira/browse/MAHOUT-1772

commit 6dcab141cb9190365f8128cbc84e12ca4301c0bd
Author: linahovanessian <li...@gmail.com>
Date:   2015-10-12T11:27:54Z

    https://issues.apache.org/jira/browse/MAHOUT-1772

----


> 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
>              Labels: easyfix, easytest
>
> 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)