Thanks Mars, trying to get back to a stable state and then I will respond with what I find re: Classpath. Here is some context in the meantime. I was able to deploy to Heroku again. Not sure how I introduced that error, perhaps what Donald said.
> Does this error occur locally when you `pio build` this engine? The error does not occur locally. Are there any diffs in your local code? There was not any diffs in my local code. I am trying to find a previous commit to see if I can deploy it successfully. I'm in git land right now that is why I haven't gotten back to you until now:) I was able to get a older version of the code to deploy to heroku so I think I will be able to solve deploying and then I will resume were we left off on confirming my URL is pointing to the correct distribution. How are you running locally? Are you using the buildpack's "local dev" > setup? Yes, I am using the buildpacks "local dev" setup. https://github.com/heroku/predictionio-buildpack/blob/master/DEV.md *Shane Johnson | LIFT IQ* *Founder | CEO* *www.liftiq.com <http://www.liftiq.com/>* or *sh...@liftiq.com <sh...@liftiq.com>* mobile: (801) 360-3350 LinkedIn <https://www.linkedin.com/in/shanewjohnson/> | Twitter <https://twitter.com/SWaldenJ> | Facebook <https://www.facebook.com/shane.johnson.71653> On Fri, Mar 9, 2018 at 12:59 PM, Donald Szeto <don...@apache.org> wrote: > This error looks like pio build was not run at the engine template > directory, which would have the proper configuration to enable that command. > > On Fri, Mar 9, 2018 at 11:28 AM Mars Hall <mars.h...@salesforce.com> > wrote: > >> At this point, I'm just searching the internet for "Not a valid command: >> assemblyPackageDependency" errors, which I image you are too. >> >> Does this error occur locally when you `pio build` this engine? >> >> Are there any diffs in your local code? >> >> How are you running locally? Are you using the buildpack's "local dev" >> setup? >> >> On Fri, Mar 9, 2018 at 6:48 PM, Shane Johnson <sh...@liftiq.com> wrote: >> >>> Mars, to test what may be happening I just reverted to the original >>> buildpack (https://github.com/heroku/predictionio-buildpack.git) and >>> removed the variable PREDICTIONIO_DIST_URL and I am still getting the >>> same error. I don't know where I would have introduced this. Have you seen >>> it before, perhaps this is what is causing the custom dist to not be used? >>> I'm guessing the build failed before and I was overlooking that. Now I need >>> to find out why the build is failing:) >>> >>> Quietly logging. (Set `PIO_VERBOSE=true` for detailed build log.) >>> >>> [INFO] [Engine$] Using command >>> '/tmp/build_28c7923a4f807cd0eaa37b606989fe11/lift-iq-score-f7694693324fc7acebdc6effb0134c218eb7434e/PredictionIO-dist/sbt/sbt' >>> at >>> /tmp/build_28c7923a4f807cd0eaa37b606989fe11/lift-iq-score-f7694693324fc7acebdc6effb0134c218eb7434e >>> to build. >>> >>> [INFO] [Engine$] If the path above is incorrect, this process will >>> fail. >>> >>> [INFO] [Engine$] Uber JAR disabled. Making sure >>> lib/pio-assembly-0.12.0-incubating.jar is absent. >>> >>> [INFO] [Engine$] Going to run: >>> /tmp/build_28c7923a4f807cd0eaa37b606989fe11/lift-iq-score-f7694693324fc7acebdc6effb0134c218eb7434e/PredictionIO-dist/sbt/sbt >>> package assemblyPackageDependency in >>> /tmp/build_28c7923a4f807cd0eaa37b606989fe11/lift-iq-score-f7694693324fc7acebdc6effb0134c218eb7434e >>> >>> [ERROR] [Engine$] [error] Not a valid command: >>> assemblyPackageDependency >>> >>> [ERROR] [Engine$] [error] Not a valid key: assemblyPackageDependency >>> (similar: sbtDependency) >>> >>> [ERROR] [Engine$] [error] assemblyPackageDependency >>> >>> [ERROR] [Engine$] [error] ^ >>> >>> [ERROR] [Engine$] Return code of build command: >>> /tmp/build_28c7923a4f807cd0eaa37b606989fe11/lift-iq-score-f7694693324fc7acebdc6effb0134c218eb7434e/PredictionIO-dist/sbt/sbt >>> package assemblyPackageDependency is 1. Aborting. >>> >>> ! Push rejected, failed to compile PredictionIO app. >>> >>> ! Push failed >>> >>> >>> >>> >>> *Shane Johnson | LIFT IQ* >>> *Founder | CEO* >>> >>> *www.liftiq.com <http://www.liftiq.com/>* or *sh...@liftiq.com >>> <sh...@liftiq.com>* >>> mobile: (801) 360-3350 >>> LinkedIn <https://www.linkedin.com/in/shanewjohnson/> | Twitter >>> <https://twitter.com/SWaldenJ> | Facebook >>> <https://www.facebook.com/shane.johnson.71653> >>> >>> >>> >>> On Fri, Mar 9, 2018 at 11:35 AM, Shane Johnson <sh...@liftiq.com> wrote: >>> >>>> It looks like the URL is the correct URL of the custom PredictionIO >>>> dist. It looks like there is another error that might be occurring here >>>> when I went to deploy. >>>> >>>> -----> JVM Common app detected >>>> >>>> -----> Installing JDK 1.8... done >>>> >>>> -----> PredictionIO app detected >>>> >>>> -----> Install core components >>>> >>>> *+ PredictionIO >>>> (https://s3-us-west-1.amazonaws.com/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating-bin.tar.gz >>>> >>>> <https://s3-us-west-1.amazonaws.com/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating-bin.tar.gz>)* >>>> >>>> + Spark (spark-2.1.1-bin-hadoop2.7) >>>> >>>> -----> Install supplemental components >>>> >>>> + PostgreSQL (JDBC) >>>> >>>> + S3 HDFS (AWS SDK) >>>> >>>> + S3 HDFS (Hadoop-AWS) >>>> >>>> Writing default 'core-site.xml.erb' >>>> >>>> + local Maven repo from buildpack (contents) >>>> >>>> -----> Configure PredictionIO >>>> >>>> Writing default 'pio-env.sh' >>>> >>>> Writing default 'spark-defaults.conf.erb' >>>> >>>> + Maven repo from buildpack (build.sbt entry) >>>> >>>> Set-up environment via '.profile.d/' scripts >>>> >>>> -----> Install JVM (heroku/jvm-common) >>>> >>>> -----> PredictionIO engine >>>> >>>> Quietly logging. (Set `PIO_VERBOSE=true` for detailed build log.) >>>> >>>> [INFO] [Engine$] Using command >>>> '/tmp/build_a27b71b6803e5ee2db3367fa69981626/lift-iq-score-f7694693324fc7acebdc6effb0134c218eb7434e/PredictionIO-dist/sbt/sbt' >>>> at >>>> /tmp/build_a27b71b6803e5ee2db3367fa69981626/lift-iq-score-f7694693324fc7acebdc6effb0134c218eb7434e >>>> to build. >>>> >>>> [INFO] [Engine$] If the path above is incorrect, this process will >>>> fail. >>>> >>>> [INFO] [Engine$] Uber JAR disabled. Making sure >>>> lib/pio-assembly-0.12.0-incubating.jar is absent. >>>> >>>> [INFO] [Engine$] Going to run: >>>> /tmp/build_a27b71b6803e5ee2db3367fa69981626/lift-iq-score-f7694693324fc7acebdc6effb0134c218eb7434e/PredictionIO-dist/sbt/sbt >>>> package assemblyPackageDependency in >>>> /tmp/build_a27b71b6803e5ee2db3367fa69981626/lift-iq-score-f7694693324fc7acebdc6effb0134c218eb7434e >>>> >>>> [ERROR] [Engine$] [error] Not a valid command: >>>> assemblyPackageDependency >>>> >>>> [ERROR] [Engine$] [error] Not a valid key: >>>> assemblyPackageDependency (similar: sbtDependency) >>>> >>>> [ERROR] [Engine$] [error] assemblyPackageDependency >>>> >>>> [ERROR] [Engine$] [error] ^ >>>> >>>> [ERROR] [Engine$] Return code of build command: >>>> /tmp/build_a27b71b6803e5ee2db3367fa69981626/lift-iq-score-f7694693324fc7acebdc6effb0134c218eb7434e/PredictionIO-dist/sbt/sbt >>>> package assemblyPackageDependency is 1. Aborting. >>>> >>>> ! Push rejected, failed to compile PredictionIO app. >>>> >>>> ! Push failed >>>> >>>> >>>> >>>> >>>> *Shane Johnson | LIFT IQ* >>>> *Founder | CEO* >>>> >>>> *www.liftiq.com <http://www.liftiq.com/>* or *sh...@liftiq.com >>>> <sh...@liftiq.com>* >>>> mobile: (801) 360-3350 >>>> LinkedIn <https://www.linkedin.com/in/shanewjohnson/> | Twitter >>>> <https://twitter.com/SWaldenJ> | Facebook >>>> <https://www.facebook.com/shane.johnson.71653> >>>> >>>> >>>> >>>> On Fri, Mar 9, 2018 at 11:17 AM, Mars Hall <mars.h...@salesforce.com> >>>> wrote: >>>> >>>>> I'm lost as to how such direct manipulation of CLASSPATH is not >>>>> appearing in the logged spark-submit command. >>>>> >>>>> What could cause this!? >>>>> >>>>> I just pushed a version of the buildpack which should help debug. >>>>> Assuming only a single buildpack is assigned to the app, here's how to set >>>>> it: >>>>> >>>>> heroku buildpacks:set https://github.com/heroku/ >>>>> predictionio-buildpack#debug-custom-dist >>>>> >>>>> Then redeploy the engine an check the build log for the line: >>>>> >>>>> + PredictionIO ($URL) >>>>> >>>>> Please confirm that it is the URL of your custom PredictionIO dist. >>>>> >>>>> On Fri, Mar 9, 2018 at 2:47 PM, Shane Johnson <sh...@liftiq.com> >>>>> wrote: >>>>> >>>>>> Thanks Donald and Mars, >>>>>> >>>>>> I created a new distribution ( >>>>>> <https://s3-us-west-1.amazonaws.com/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating-bin.tar.gz> >>>>>> https://s3-us-west-1.amazonaws.com/predictionio/0. >>>>>> 12.0-incubating/apache-predictionio-0.12.0-incubating-bin.tar.gz) >>>>>> with the added CLASSPATH code and pointed to the distribution with >>>>>> the PREDICTIONIO_DIST_URL variable within the engine app in Heroku. >>>>>> >>>>>> CLASSPATH="/app/PredictionIO-dist/lib/spark/aws-java-sdk.jar >>>>>> :$CLASSPATH" >>>>>> echo "$CLASSPATH" >>>>>> >>>>>> It didn't seem to force the aws-java-sdk to load first as I reviewed >>>>>> the release logs. Should the aws-java-sdk.jar show up as the first file >>>>>> within the --jars section when this is added CLASSPATH="/app/ >>>>>> PredictionIO-dist/lib/spark/aws-java-sdk.jar:$CLASSPATH". >>>>>> >>>>>> I'm still getting the NoSuchMethodError when the *aws-java-sdk.jar* loads >>>>>> after the *pio-data-s3-assembly-0.12.0-incubating.jar**. *Do you >>>>>> have other suggestions to try? I was also testing locally to change the >>>>>> order of the --jars but changes to the compute-classpath.sh didn't seem >>>>>> to >>>>>> change the order of the jars in the logs. >>>>>> >>>>>> Running train on releaseā¦ >>>>>> >>>>>> Picked up JAVA_TOOL_OPTIONS: -Xmx12g -Dfile.encoding=UTF-8 >>>>>> >>>>>> [INFO] [Runner$] Submission command: >>>>>> /app/PredictionIO-dist/vendors/spark-hadoop/bin/spark-submit >>>>>> --driver-memory 13g --class >>>>>> org.apache.predictionio.workflow.CreateWorkflow --jars >>>>>> file:/app/PredictionIO-dist/lib/postgresql_jdbc.jar,file:/app/target/scala-2.11/template-scala-parallel-liftscoring-assembly-0.1-SNAPSHOT-deps.jar,file:/app/target/scala-2.11/template-scala-parallel-liftscoring_2.11-0.1-SNAPSHOT.jar,file:/app/PredictionIO-dist/lib/spark/pio-data-hdfs-assembly-0.12.0-incubating.jar,file:/app/PredictionIO-dist/lib/spark/pio-data-localfs-assembly-0.12.0-incubating.jar,file:/app/PredictionIO-dist/lib/spark/pio-data-elasticsearch-assembly-0.12.0-incubating.jar,file:/app/PredictionIO-dist/lib/spark/hadoop-aws.jar,file:/app/PredictionIO-dist/lib/spark/pio-data-hbase-assembly-0.12.0-incubating.jar,*file:/app/PredictionIO-dist/lib/spark/pio-data-s3-assembly-0.12.0-incubating.jar*,file:/app/PredictionIO-dist/lib/spark/pio-data-jdbc-assembly-0.12.0-incubating.jar,*file:/app/PredictionIO-dist/lib/spark/aws-java-sdk.jar* >>>>>> --files >>>>>> file:/app/PredictionIO-dist/conf/log4j.properties,file:/app/PredictionIO-dist/conf/core-site.xml >>>>>> --driver-class-path >>>>>> /app/PredictionIO-dist/conf:/app/PredictionIO-dist/conf:/app/PredictionIO-dist/lib/postgresql_jdbc.jar:/app/PredictionIO-dist/conf >>>>>> --driver-java-options -Dpio.log.dir=/app >>>>>> file:/app/PredictionIO-dist/lib/pio-assembly-0.12.0-incubating.jar >>>>>> --engine-id org.template.liftscoring.LiftScoringEngine --engine-version >>>>>> 0c35eebf403cf91fe77a64921d76aa1ca6411d20 --engine-variant >>>>>> file:/app/engine.json --verbosity 0 --json-extractor Both --env >>>>>> >>>>>> >>>>>> Error: >>>>>> >>>>>> Exception in thread "main" java.lang.NoSuchMethodError: >>>>>> com.amazonaws.services.s3.transfer.TransferManager.<init>(Lcom/amazonaws/services/s3/AmazonS3;Ljava/util/concurrent/ThreadPoolExecutor;)V >>>>>> >>>>>> at >>>>>> org.apache.hadoop.fs.s3a.S3AFileSystem.initialize(S3AFileSystem.java:287) >>>>>> >>>>>> at >>>>>> org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669) >>>>>> >>>>>> at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *Shane Johnson | LIFT IQ* >>>>>> *Founder | CEO* >>>>>> >>>>>> *www.liftiq.com <http://www.liftiq.com/>* or *sh...@liftiq.com >>>>>> <sh...@liftiq.com>* >>>>>> mobile: (801) 360-3350 >>>>>> LinkedIn <https://www.linkedin.com/in/shanewjohnson/> | Twitter >>>>>> <https://twitter.com/SWaldenJ> | Facebook >>>>>> <https://www.facebook.com/shane.johnson.71653> >>>>>> >>>>>> >>>>>> >>>>>> On Wed, Mar 7, 2018 at 1:01 PM, Mars Hall <mars.h...@salesforce.com> >>>>>> wrote: >>>>>> >>>>>>> Shane, >>>>>>> >>>>>>> On Wed, Mar 7, 2018 at 4:49 AM, Shane Johnson <sh...@liftiq.com> >>>>>>> wrote: >>>>>>> >>>>>>>> >>>>>>>> Re: adding a line to ensure a jar is loaded first. Is this what you >>>>>>>> are referring to...(line at the bottom in red)? >>>>>>>> >>>>>>> >>>>>>> >>>>>>> I believe the code would need to look like this to effect the output >>>>>>> classpath as intended: >>>>>>> >>>>>>> >>>>>>>> CLASSPATH="/app/PredictionIO-dist/lib/spark/aws-java-sdk.jar >>>>>>>> :$CLASSPATH" >>>>>>>> echo "$CLASSPATH" >>>>>>>> >>>>>>> >>>>>>> >>>>>>> aws-java-sdk.jar is already in the CLASSPATH though, So, the script >>>>>>> will need to be skip or remove it first. >>>>>>> >>>>>>> -- >>>>>>> *Mars Hall >>>>>>> 415-818-7039 <(415)%20818-7039> >>>>>>> Customer Facing Architect >>>>>>> Salesforce Platform / Heroku >>>>>>> San Francisco, California >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Mars Hall >>>>> 415-818-7039 <(415)%20818-7039> >>>>> Customer Facing Architect >>>>> Salesforce Platform / Heroku >>>>> San Francisco, California >>>>> >>>> >>>> >>> >> >> >> -- >> *Mars Hall >> 415-818-7039 <(415)%20818-7039> >> Customer Facing Architect >> Salesforce Platform / Heroku >> San Francisco, California >> >