>On 24/01/12 15:16, John Fereira wrote:
>> After getting fuseki with SDB working yesterday I check it this
>> morning and got a 500 Server Error, with a  SQLException in executing
>> SQL statement message.
>>
>> This appears to be the same problem I was trying to fix by migrating
>> from Joseki to Fuseki.  After a bit of searching I came across this
>> thread (http://tech.groups.yahoo.com/group/jena-dev/message/35766)
>> which describes the same problem when using Joseki.  The link I've
>> included shows a class for doing database connection pooling but it
>> appears to be a standalone class and there isn't any information about
>> where it might be hooked into SDB.  I've been using database
>> connection pooling for a long time and have had better success with
>> the C3p0 db connection pooling library and have it wired into a Tomcat
>> servlet container but it seems to me a ConnectionPooling class could
>> be wired into SDB, but it would be nice if it pulled in the database
>> connection values from the config file instead of hardcoding them in
>> the java class as the URL shown above does.
>>
>> I've seen numerous references to connection management and connection
>> pooling with SDB but haven't seen any sort of recipe for how to put it
>> all together.
>>
>
>If it's overnight, is this the MySQL timeout idle connections issue?
>MySQL, by default, kills connections after (IIRC) 8 hours of idleness.

Yes, the connection closed overnight (and yes the idle value is 8 hours, based 
on the wait_timeout or interactive_timeout mysql variables).   I guess my 
question is "why is a connection being held open for 8 hours?".  

>
>Connection pooling is a good solution to this, the crude way is 
>?autoReconnect=true or adjust the server settings to some very, very long 
>period.
>

I thought I'd read something that setting ?autoReconnect=true didn't seem to 
fix the problem.  It seems that adjusting the idle timeout to a very long 
period would just result in running out of database connections eventually.   
Connection pooling *would* be a good solution as long as the connection is 
returned to the pool once the transaction is complete.  

>Adding connection pooling support to SDB would be good.  There's nothing there 
>except an assembler setting to set the number and a comment in SDBConnection 
>about where it might hook in ... but that's as far as it goes

There is a "pool" comment in SDBConnection but it looks like the place to add 
pooling would be in the SDBConnectionFactory (which also has a pooling 
comment).  It currently obtains a java.sql.Connection using 
JDBC.createConnection.  I think I can figure out where to inject connection 
pooling but I'm not quite sure what its' doing when sdb:jdbcUrl is not 
specified in the desc file.

>
>Not sure of the status of c3po ... one preview release in 2010-05 but before 
>that 2007-05.  Maybe Apache Commons DBCP is a better bet.

I'm certainly not married to c3p0...it's just what I found to be a bit more 
reliable a few years ago when I was implementing connection pooling in one of 
my web applications.

Reply via email to