You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@manifoldcf.apache.org by "Karl Wright (JIRA)" <ji...@apache.org> on 2010/09/18 00:18:32 UTC

[jira] Created: (CONNECTORS-109) Queue status report fails under Derby

Queue status report fails under Derby
-------------------------------------

                 Key: CONNECTORS-109
                 URL: https://issues.apache.org/jira/browse/CONNECTORS-109
             Project: Apache Connectors Framework
          Issue Type: Bug
          Components: Framework crawler agent
            Reporter: Karl Wright


If you try to use the queue status report with Derby as the database, you get the following error:

2010-09-17 18:03:21.558:WARN::Nested in javax.servlet.ServletException: org.apac
he.acf.core.interfaces.ACFException: Database exception: Exception doing query:
Syntax error: Encountered "SUBSTRING" at line 1, column 8.:
org.apache.acf.core.interfaces.ACFException: Database exception: Exception doing
 query: Syntax error: Encountered "SUBSTRING" at line 1, column 8.
        at org.apache.acf.core.database.Database.executeViaThread(Database.java:
421)
        at org.apache.acf.core.database.Database.executeUncachedQuery(Database.j
ava:465)
        at org.apache.acf.core.database.Database$QueryCacheExecutor.create(Datab
ase.java:1072)
        at org.apache.acf.core.cachemanager.CacheManager.findObjectsAndExecute(C
acheManager.java:144)
        at org.apache.acf.core.database.Database.executeQuery(Database.java:167)

        at org.apache.acf.core.database.DBInterfaceDerby.performQuery(DBInterfac
eDerby.java:751)
        at org.apache.acf.crawler.jobs.JobManager.genQueueStatus(JobManager.java
:5981)
        at org.apache.jsp.queuestatus_jsp._jspService(queuestatus_jsp.java:769)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:377)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
13)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
90)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
82)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
65)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)

        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
        at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.j
ava:706)
        at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.jav
a:677)
        at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:1291)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:377)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
13)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
90)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
82)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
65)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)

        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
java:114)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
52)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54
2)
        at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
n.java:938)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
java:228)
        at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java (502)

The reason for the error is that Derby does not recognize the SUBSTRING(...) operation, which extracts parts of a string based on a regular expression.  In other places in Derby where regular expressions were required, I've been successful in using LIKE clauses instead, but this is harder because a GROUP BY is used that depends on the part of the string selected by the user.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CONNECTORS-109) Queue status report fails under Derby

Posted by "Karl Wright (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CONNECTORS-109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karl Wright reassigned CONNECTORS-109:
--------------------------------------

    Assignee: Karl Wright

> Queue status report fails under Derby
> -------------------------------------
>
>                 Key: CONNECTORS-109
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-109
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Framework crawler agent
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>
> If you try to use the queue status report with Derby as the database, you get the following error:
> 2010-09-17 18:03:21.558:WARN::Nested in javax.servlet.ServletException: org.apac
> he.acf.core.interfaces.ACFException: Database exception: Exception doing query:
> Syntax error: Encountered "SUBSTRING" at line 1, column 8.:
> org.apache.acf.core.interfaces.ACFException: Database exception: Exception doing
>  query: Syntax error: Encountered "SUBSTRING" at line 1, column 8.
>         at org.apache.acf.core.database.Database.executeViaThread(Database.java:
> 421)
>         at org.apache.acf.core.database.Database.executeUncachedQuery(Database.j
> ava:465)
>         at org.apache.acf.core.database.Database$QueryCacheExecutor.create(Datab
> ase.java:1072)
>         at org.apache.acf.core.cachemanager.CacheManager.findObjectsAndExecute(C
> acheManager.java:144)
>         at org.apache.acf.core.database.Database.executeQuery(Database.java:167)
>         at org.apache.acf.core.database.DBInterfaceDerby.performQuery(DBInterfac
> eDerby.java:751)
>         at org.apache.acf.crawler.jobs.JobManager.genQueueStatus(JobManager.java
> :5981)
>         at org.apache.jsp.queuestatus_jsp._jspService(queuestatus_jsp.java:769)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:377)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 13)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
> )
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 90)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 82)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 65)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
>         at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.j
> ava:706)
>         at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.jav
> a:677)
>         at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:1291)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:377)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 13)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
> )
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 90)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 82)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 65)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
> java:114)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
> 52)
>         at org.mortbay.jetty.Server.handle(Server.java:326)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54
> 2)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
> n.java:938)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
> java:228)
>         at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java (502)
> The reason for the error is that Derby does not recognize the SUBSTRING(...) operation, which extracts parts of a string based on a regular expression.  In other places in Derby where regular expressions were required, I've been successful in using LIKE clauses instead, but this is harder because a GROUP BY is used that depends on the part of the string selected by the user.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CONNECTORS-109) Queue status report fails under Derby

Posted by "Karl Wright (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CONNECTORS-109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12910822#action_12910822 ] 

Karl Wright commented on CONNECTORS-109:
----------------------------------------

The same is true of the maximum activity report, maximum bandwidth report, and result code report as well.


> Queue status report fails under Derby
> -------------------------------------
>
>                 Key: CONNECTORS-109
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-109
>             Project: Apache Connectors Framework
>          Issue Type: Bug
>          Components: Framework crawler agent
>            Reporter: Karl Wright
>
> If you try to use the queue status report with Derby as the database, you get the following error:
> 2010-09-17 18:03:21.558:WARN::Nested in javax.servlet.ServletException: org.apac
> he.acf.core.interfaces.ACFException: Database exception: Exception doing query:
> Syntax error: Encountered "SUBSTRING" at line 1, column 8.:
> org.apache.acf.core.interfaces.ACFException: Database exception: Exception doing
>  query: Syntax error: Encountered "SUBSTRING" at line 1, column 8.
>         at org.apache.acf.core.database.Database.executeViaThread(Database.java:
> 421)
>         at org.apache.acf.core.database.Database.executeUncachedQuery(Database.j
> ava:465)
>         at org.apache.acf.core.database.Database$QueryCacheExecutor.create(Datab
> ase.java:1072)
>         at org.apache.acf.core.cachemanager.CacheManager.findObjectsAndExecute(C
> acheManager.java:144)
>         at org.apache.acf.core.database.Database.executeQuery(Database.java:167)
>         at org.apache.acf.core.database.DBInterfaceDerby.performQuery(DBInterfac
> eDerby.java:751)
>         at org.apache.acf.crawler.jobs.JobManager.genQueueStatus(JobManager.java
> :5981)
>         at org.apache.jsp.queuestatus_jsp._jspService(queuestatus_jsp.java:769)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:377)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 13)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
> )
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 90)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 82)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 65)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
>         at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.j
> ava:706)
>         at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.jav
> a:677)
>         at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:1291)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:377)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 13)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
> )
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 90)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 82)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 65)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
> java:114)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
> 52)
>         at org.mortbay.jetty.Server.handle(Server.java:326)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54
> 2)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
> n.java:938)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
> java:228)
>         at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java (502)
> The reason for the error is that Derby does not recognize the SUBSTRING(...) operation, which extracts parts of a string based on a regular expression.  In other places in Derby where regular expressions were required, I've been successful in using LIKE clauses instead, but this is harder because a GROUP BY is used that depends on the part of the string selected by the user.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CONNECTORS-109) Queue status report fails under Derby

Posted by "Karl Wright (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CONNECTORS-109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karl Wright resolved CONNECTORS-109.
------------------------------------

       Resolution: Fixed
    Fix Version/s: LCF Release 0.5

Hooked up user-defined functions to perform regular expression matching in Derby.  r1029455.


> Queue status report fails under Derby
> -------------------------------------
>
>                 Key: CONNECTORS-109
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-109
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Framework crawler agent
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>             Fix For: LCF Release 0.5
>
>
> If you try to use the queue status report with Derby as the database, you get the following error:
> 2010-09-17 18:03:21.558:WARN::Nested in javax.servlet.ServletException: org.apac
> he.acf.core.interfaces.ACFException: Database exception: Exception doing query:
> Syntax error: Encountered "SUBSTRING" at line 1, column 8.:
> org.apache.acf.core.interfaces.ACFException: Database exception: Exception doing
>  query: Syntax error: Encountered "SUBSTRING" at line 1, column 8.
>         at org.apache.acf.core.database.Database.executeViaThread(Database.java:
> 421)
>         at org.apache.acf.core.database.Database.executeUncachedQuery(Database.j
> ava:465)
>         at org.apache.acf.core.database.Database$QueryCacheExecutor.create(Datab
> ase.java:1072)
>         at org.apache.acf.core.cachemanager.CacheManager.findObjectsAndExecute(C
> acheManager.java:144)
>         at org.apache.acf.core.database.Database.executeQuery(Database.java:167)
>         at org.apache.acf.core.database.DBInterfaceDerby.performQuery(DBInterfac
> eDerby.java:751)
>         at org.apache.acf.crawler.jobs.JobManager.genQueueStatus(JobManager.java
> :5981)
>         at org.apache.jsp.queuestatus_jsp._jspService(queuestatus_jsp.java:769)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:377)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 13)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
> )
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 90)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 82)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 65)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
>         at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.j
> ava:706)
>         at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.jav
> a:677)
>         at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:1291)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:377)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 13)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
> )
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 90)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 82)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 65)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
> java:114)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
> 52)
>         at org.mortbay.jetty.Server.handle(Server.java:326)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54
> 2)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
> n.java:938)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
> java:228)
>         at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java (502)
> The reason for the error is that Derby does not recognize the SUBSTRING(...) operation, which extracts parts of a string based on a regular expression.  In other places in Derby where regular expressions were required, I've been successful in using LIKE clauses instead, but this is harder because a GROUP BY is used that depends on the part of the string selected by the user.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CONNECTORS-109) Queue status report fails under Derby

Posted by "Karl Wright (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CONNECTORS-109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12911113#action_12911113 ] 

Karl Wright commented on CONNECTORS-109:
----------------------------------------

Made most of the necessary code changes to correct this problem locally, but can't commit them yet because Derby's functions are limited in the current release to not allow CLOB arguments.  This issue is going to be addressed in the next release of Derby, see DERBY-4066.  The alternative is to build a trunk version of Derby and use that instead.


> Queue status report fails under Derby
> -------------------------------------
>
>                 Key: CONNECTORS-109
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-109
>             Project: Apache Connectors Framework
>          Issue Type: Bug
>          Components: Framework crawler agent
>            Reporter: Karl Wright
>
> If you try to use the queue status report with Derby as the database, you get the following error:
> 2010-09-17 18:03:21.558:WARN::Nested in javax.servlet.ServletException: org.apac
> he.acf.core.interfaces.ACFException: Database exception: Exception doing query:
> Syntax error: Encountered "SUBSTRING" at line 1, column 8.:
> org.apache.acf.core.interfaces.ACFException: Database exception: Exception doing
>  query: Syntax error: Encountered "SUBSTRING" at line 1, column 8.
>         at org.apache.acf.core.database.Database.executeViaThread(Database.java:
> 421)
>         at org.apache.acf.core.database.Database.executeUncachedQuery(Database.j
> ava:465)
>         at org.apache.acf.core.database.Database$QueryCacheExecutor.create(Datab
> ase.java:1072)
>         at org.apache.acf.core.cachemanager.CacheManager.findObjectsAndExecute(C
> acheManager.java:144)
>         at org.apache.acf.core.database.Database.executeQuery(Database.java:167)
>         at org.apache.acf.core.database.DBInterfaceDerby.performQuery(DBInterfac
> eDerby.java:751)
>         at org.apache.acf.crawler.jobs.JobManager.genQueueStatus(JobManager.java
> :5981)
>         at org.apache.jsp.queuestatus_jsp._jspService(queuestatus_jsp.java:769)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:377)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 13)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
> )
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 90)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 82)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 65)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
>         at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.j
> ava:706)
>         at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.jav
> a:677)
>         at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:1291)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:377)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 13)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
> )
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 90)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 82)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 65)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
> java:114)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
> 52)
>         at org.mortbay.jetty.Server.handle(Server.java:326)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54
> 2)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
> n.java:938)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
> java:228)
>         at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java (502)
> The reason for the error is that Derby does not recognize the SUBSTRING(...) operation, which extracts parts of a string based on a regular expression.  In other places in Derby where regular expressions were required, I've been successful in using LIKE clauses instead, but this is harder because a GROUP BY is used that depends on the part of the string selected by the user.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CONNECTORS-109) Queue status report fails under Derby

Posted by "Karl Wright (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CONNECTORS-109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12911146#action_12911146 ] 

Karl Wright commented on CONNECTORS-109:
----------------------------------------

Committed the set of changes necessary to use the DERBY-4066 fix properly when it becomes available.  r998576.


> Queue status report fails under Derby
> -------------------------------------
>
>                 Key: CONNECTORS-109
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-109
>             Project: Apache Connectors Framework
>          Issue Type: Bug
>          Components: Framework crawler agent
>            Reporter: Karl Wright
>
> If you try to use the queue status report with Derby as the database, you get the following error:
> 2010-09-17 18:03:21.558:WARN::Nested in javax.servlet.ServletException: org.apac
> he.acf.core.interfaces.ACFException: Database exception: Exception doing query:
> Syntax error: Encountered "SUBSTRING" at line 1, column 8.:
> org.apache.acf.core.interfaces.ACFException: Database exception: Exception doing
>  query: Syntax error: Encountered "SUBSTRING" at line 1, column 8.
>         at org.apache.acf.core.database.Database.executeViaThread(Database.java:
> 421)
>         at org.apache.acf.core.database.Database.executeUncachedQuery(Database.j
> ava:465)
>         at org.apache.acf.core.database.Database$QueryCacheExecutor.create(Datab
> ase.java:1072)
>         at org.apache.acf.core.cachemanager.CacheManager.findObjectsAndExecute(C
> acheManager.java:144)
>         at org.apache.acf.core.database.Database.executeQuery(Database.java:167)
>         at org.apache.acf.core.database.DBInterfaceDerby.performQuery(DBInterfac
> eDerby.java:751)
>         at org.apache.acf.crawler.jobs.JobManager.genQueueStatus(JobManager.java
> :5981)
>         at org.apache.jsp.queuestatus_jsp._jspService(queuestatus_jsp.java:769)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:377)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 13)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
> )
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 90)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 82)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 65)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
>         at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.j
> ava:706)
>         at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.jav
> a:677)
>         at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:1291)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
> .java:377)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
> 13)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511
> )
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 90)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
> a:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 82)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 65)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
> java:114)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
> 52)
>         at org.mortbay.jetty.Server.handle(Server.java:326)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:54
> 2)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
> n.java:938)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.
> java:228)
>         at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java (502)
> The reason for the error is that Derby does not recognize the SUBSTRING(...) operation, which extracts parts of a string based on a regular expression.  In other places in Derby where regular expressions were required, I've been successful in using LIKE clauses instead, but this is harder because a GROUP BY is used that depends on the part of the string selected by the user.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.