Hi Daniel,

If you think there's a problem with the PredictionIO buildpack for Heroku, 
please file as issue on its GitHub repo 
https://github.com/heroku/predictionio-buildpack/issues

If it works locally but not on Heroku, my wild guess is that one of your 
algorithms is serializing the model to the filesystem, and it's throwing an 
error when trying to retrieve that model. Heroku does not support filesystem 
persistence between runs (e.g. files committed during release/train will not 
persist to web/deploy)

Perhaps try enabling S3 HDFS for filesystem persistence 
https://github.com/heroku/predictionio-buildpack/blob/master/CUSTOM.md#optional-persistent-filesystem
 Note that with HDFS filesystem path references must be from `/` root, not 
nested in a User ID directory.

*Mars

( <> .. <> )

> On Jan 10, 2017, at 00:53, Daniel O' Shaughnessy <[email protected]> 
> wrote:
> 
> Hi Pat,
> 
> Ya I guess it's an issue with the pio heroku buildpack. It seems to build and 
> train OK based on the logs but then throws that error when trying to deploy.
> 
> I'm not actually using the similar products template I'm using this: 
> https://github.com/apache/incubator-predictionio-template-ecom-recommender
> 
> I'm trying to extend the ecom template to include 'likes' to try and improve 
> the results and using the tutorial as a guideline. I'm using this for an app 
> store recommender...Ideally I'd be using the UR but I can't get this up on 
> Heroku so far, when AWS approve it I may go down that route for hosting 
> eventually.
> 
> On Mon, 9 Jan 2017 at 20:44 Pat Ferrel <[email protected]> wrote:
> AFAIK, the Heroku support is fairly new so not surprising that a multiple 
> engine template has trouble. Multiple Algorithms in a Template are fairly 
> rare. I’d ask Heroku what is going on. 
> 
> BTW what are you using this for? There are other ways to get similar 
> products—some of which may work better. For instance is there a reason for 
> multiple algorithms? 
> 
> 
> 
> On Jan 9, 2017, at 10:45 AM, Daniel O' Shaughnessy 
> <[email protected]> wrote:
> 
> Hi,
> 
> I'm attempting to add a like/dislike event to the ecom recommender ( as per 
> http://predictionio.incubator.apache.org/templates/similarproduct/multi-events-multi-algos/
>  ). This method combines the results of 2 separate algorithms in the Serving 
> class.
> 
> When I deploy this using the predictionIO Heroku buildpack it seems to deploy 
> and run the release command OK but when I check the Heroku logs it fails here:
> 
> 2017-01-09T15:32:44.905195+00:00 app[web.1]: [INFO] [Engine] Using persisted 
> model
> 
> 2017-01-09T15:32:44.912783+00:00 app[web.1]: [INFO] [Engine] Loaded model 
> com.dos.sfdc.ECommModel for algorithm com.dos.sfdc.ECommAlgorithm
> 
> 2017-01-09T15:32:45.307111+00:00 app[web.1]: [INFO] [Engine] Custom-persisted 
> model detected for algorithm com.dos.sfdc.LikeAlgorithm
> 
> 2017-01-09T15:32:45.668678+00:00 app[web.1]: [ERROR] [OneForOneStrategy] 
> Cannot call methods on a stopped SparkContext.
> 
> 2017-01-09T15:32:45.668690+00:00 app[web.1]: This stopped SparkContext was 
> created at:
> 
> 2017-01-09T15:32:45.668691+00:00 app[web.1]: 
> 
> 2017-01-09T15:32:45.668692+00:00 app[web.1]: 
> org.apache.spark.SparkContext.<init>(SparkContext.scala:82)
> 
> 2017-01-09T15:32:45.668693+00:00 app[web.1]: 
> org.apache.predictionio.workflow.WorkflowContext$.apply(WorkflowContext.scala:45)
> 
> 2017-01-09T15:32:45.668694+00:00 app[web.1]: 
> org.apache.predictionio.workflow.CreateServer$.createServerActorWithEngine(CreateServer.scala:228)
> 
> Anyone come across this before?
> 
> 
> 
> Thanks,
> 
> 
> 
> Daniel.
> 
> 

Reply via email to