#69 ✓resolved
Sungbin Jeon

Piggydb on Openshift

Reported by Sungbin Jeon | May 12th, 2014 @ 12:56 PM

Hello.

Recently I am trying to install Piggydb on Openshift service rather than on my personal web server.
I installed the Tomcat 7 & Jboss EWS 2.0, and deployed WAR file, but it doesn't work with error messages below:


HTTP Status 500 - Servlet.init() for servlet click-servlet threw exception

type: Exception report

message: Servlet.init() for servlet click-servlet threw exception

description: The server encountered an internal error that prevented it from fulfilling this request.

exception:
javax.servlet.ServletException: Servlet.init() for servlet click-servlet threw exception
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:744)

root cause:
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.h2.jdbc.JdbcSQLException: Error while creating file "/var/lib/openshift/536f340ee0b8cd443a0008ac/piggydb" [90062-145]
org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:577) org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:641) org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:670) org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:678) org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:721) org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:732) org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:759) marubinotto.piggydb.impl.db.DatabaseSchema.getVersion(DatabaseSchema.java:105) marubinotto.piggydb.ui.PiggydbServlet.init(PiggydbServlet.java:83) javax.servlet.GenericServlet.init(GenericServlet.java:160) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:744)

root cause:
org.h2.jdbc.JdbcSQLException: Error while creating file "/var/lib/openshift/536f340ee0b8cd443a0008ac/piggydb" [90062-145]
org.h2.message.DbException.getJdbcSQLException(DbException.java:327) org.h2.message.DbException.get(DbException.java:167) org.h2.message.DbException.get(DbException.java:144) org.h2.store.fs.FileSystemDisk.createDirs(FileSystemDisk.java:370) org.h2.store.FileLock.lockFile(FileLock.java:328) org.h2.store.FileLock.lock(FileLock.java:134) org.h2.engine.Database.open(Database.java:530) org.h2.engine.Database.openDatabase(Database.java:213) org.h2.engine.Database.(Database.java:208) org.h2.engine.Engine.openSession(Engine.java:54) org.h2.engine.Engine.openSession(Engine.java:148) org.h2.engine.Engine.createSessionAndValidate(Engine.java:127) org.h2.engine.Engine.createSession(Engine.java:110) org.h2.engine.Engine.createSession(Engine.java:28) org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:289) org.h2.engine.SessionRemote.createSession(SessionRemote.java:265) org.h2.jdbc.JdbcConnection.(JdbcConnection.java:110) org.h2.jdbc.JdbcConnection.(JdbcConnection.java:94) org.h2.Driver.connect(Driver.java:72) java.sql.DriverManager.getConnection(DriverManager.java:571) java.sql.DriverManager.getConnection(DriverManager.java:187) org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:174) org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:165) org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149) org.springframework.jdbc.datasource.SingleConnectionDataSource.initConnection(SingleConnectionDataSource.java:241) org.springframework.jdbc.datasource.SingleConnectionDataSource.getConnection(SingleConnectionDataSource.java:184) org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113) org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:577) org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:641) org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:670) org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:678) org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:721) org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:732) org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:759) marubinotto.piggydb.impl.db.DatabaseSchema.getVersion(DatabaseSchema.java:105) marubinotto.piggydb.ui.PiggydbServlet.init(PiggydbServlet.java:83) javax.servlet.GenericServlet.init(GenericServlet.java:160) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:744)


I don't know much about JAVA, but it seems to show the errors about the database issue.
Are this errors can be resolved or impossible to deploy on Openshift?

Regards,
Jeon

Comments and changes to this ticket

  • marubinotto

    marubinotto May 13th, 2014 @ 03:17 AM

    • State changed from “new” to “resolved”

    Hi Jeon,

    It's been a while, how have you been?

    Piggydb needs to access the local file system in order to create database files, but Openshift seems not to permit it. It's one of the typical limitations of PaaS (an application server should be stateless), so unfortunately, running Piggydb in PaaS wouldn't be easy.

    Best regards,
    Daisuke

  • David Shrader

    David Shrader December 25th, 2015 @ 03:31 AM

    Hi Daisuke/Jeon,

    Daisuke, I'm not sure if you remember me, but I wrote to you before about my use of Piggydb to help me study for a database administration class.

    Anyway, I now work for Red Hat and my primary focus at the moment is OpenShift (v3) consulting/administration. I actually used Piggydb as my demo for an OpenShift class that I attended, and I have a step by step process that works every time to get piggydb up and running in OpenShift. I have considered discussing the use of this system as a paid subscription service with you. It is very easy (as in takes <5 min) to set up a Piggydb for an individual with persistent storage, and you can even push the supporter's edition packages through and update the "free" version to supporter's edition within seconds.

    I would love to demo this for you if you have time at some point, and I would be glad to assist you in creating documentation for running Piggydb in OpenShift.

    Thanks,
    David Shrader

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Piggydb is a Web notebook application that provides you with a platform to build your knowledge personally or collaboratively.

Shared Ticket Bins

Pages