0

mahout バージョン 0.9 を使用しています。次のスタックトレースを使用して、デモサーバーで NPE を取得しました。

HTTP ステータス 500 - リクエストの処理に失敗しました。ネストされた例外は java.lang.NullPointerException です

タイプ例外レポート

message要求の処理に失敗しました。ネストされた例外は java.lang.NullPointerException です

説明サーバーで内部エラーが発生したため、この要求を実行できませんでした。

例外

org.springframework.web.util.NestedServletException: リクエストの処理に失敗しました。ネストされた例外は java.lang.NullPointerException です
 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973)
 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

根本的な原因

java.lang.NullPointerException
 org.apache.mahout.cf.taste.impl.recommender.TopItems.getTopUsers(TopItems.java:119)
 org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood.getUserNeighborhood(NearestNUserNeighborhood.java:94)
 org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender.recommend(GenericUserBasedRecommender.java:87)
 org.apache.mahout.cf.taste.impl.recommender.AbstractRecommender.recommend(AbstractRecommender.java:63)
 .....recommendationengine.service.RecommendationService.findRecommendedProductsForOpportunityByMahout(RecommendationService.java:69)
 .....recommendationengine.controller.RecommendationController.recommendedForOpportunity(RecommendationController.java:54)
 sun.reflect.GeneratedMethodAccessor49.invoke(不明なソース)
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 java.lang.reflect.Method.invoke(Method.java:491)
 org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:690)
 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)
 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

note根本原因の完全なスタック トレースは、Apache Tomcat/7.0.40 ログで入手できます。

アパッチ トムキャット/7.0.40

デバッグのためにサーバーを再起動した後、問題は再現されません。Mahout 0.9 のソース コードをダウンロードしましたが、 TopItems.java:119NPEを取得する方法を理解できません。この NPE を手伝ってくれる人はいますか?

君たちありがとう。

howManyパラメータが 0 の 場合は NPE を更新できますが、私は 5 を使用しています。調査します....

更新 2 howManyパラメータは、NearestNUserNeighborhood のコンストラクタでチェックインされているため、1 未満にすることはできません。これ以上のアイデアはありません... :(

4

1 に答える 1

0

Heroku に乗っかって、何度か寝ようとしていた。レジュメアプリで再現したと思います。
質問はクローズできます。

于 2015-04-06T14:02:07.613 に答える