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

Rajat Tibrewal commented on MAHOUT-353:
---------------------------------------

My theory:

The error happens at get(RecommenderMapper.java:169) "value = map.get(key, 
columnVector).get();" because columnVector is still unassigned.

The columnVector init typically happens in the configure(JobConf jobConf) 
method of RecommenderMapper class.

Reference to map(RecommenderMapper.java:111) is from run(MapRunner.java:50).

Closer inspection of MapRunner.java shows the use of a mapper of class Mapper 
which RecommenderMapper implements. However, the method configure(JobConf 
jobConf) is never invoked on this mapper and hence the columnVector is never 
initialized. This would lead to NPE finally.

Suggested modification: A check for cooccurrenceColumnCache==null in the 
map(RecommenderMapper.java:52)
OR
suitable corrections to MapRunner.java code.


> java.lang.NullPointerException in RecommenderMapper
> ---------------------------------------------------
>
>                 Key: MAHOUT-353
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-353
>             Project: Mahout
>          Issue Type: Bug
>          Components: Collaborative Filtering
>    Affects Versions: 0.4
>            Reporter: Hui Wen Han
>             Fix For: 0.4
>
>
> java.lang.NullPointerException
>       at 
> org.apache.mahout.cf.taste.hadoop.item.RecommenderMapper$CooccurrenceCache.get(RecommenderMapper.java:169)
>       at 
> org.apache.mahout.cf.taste.hadoop.item.RecommenderMapper$CooccurrenceCache.get(RecommenderMapper.java:154)
>       at 
> org.apache.mahout.cf.taste.impl.common.Cache.getAndCacheValue(Cache.java:125)
>       at org.apache.mahout.cf.taste.impl.common.Cache.get(Cache.java:94)
>       at 
> org.apache.mahout.cf.taste.hadoop.item.RecommenderMapper.map(RecommenderMapper.java:111)
>       at 
> org.apache.mahout.cf.taste.hadoop.item.RecommenderMapper.map(RecommenderMapper.java:52)
>       at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50)
>       at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:358)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
>       at org.apache.hadoop.mapred.Child.main(Child.java:170)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to