Also, re: the Postgres connection string, it is correct for my setup. My 
docker-compose creates a Postgres host named "postgres". 
`jdbc:postgresql://postgres/pio` is accurate and was working with PIO 0.10.0.

On Fri, May 26, 2017 at 07:58 Mars Hall <[email protected] 
<mailto:[email protected]>> wrote:
Hi Chan,

Thanks for taking a look. This is running the release version of PredictionIO 
0.11.0-incubating, not the Authenticated Elasticsearch branch/PR you mentioned 
w/ those classpath revisions.

Here it is with the `--verbose` flag, which made some ConnectionPool loglines 
appear:

> $ pio status --verbose
>   [INFO] [Management$] Inspecting PredictionIO...
>   [INFO] [Management$] PredictionIO 0.11.0-incubating is installed at 
> /app/pio-engine/PredictionIO-dist
>   [INFO] [Management$] Inspecting Apache Spark...
>   [INFO] [Management$] Apache Spark is installed at 
> /app/pio-engine/PredictionIO-dist/vendors/spark-hadoop
>   [INFO] [Management$] Apache Spark 2.1.0 detected (meets minimum requirement 
> of 1.3.0)
>   [INFO] [Management$] Inspecting storage backend connections...
>   [INFO] [Storage$] Verifying Meta Data Backend (Source: PGSQL)...
>   [DEBUG] [ConnectionPool$] Registered connection pool : 
> ConnectionPool(url:jdbc:postgresql://postgres/pio, user:pio) using factory : 
> <default>
>   [DEBUG] [ConnectionPool$] Registered singleton connection pool : 
> ConnectionPool(url:jdbc:postgresql://postgres/pio, user:pio)
>   [ERROR] [Management$] Unable to connect to all storage backends 
> successfully.
>   The following shows the error message from the storage backend.
>
>   No suitable driver found for jdbc:postgresql://postgres/pio 
> (java.sql.SQLException)
>
>   Dumping configuration of initialized storage backend sources.
>   Please make sure they are correct.
>
>   Source Name: PGSQL; Type: jdbc; Configuration: URL -> 
> jdbc:postgresql://postgres/pio, PARTITIONS -> 4, PASSWORD -> pio, USERNAME -> 
> pio, CONNECTIONS -> 8, TYPE -> jdbc, INDEX -> enabled



*Mars

( <> .. <> )

> On May 26, 2017, at 05:17, Chan Lee <[email protected] 
> <mailto:[email protected]>> wrote:
>
> Actually, if this is a problem occurring only with docker-compose and travis, 
> I think this may be the issue:
>
> https://github.com/apache/incubator-predictionio/blob/develop/tests/build_docker.sh#L42-L45
>  
> <https://github.com/apache/incubator-predictionio/blob/develop/tests/build_docker.sh#L42-L45>
>  puts the main assembly jar to assembly/, and data assembly jars to lib/spark 
> (instead of assembly/spark, which I think is rather confusing)
>
> Maybe the change in compute-classpath.sh of 
> https://github.com/apache/incubator-predictionio/pull/372 
> <https://github.com/apache/incubator-predictionio/pull/372> may have caused 
> pio commands to fail?
>
> Best,
> Chan
>
> On Thu, May 25, 2017 at 10:42 PM, Chan Lee <[email protected] 
> <mailto:[email protected]>> wrote:
> Hi Mars,
>
> I'm not sure what the cause of the error is but adding the --verbose option 
> may help debug. Also, I've noticed that the host in the postgres URL for the 
> output (jdbc:postgresql://postgres/pio) is different from the one in 
> config/pio-env.sh (localhost/$hostport). Hope this helps.
>
> Best,
> Chan
>
>
> On Thu, May 25, 2017 at 6:07 PM, Mars Hall <[email protected] 
> <mailto:[email protected]>> wrote:
> Hi PIO users 🐸
>
> I've got this engine that cannot find its Postgres JDBC driver. Common 
> conundrum! I solved this problem dozens of times with PIO, but this one 
> stumps me.
>
> It comes from `pio status`, as opposed to `pio train`:
>
> > $ ./PredictionIO-dist/bin/pio status
> >   [INFO] [Management$] Inspecting PredictionIO...
> >   [INFO] [Management$] PredictionIO 0.11.0-incubating is installed at 
> > /app/pio-engine/PredictionIO-dist
> >   [INFO] [Management$] Inspecting Apache Spark...
> >   [INFO] [Management$] Apache Spark is installed at 
> > /app/pio-engine/PredictionIO-dist/vendors/spark-hadoop
> >   [INFO] [Management$] Apache Spark 2.1.0 detected (meets minimum 
> > requirement of 1.3.0)
> >   [INFO] [Management$] Inspecting storage backend connections...
> >   [INFO] [Storage$] Verifying Meta Data Backend (Source: PGSQL)...
> >   [ERROR] [Management$] Unable to connect to all storage backends 
> > successfully.
> >   The following shows the error message from the storage backend.
> >
> >   No suitable driver found for jdbc:postgresql://postgres/pio 
> > (java.sql.SQLException)
> >
> >   Dumping configuration of initialized storage backend sources.
> >   Please make sure they are correct.
> >
> >   Source Name: PGSQL; Type: jdbc; Configuration: URL -> 
> > jdbc:postgresql://postgres/pio, PARTITIONS -> 4, PASSWORD -> pio, USERNAME 
> > -> pio, CONNECTIONS -> 8, TYPE -> jdbc, INDEX -> enabled
>
>
> I've added a debug output to `bin/pio-class` to reveal what's running (e.g. 
> classpath); multi-line formatting added by me:
>
> > exec java \
> >   -cp /app/pio-engine/PredictionIO-dist/conf:\
> >     /app/pio-engine/PredictionIO-dist/plugins/*:\
> >     /app/pio-engine/PredictionIO-dist/lib/spark/*:\
> >     
> > /app/pio-engine/PredictionIO-dist/lib/pio-assembly-0.11.0-incubating.jar:\
> >     /app/pio-engine/PredictionIO-dist/conf:\
> >     /app/pio-engine/PredictionIO-dist/conf:\
> >     /app/pio-engine/PredictionIO-dist/lib/postgresql_jdbc.jar \
> >   -Dpio.log.dir=/root \
> >   org.apache.predictionio.tools.console.Console \
> >   status \
> >   --pio-home /app/pio-engine/PredictionIO-dist
>
>
>
> Verified that the Postgres JDBC jar file exists & is readable by the current 
> user:
>
> > ls -hal /app/pio-engine/PredictionIO-dist/lib/postgresql_jdbc.jar
> >   -rw-r--r-- 1 root       root 674K May 26 00:57 postgresql_jdbc.jar
>
>
>
> Is there something else that would cause that "No suitable driver" error when 
> something else is really wrong?
>
>
> Context:
> This is building on Ubuntu 14.04.5 LTS with docker-compose on TravisCI for 
> the Heroku buildpack: 
> https://github.com/heroku/predictionio-buildpack/pull/36 
> <https://github.com/heroku/predictionio-buildpack/pull/36>
>
> This same setup works fine elsewhere, finds that JDBC driver, both on Heroku 
> and local macOS. The build also used to work fine with PredictionIO 
> 0.10.0-incubating. Trying to upgrade everything to 0.11.0!
>
> *Mars
>
> ( <> .. <> )
>
>
>

Reply via email to