Hi Georgi,

We have tested this for a simple test connection, query and close which works.

What is the state of Virtuoso at the point your applications hangs, is it still accessible via isql and HTTP ? If you can still access the server please provide the output of running the "status()" command from isql, so the state of the server can be determined.

How are you inserts being performed ? as a general rule when performing SPARUL insert/update/delete operations the log_enable(2) function should be used in the client to force the query to autocommit and release all locks immediately preventing possible deadlocks as detailed at:

        
http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html#rdfperfsparul
        http://docs.openlinksw.com/virtuoso/fn_log_enable.html

Note if you are querying directly against SPARQL endpoint you will need to pass the the following pragma to set log_enable(2) for each query:

        define sql:log-enable 2

Also, what is the version number and build date of the Virtuoso Server being used ?

Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support
Twitter: http://twitter.com/OpenLink

On 8 Oct 2009, at 11:39, Georgi Kobilarov wrote:

Hello Hugh,

now the connection can be established and data be written, but closing the
model/connection with model.close() (in my code example
target_model.close()) doesn't work. No error message or exception, it just
hangs.

Georgi

-----Original Message-----
From: Hugh Williams [mailto:hwilli...@openlinksw.com]
Sent: Tuesday, October 06, 2009 2:03 AM
To: Georgi Kobilarov
Cc: virtuoso-users@lists.sourceforge.net
Subject: Re: [Virtuoso-users] Jena/JDBC connection not properly closed

Hi Georgi,

It would appear the connect string URL can only be "hostname:port" or "hostname" ( in which case default port 1111 is assumed), so you would
need to drop the /CHARSET and /TIMEOUT attributes for this to work ie

        def getModel(name : String) = VirtModel.createDatabaseMode
(name,"localhost:1111", "user", "pw");

i would expect to be able to pass other connect string URL attributes
like /CHARSET /TIMEOUT etc. as can be done for the normal connect
string URLs, so development have been asked to look into adding
support for this to be supported.

Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support



On 5 Oct 2009, at 15:00, Georgi Kobilarov wrote:

Hi Hugh,

unfortunately these connections strings don't work for me. I get a
"connection failed" for the "localhost/..." connect string, and a
"wrong
port number" for the "localhost:1111/..." connect string. (the port
number
is correct)

Best,
Georgi


-----Original Message-----
From: Hugh Williams [mailto:hwilli...@openlinksw.com]
Sent: Monday, October 05, 2009 2:43 AM
To: Georgi Kobilarov
Cc: virtuoso-users@lists.sourceforge.net
Subject: Re: [Virtuoso-users] Jena/JDBC connection not properly
closed

Hi Georgi,

Can you please try changing your connect string URL for the Virtuoso
Jena Provider from:

def getModel(name : String) = VirtModel.createDatabaseModel(name,
"jdbc:virtuoso://localhost/CHARSET=UTF-8/TIMEOUT=20", "user", "pw")


To:

def getModel(name : String) = VirtModel.createDatabaseModel
(name,"localhost/CHARSET=UTF-8/TIMEOUT=20", "user", "pw");

Or:

def getModel(name : String) = VirtModel.createDatabaseModel
(name,"localhost:1111/CHARSET=UTF-8/TIMEOUT=20", "user", "pw");

This will force the Jena Provider to make a pooled connection to the
Virtuoso Server, resulting in connections being re-used when
available
rather than on for each request as is the case with the default
"jdbc:virtuoso://localhost..."  connect string URL.

Let us know if this resolves the issue for you ...

Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support



On 2 Oct 2009, at 12:14, Georgi Kobilarov wrote:

Thanks Hugh,

I downloaded the new jdbc and jena driver, but the problem still
exists. The
virtuoso.log doesn't list any errors.

Georgi

-----Original Message-----
From: Hugh Williams [mailto:hwilli...@openlinksw.com]
Sent: Thursday, October 01, 2009 7:39 PM
To: Georgi Kobilarov
Cc: virtuoso-users@lists.sourceforge.net
Subject: Re: [Virtuoso-users] Jena/JDBC connection not properly
closed

Hi Georgi,

Can you please download the latest Virtuoso Jena and JDBC Drivers
and
repeat your tests as their have been a number of fixes in both:

        ftp://download.openlinksw.com/support/vos/virt_jena.jar
        ftp://download.openlinksw.com/support/vos/virtjdbc3.jar

Also please check in your virtuoso.log file to see if any errors
are
being reported on the server ...

Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support



On 1 Oct 2009, at 17:06, Georgi Kobilarov wrote:

Hello,

I ran into a problem with the Virtuoso Jena driver. I'm using the
virtuoso
jena library to write rdf to Virtuoso, and after around 8000
connections I
get the exception:
Virtuoso.jdbc3.VirtuosoException: Connection failed: No buffer
space
available (maximum connections reached?)

My code (see below, written in Scala) does close the model, so I
believe the
connection should be closed as well. But netstat on Windows shows
thousands
of open connections. What am I missing?

Best,
Georgi



def replaceModel(replace: String, by: Model, in: String) = {
val target_model = getModel(in)
target_model.begin
try {
val old_resource = target_model.getResource(replace)
old_resource.removeProperties

target_model.add(by)
} catch {
  case ex: Exception => { target_model.abort; throw ex}
} finally {
  target_model.commit
  target_model.close
}
}

def getModel(name : String) = VirtModel.createDatabaseModel (name,
"jdbc:virtuoso://localhost/CHARSET=UTF-8/TIMEOUT=20", "user",
"pw")


-----------------------------------------------------------------
--
--
---------
Come build with us! The BlackBerry® Developer Conference in
SF,
CA
is the only developer event you need to attend this year.
Jumpstart
your
developing skills, take BlackBerry mobile applications to market
and
stay
ahead of the curve. Join us from November 9-12, 2009.
Register
now!
http://p.sf.net/sfu/devconf
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users


-------------------------------------------------------------------
--
---------
Come build with us! The BlackBerry® Developer Conference in SF,
CA
is the only developer event you need to attend this year. Jumpstart
your
developing skills, take BlackBerry mobile applications to market
and
stay
ahead of the curve. Join us from November 9-12, 2009. Register
now!
http://p.sf.net/sfu/devconf
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users


---------------------------------------------------------------------
---------
Come build with us! The BlackBerry® Developer Conference in SF,
CA
is the only developer event you need to attend this year. Jumpstart
your
developing skills, take BlackBerry mobile applications to market and
stay
ahead of the curve. Join us from November 9-12, 2009. Register
now!
http://p.sf.net/sfu/devconf
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users


Reply via email to