
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 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 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.
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.