Hi Hugh,
the application was simply firing sequential queries through a Spring driver
that was simply simulating the pooling interface but was not actually doing
real pooling:

http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/jdbc/datasource/DriverManagerDataSource.html

And in fact, in the documentation, there was a note:
*NOTE: This class is not an actual connection pool; it does not actually
pool Connections. It just serves as simple replacement for a full-blown
connection pool, implementing the same standard interface, but creating new
Connections on every call. *

Dropping that driver and going with the standard Grails dataSource with
pooling seems working fine.

I really appreciate your help.
Thank you
Paolo


On Thu, Sep 3, 2009 at 11:50 AM, Hugh Williams <hwilli...@openlinksw.com>wrote:

> Hi Paolo,
> Are you making a normal or pooled connection to the database ? As pooled
> connection would be best if you application/script is making many continuos
> connects and disconnects during this process as detailed at:
>
>
> http://docs.openlinksw.com/virtuoso/VirtuosoDriverJDBC.html#jdbc3features
>
>  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 Sep 2009, at 01:22, Paolo Ciccarese wrote:
>
> Hi Hugh,
> I tried with the last driver but I still have the same problems.
>
> I am not sure it is helpful but, if I add dummy code to increase the time
> elapsed in between the queries, it seems behaving much much better (it often
> completes the task without triggering connection problems).
>
> Thank you for your help
> Paolo
>
> On Tue, Sep 1, 2009 at 6:36 PM, Hugh Williams <hwilli...@openlinksw.com>wrote:
>
>> Hi Paolo,
>> Can you please try using the latest cut of the Virtuoso JDBC Driver to see
>> how this fares. It can be downloaded from the following FTP URL:
>>
>> ftp://download.openlinksw.com/support/vos/virtjdbc3.jar
>>
>>  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 Sep 2009, at 18:42, Paolo Ciccarese wrote:
>>
>> Hi Hugh,
>> I increased the memory of the grails application to 1Gb. But it barely
>> reaches 240Mb.
>>
>> I am attaching the virtuoso.ini that I haven't changed and the log file.
>> This is the exception as I see it in the console (after about 30000 queries
>> of the same type):
>>
>> 2009-09-01 13:34:49,632 [798417047@qtp0-0] ERROR
>> errors.GrailsExceptionResolver  -
>> org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get
>> JDBC Connection; nested exception is virtuoso.jdbc3.VirtuosoException:
>> Connection failed: Can't assign requested address
>> org.codehaus.groovy.runtime.InvokerInvocationException:
>> org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get
>> JDBC Connection; nested exception is virtuoso.jdbc3.VirtuosoException:
>> Connection failed: Can't assign requested address
>>     at
>> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:92)
>>     at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
>>     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1062)
>>     at
>> groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:926)
>>     at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:893)
>>     at groovy.lang.Closure.call(Closure.java:279)
>>     at groovy.lang.Closure.call(Closure.java:274)
>>     at org.codehaus.groovy.grails.
>> web.servlet.mvc.SimpleGrailsControllerHelper.handleAction
>> (SimpleGrailsControllerHelper.java:368)
>>     at org.codehaus.groovy.grails.
>> web.servlet.mvc.SimpleGrailsControllerHelper.executeAction
>> (SimpleGrailsControllerHelper.java:243)
>>     at org.codehaus.groovy.grails.
>> web.servlet.mvc.SimpleGrailsControllerHelper.handleURI
>> (SimpleGrailsControllerHelper.java:203)
>>     at org.codehaus.groovy.grails.
>> web.servlet.mvc.SimpleGrailsControllerHelper.handleURI
>> (SimpleGrailsControllerHelper.java:138)
>>     at org.codehaus.groovy.grails.
>> web.servlet.mvc.SimpleGrailsController.handleRequest
>> (SimpleGrailsController.java:88)
>>     at org.springframework.
>> web.servlet.mvc.SimpleControllerHandlerAdapter.handle
>> (SimpleControllerHandlerAdapter.java:48)
>>     at org.codehaus.groovy.grails.
>> web.servlet.GrailsDispatcherServlet.doDispatch
>> (GrailsDispatcherServlet.java:264)
>>     at org.springframework.web.servlet.DispatcherServlet.doService
>> (DispatcherServlet.java:807)
>>     at org.springframework.web.servlet.FrameworkServlet.processRequest
>> (FrameworkServlet.java:571)
>>     at org.springframework.web.servlet.FrameworkServlet.doGet
>> (FrameworkServlet.java:501)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>     at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1124)
>>     at org.springframework.web.filter.OncePerRequestFilter.doFilter
>> (OncePerRequestFilter.java:70)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
>>     at org.springframework.web.filter.OncePerRequestFilter.doFilter
>> (OncePerRequestFilter.java:70)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
>>     at org.springframework.web.filter.OncePerRequestFilter.doFilter
>> (OncePerRequestFilter.java:70)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361)
>>     at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>     at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>>     at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>>     at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>>     at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:334)
>>     at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
>>     at org.codehaus.groovy.grails.
>> web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:293)
>>     at org.codehaus.groovy.grails.
>> web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:269)
>>     at org.codehaus.groovy.grails.
>> web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:261)
>>     at org.codehaus.groovy.grails.
>> web.mapping.filter.UrlMappingsFilter.doFilterInternal
>> (UrlMappingsFilter.java:181)
>>     at org.springframework.web.filter.OncePerRequestFilter.doFilter
>> (OncePerRequestFilter.java:76)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
>>     at org.codehaus.groovy.grails.
>> web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:221)
>>     at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter
>> (GrailsPageFilter.java:126)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
>>     at org.codehaus.groovy.grails.
>> web.servlet.filter.GrailsReloadServletFilter.doFilterInternal
>> (GrailsReloadServletFilter.java:101)
>>     at org.springframework.web.filter.OncePerRequestFilter.doFilter
>> (OncePerRequestFilter.java:76)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
>>     at org.codehaus.groovy.grails.
>> web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal
>> (GrailsWebRequestFilter.java:65)
>>     at org.springframework.web.filter.OncePerRequestFilter.doFilter
>> (OncePerRequestFilter.java:76)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
>>     at org.springframework.
>> web.filter.CharacterEncodingFilter.doFilterInternal
>> (CharacterEncodingFilter.java:96)
>>     at org.springframework.web.filter.OncePerRequestFilter.doFilter
>> (OncePerRequestFilter.java:76)
>>     at org.springframework.
>> web.filter.DelegatingFilterProxy.invokeDelegate
>> (DelegatingFilterProxy.java:236)
>>     at org.springframework.web.filter.DelegatingFilterProxy.doFilter
>> (DelegatingFilterProxy.java:167)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
>>     at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361)
>>     at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>     at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>>     at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>>     at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
>>     at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>     at org.mortbay.jetty.Server.handle(Server.java:324)
>>     at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
>>     at
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
>>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533)
>>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207)
>>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>>     at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>     at
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
>> Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException:
>> Could not get JDBC Connection; nested exception is
>> virtuoso.jdbc3.VirtuosoException: Connection failed: Can't assign requested
>> address
>>     at
>> com.commonsemantics.grails.services.utils.QueryService.getSparqlResultRowMaps(QueryService.groovy:23)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.queryEntity(SubclassesIndexingService.groovy:284)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$queryEntity.callCurrent(Unknown
>> Source)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.indexHierarchy(SubclassesIndexingService.groovy:173)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.this$2$indexHierarchy(SubclassesIndexingService.groovy)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$this$2$indexHierarchy.callCurrent(Unknown
>> Source)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.doSecondTraversal(SubclassesIndexingService.groovy:101)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.this$2$doSecondTraversal(SubclassesIndexingService.groovy)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$this$2$doSecondTraversal.callCurrent(Unknown
>> Source)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.process(SubclassesIndexingService.groovy:82)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.this$2$process(SubclassesIndexingService.groovy)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$this$2$process.callCurrent(Unknown
>> Source)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.indexVocabulary(SubclassesIndexingService.groovy:75)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$indexVocabulary.callCurrent(Unknown
>> Source)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.indexVocabularies(SubclassesIndexingService.groovy:66)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$indexVocabularies.call(Unknown
>> Source)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesController$_closure2.doCall(SubclassesController.groovy:26)
>>     at
>> com.commonsemantics.grails.service.indexes.SubclassesController$_closure2.doCall(SubclassesController.groovy)
>> Caused by: virtuoso.jdbc3.VirtuosoException: Connection failed: Can't
>> assign requested address
>>     at virtuoso.jdbc3.VirtuosoConnection.connect(Unknown Source)
>>     at virtuoso.jdbc3.VirtuosoConnection.connect(Unknown Source)
>>     at virtuoso.jdbc3.VirtuosoConnection.<init>(Unknown Source)
>>     at virtuoso.jdbc3.Driver.connect(Unknown Source)
>>     at java.sql.DriverManager.getConnection(DriverManager.java:582)
>>     at java.sql.DriverManager.getConnection(DriverManager.java:154)
>>     ... 18 more
>>
>>
>> thank you,
>> Paolo
>>
>> On Tue, Sep 1, 2009 at 1:25 PM, Hugh Williams 
>> <hwilli...@openlinksw.com>wrote:
>>
>>>  Hi Paolo,
>>> How did you increase the amount of available memory ?
>>>
>>> Can you provide a copy of your Virtuoso configuration (virtuoso.ini) and
>>> log (virtuoso.log) files for analysis ...
>>>
>>>  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 31 Aug 2009, at 17:46, Paolo Ciccarese wrote:
>>>
>>> I am currently working on some algorithms for indexing subclasses in
>>> ontologies expressed in OWL. I therefore traverse the ontology performing a
>>> list of queries. Unfortunately, most of the times, the indexing process is
>>> not completing due to the following error:
>>>
>>> Could not get JDBC Connection; nested exception is
>>> virtuoso.jdbc3.VirtuosoException: Connection failed: Can't assign requested
>>> address
>>>
>>> org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get
>>> JDBC Connection; nested exception is virtuoso.jdbc3.VirtuosoException:
>>> Connection failed: Can't assign requested address
>>> at
>>> com.commonsemantics.grails.services.utils.QueryService.getSparqlResultRowMaps(QueryService.groovy:23)
>>> at
>>> com.commonsemantics.grails.services.utils.QueryService$getSparqlResultRowMaps.call(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.querySubclasses(SubclassesIndexingService.groovy:224)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$querySubclasses.callCurrent(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.recursiveIndexing(SubclassesIndexingService.groovy:154)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.this$2$recursiveIndexing(SubclassesIndexingService.groovy)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$this$2$recursiveIndexing.callCurrent(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.recursiveIndexing(SubclassesIndexingService.groovy:163)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.this$2$recursiveIndexing(SubclassesIndexingService.groovy)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$this$2$recursiveIndexing.callCurrent(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.recursiveIndexing(SubclassesIndexingService.groovy:163)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.this$2$recursiveIndexing(SubclassesIndexingService.groovy)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$this$2$recursiveIndexing.callCurrent(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.recursiveIndexing(SubclassesIndexingService.groovy:163)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.this$2$recursiveIndexing(SubclassesIndexingService.groovy)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$this$2$recursiveIndexing.callCurrent(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.recursiveIndexing(SubclassesIndexingService.groovy:163)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.this$2$recursiveIndexing(SubclassesIndexingService.groovy)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$this$2$recursiveIndexing.callCurrent(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.recursiveIndexing(SubclassesIndexingService.groovy:163)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.this$2$recursiveIndexing(SubclassesIndexingService.groovy)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$this$2$recursiveIndexing.callCurrent(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.indexHierarchy(SubclassesIndexingService.groovy:136)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.this$2$indexHierarchy(SubclassesIndexingService.groovy)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$this$2$indexHierarchy.callCurrent(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.indexVocabulary(SubclassesIndexingService.groovy:86)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$indexVocabulary.callCurrent(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService.indexVocabularies(SubclassesIndexingService.groovy:69)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingService$indexVocabularies.call(Unknown
>>> Source)
>>> at
>>> com.commonsemantics.grails.service.indexes.SubclassesIndexingServiceTests.testSomething(SubclassesIndexingServiceTests.groovy:35)
>>> at _GrailsTest_groovy$_run_closure4.doCall(_GrailsTest_groovy:203)
>>> at _GrailsTest_groovy$_run_closure4.call(_GrailsTest_groovy)
>>> at _GrailsTest_groovy$_run_closure2.doCall(_GrailsTest_groovy:147)
>>> at
>>> _GrailsTest_groovy$_run_closure1_closure19.doCall(_GrailsTest_groovy:113)
>>> at _GrailsTest_groovy$_run_closure1.doCall(_GrailsTest_groovy:96)
>>> at TestApp$_run_closure1.doCall(TestApp.groovy:66)
>>> at gant.Gant$_dispatch_closure4.doCall(Gant.groovy:324)
>>> at gant.Gant$_dispatch_closure6.doCall(Gant.groovy:334)
>>> at gant.Gant$_dispatch_closure6.doCall(Gant.groovy)
>>> at gant.Gant.withBuildListeners(Gant.groovy:344)
>>> at gant.Gant.this$2$withBuildListeners(Gant.groovy)
>>> at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)
>>> at gant.Gant.dispatch(Gant.groovy:334)
>>> at gant.Gant.this$2$dispatch(Gant.groovy)
>>> at gant.Gant.invokeMethod(Gant.groovy)
>>> at gant.Gant.processTargets(Gant.groovy:495)
>>> at gant.Gant.processTargets(Gant.groovy:480)
>>> Caused by: virtuoso.jdbc3.VirtuosoException: Connection failed: Can't
>>> assign requested address
>>> at virtuoso.jdbc3.VirtuosoConnection.connect(Unknown Source)
>>> at virtuoso.jdbc3.VirtuosoConnection.connect(Unknown Source)
>>> at virtuoso.jdbc3.VirtuosoConnection.(Unknown Source)
>>> at virtuoso.jdbc3.Driver.connect(Unknown Source)
>>> at java.sql.DriverManager.getConnection(DriverManager.java:525)
>>> at java.sql.DriverManager.getConnection(DriverManager.java:140)
>>>
>>> I am working in a Grails (version 1.1.1) environment, Virtuoso (version
>>> 5.0.11), Drivers (jdbc3).
>>>
>>> I am performing really simple queries of the type:
>>> sparql $NAMESPACE_PREFIXES SELECT ?subject ?label FROM <$vocabularyUri>
>>> WHERE {?subject rdfs:subClassOf <$uri>. ?subject rdfs:label ?label}
>>>
>>> Again, with the same setup, sometimes (rarely) the process completes
>>> sometimes not. It blows up in different steps of the indexing (can be after
>>> 129, 876, 3000, 12000... queries). Increasing the amount of memory available
>>> delays the blow up, but I still have the problem.
>>>
>>> Any idea that could help me?
>>>
>>> Thank you
>>> Paolo
>>>
>>> --
>>> Paolo Ciccarese
>>>
>>> ------------------------------------------------------------------------------
>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008
>>> 30-Day
>>> trial. Simplify your report design, integration and deployment - and
>>> focus on
>>> what you do best, core application coding. Discover what's new with
>>> Crystal Reports now.
>>> http://p.sf.net/sfu/bobj-july_______________________________________________
>>> Virtuoso-users mailing list
>>> Virtuoso-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>>>
>>>
>>>
>>
>>
>>
> --
> Paolo Ciccarese
>
>
>


-- 
Paolo Ciccarese, PhD
Biomedical Informatics Research & Development
Instructor of Neurology at Harvard Medical School
Assistant in Neuroscience at Mass General Hospital
Mobile +1-857-366-1524

Reply via email to