Thanks for the quick turnaround!

On Dec 31, 1:41 pm, David Pollak <[email protected]>
wrote:
> The simplest way around this issue is:
>
> new StandardDBVendor(Props.get("db.driver") openOr "org.h2.Driver",
>                                         Props.get("db.url") openOr
> "jdbc:h2:lift_proto.db;AUTO_SERVER=TRUE",
>                                         Props.get("db.user"), 
> Props.get("db.password"))
>
> Note the ";AUTO_SERVER=TRUE" part of the DB URL.  This makes the H2
> restart issue go away.  There's an additional issue of ActorPing which
> is not restarting correctly.  I've got a fix for that as well and I'll
> have the code up on review board in a little while.
>
> On Dec 31, 10:13 am, David Pollak <[email protected]>
> wrote:
>
>
>
> > On Wed, Dec 30, 2009 at 5:15 PM, Nathan Parry <[email protected]> wrote:
> > > Searching turned up a few older threads similar to the problem I'm
> > > seeing, but I couldn't find any solution.
>
> > > Using just the skeleton project created by lift-archetype-basic, I'm
> > > getting these exceptions out of jetty:
>
> > > org.h2.jdbc.JdbcSQLException: Database may be already in use: Locked
> > > by another process. Possible solutions: close all other connection(s);
> > > use the server mode [90020-121]
>
> > > ERROR - Failed to Boot
> > > java.lang.NullPointerException: Looking for Connection Identifier
> > > ConnectionIdentifier(lift) but failed to find either a JNDI data
> > > source with the name lift or a lift connection manager with the
> > > correct name
>
> > > Once this happens, the app is non-functional.  This occurs whenever
> > > jetty restarts due to updated code.  I can trigger the issue by:
>
> > > 1. Running mvn jetty:run in one console
> > > 2. Running mvn scala:cc in another console
> > > 3. Running touch src/main/scala/bootstrap/liftweb/Boot.scala in a 3rd
> > > console
>
> > Thanks for the repro case.  I've opened a ticket on the 
> > issue:http://github.com/dpp/liftweb/issues/#issue/266
>
> > > This causes a recompilation, which causes a jetty restart, which blows
> > > up with the exceptions.
>
> > > Has anybody else seen or fixed this issue?  Should it be useful, I've
> > > stashed the project at
> > >http://nparry.com/posted_files/jetty_lift_issues/lifttest.tgz
> > > including a jetty.log of the output with the full stack traces.
>
> > > Wandering into wild-speculation territory (AKA speak and remove all
> > > doubt) ...
>
> > > Based on the jdbc exception, I poked around in the DB code - looking
> > > at ProtoDBVendor I couldn't see how connections in 'pool' would ever
> > > be released.  Thus I tried a quick hack in my project to force the
> > > pool to be empty...
>
> > >  DB.defineConnectionManager(DefaultConnectionIdentifier,
> > >        new StandardDBVendor(
> > >                             Props.get("db.driver") openOr
> > > "org.h2.Driver",
> > >                             Props.get("db.url") openOr
> > > "jdbc:h2:lift_proto.db",
> > >                             Props.get("db.user"),
> > >                             Props.get("db.password")) {
> > >            override def maxPoolSize = 0
> > >        })
>
> > > This obviously is not a good solution, but it does seem to clear up
> > > the exceptions when jetty restarts - the theory being that during
> > > shutdown the old connections are not closed, leading to errors during
> > > restart since the new connection can't be created.  Forcing an empty
> > > pool means there is no old connection around to trigger the problem.
>
> > > I guess the question out of all that would be - do we need (or is
> > > there already) a shutdown hook to correspond to the boot hook?  This
> > > would allow for cleanup in this sort of situation (ie, close any
> > > connections left in the pool).
>
> > > --
> > > Nathan
>
> > > --
>
> > > You received this message because you are subscribed to the Google Groups
> > > "Lift" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<liftweb%[email protected]
> > >  >
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/liftweb?hl=en.
>
> > --
> > Lift, the simply functional web frameworkhttp://liftweb.net
> > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > Follow me:http://twitter.com/dpp
> > Surf the harmonics

--

You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en.


Reply via email to