[
https://issues.apache.org/jira/browse/MAHOUT-1772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lina Hovanessian updated MAHOUT-1772:
-------------------------------------
Status: Patch Available (was: Open)
Index:
mr/src/main/java/org/apache/mahout/cf/taste/impl/model/file/FileDataModel.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
---
mr/src/main/java/org/apache/mahout/cf/taste/impl/model/file/FileDataModel.java
(revision 9d14053c80a1244bdf7157ab02748a492ae9868a)
+++
mr/src/main/java/org/apache/mahout/cf/taste/impl/model/file/FileDataModel.java
(revision )
@@ -127,7 +127,7 @@
private final File dataFile;
private long lastModified;
private long lastUpdateFileModified;
- private final Splitter delimiterPattern;
+ private transient final Splitter delimiterPattern;
private final boolean hasPrefValues;
private DataModel delegate;
private final ReentrantLock reloadLock;
> 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)