Was this line correctly set? https://github.com/apache/incubator-predictionio/blob/develop/conf/pio-env.sh.template#L30
On Sat, May 27, 2017 at 12:00 AM Mars Hall <[email protected]> wrote: > Also, re: the Postgres connection string, it is correct for my setup. My > docker-compose creates a Postgres host named "postgres". `jdbc:postgr > esql://postgres/pio` is accurate and was working with PIO 0.10.0. > > On Fri, May 26, 2017 at 07:58 Mars Hall <[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]> 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 >> 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 may have >> caused pio commands to fail? >> > >> > Best, >> > Chan >> > >> > On Thu, May 25, 2017 at 10:42 PM, Chan Lee <[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]> 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 >> > >> > 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 >> > >> > ( <> .. <> ) >> > >> > >> > >> >>
