林晓东 | 2 Jul 03:20 2016

query performance on large db with range index

hi,all
   I have more than 500,000  EHR HL7 CDA like file in exist-db, 
with range index like:
        <range>
            <create qname=" <at> value" type="xs:string" />
        </range>

and do query 
collection('/db/ehr/v2')//HDSN00.01.001[ <at> value eq "20101230"]
can response within 300ms, but query 
collection('/db/ehr/v2')//HDSN00.01.001[ <at> value le "20101230"]
only response more than 2min, it's reseasonable?

trunk version, windows 7 64, existdb mem cache >2G 




 
--
此致

   林晓东

莫愁前路无知己,天下谁人不识君。


 

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Exist-open mailing list
Exist-open <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/exist-open
林晓东 | 2 Jul 02:56 2016

browse index node in monex console error.

in trunk version, 

Browse Indexes: 

got :

HTTP ERROR 500

Problem accessing /exist/apps/monex/index-keys.html. Reason:

Server Error

Caused by:

javax.servlet.ServletException: An unknown error occurred: org.exist.xquery.Expression.getSource()Lorg/exist/security/xacml/XACMLSource; at org.exist.http.servlets.EXistServlet.doPost(EXistServlet.java:460) at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)........

Caused by:

java.lang.NoSuchMethodError: org.exist.xquery.Expression.getSource()Lorg/exist/security/xacml/XACMLSource; at org.exist.console.xquery.Log.eval(Log.java:171) at org.exist.xquery.BasicFunction.eval(BasicFunction.java:73) at org.exist.xquery.InternalFunctionCall.eval(InternalFunctionCall.java:41) at org.exist.xquery.LetExpr.eval(LetExpr.java:99) at org.exist.xquery.LetExpr.eval(LetExpr.java:111) at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155) at org.exist.xquery.DynamicTypeCheck.eval(DynamicTypeCheck.java:61) at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:302) at org.exist.xquery.FunctionCall.eval(FunctionCall.java:223) at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:100) at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) at org.exist.xquery.PathExpr.eval(PathExpr.java:267) at org.exist.xquery.VariableDeclaration.eval(VariableDeclaration.java:119) at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) at org.exist.xquery.ExternalModuleImpl.resolveVariable(ExternalModuleImpl.java:219) at org.exist.xquery.ModuleContext.resolveVariable(ModuleContext.java:422) at org.exist.xquery.VariableReference.returnsType(VariableReference.java:132) at org.exist.xquery.DynamicCardinalityCheck.returnsType(DynamicCardinalityCheck.java:116) at org.exist.xquery.Function.checkArgument(Function.java:258) at org.exist.xquery.Function.checkArguments(Function.java:219) at org.exist.xquery.Function.analyze(Function.java:332) at org.exist.xquery.functions.util.IndexType.analyze(IndexType.java:68) at org.exist.xquery.InternalFunctionCall.analyze(InternalFunctionCall.java:82) at org.exist.xquery.BinaryOp.analyze(BinaryOp.java:70) at org.exist.xquery.GeneralComparison.analyze(GeneralComparison.java:160) at org.exist.xquery.ConditionalExpression.analyze(ConditionalExpression.java:83) at org.exist.xquery.ConditionalExpression.analyze(ConditionalExpression.java:86) at org.exist.xquery.LetExpr.analyze(LetExpr.java:57) at org.exist.xquery.LetExpr.analyze(LetExpr.java:66) at org.exist.xquery.UserDefinedFunction.analyze(UserDefinedFunction.java:110) at org.exist.xquery.FunctionCall.analyze(FunctionCall.java:148) at org.exist.xquery.value.FunctionReference.analyze(FunctionReference.java:67) at org.exist.xquery.DynamicFunctionCall.eval(DynamicFunctionCall.java:73) at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) at org.exist.xquery.PathExpr.eval(PathExpr.java:267) at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) at org.exist.xquery.SwitchExpression.eval(SwitchExpression.java:104) at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155) at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:302) at org.exist.xquery.FunctionCall.eval(FunctionCall.java:223) at org.exist.xquery.DynamicCardinalityCheck.eval(DynamicCardinalityCheck.java:74) at org.exist.xquery.FunctionCall.eval(FunctionCall.java:205) at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58) at org.exist.xquery.LetExpr.eval(LetExpr.java:111) at org.exist.xquery.LetExpr.eval(LetExpr.java:111) at org.exist.xquery.LetExpr.eval(LetExpr.java:111) at org.exist.xquery.LetExpr.eval(LetExpr.java:111) at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155) at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:302) at org.exist.xquery.FunctionCall.eval(FunctionCall.java:223) at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:100) at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58) at org.exist.xquery.LetExpr.eval(LetExpr.java:111) at org.exist.xquery.LetExpr.eval(LetExpr.java:111) at org.exist.xquery.LetExpr.eval(LetExpr.java:111) at org.exist.xquery.LetExpr.eval(LetExpr.java:111) at org.exist.xquery.UserDefinedFunction.eval(UserDefinedFunction.java:155) at org.exist.xquery.FunctionCall.evalFunction(FunctionCall.java:302) at org.exist.xquery.FunctionCall.eval(FunctionCall.java:223) at org.exist.xquery.ConditionalExpression.eval(ConditionalExpression.java:100) at org.exist.xquery.DebuggableExpression.eval(DebuggableExpression.java:58) at org.exist.xquery.LetExpr.eval(LetExpr.java:111) at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) at org.exist.xquery.PathExpr.eval(PathExpr.java:267) at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71)


--
此致

   林晓东

莫愁前路无知己,天下谁人不识君。


 

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Exist-open mailing list
Exist-open <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/exist-open
林晓东 | 30 Jun 05:55 2016

query timeout , cause exception repeatedly!


Hi,all,
  I use the latest trunk version on windows 7, jdk 1.8,  run a heavy quert cause the timeout trigger. but ,the log always report :  

2016-06-30 11:46:29,771 [eXistThread-76] WARN  (XQueryWatchDog.java [proceed]:156) - Query exceeded predefined timeout (935,173 ms.): attribute-descendant::{}value 
2016-06-30 11:46:29,775 [eXistThread-76] ERROR (NativeStructuralIndexWorker.java [findDescendantsByTagName]:202) - Error while searching structural index: exerr:ERROR The query exceeded the predefined timeout and has been killed. [at line 4, column 3] 
org.exist.xquery.TerminatedException$TimeoutException: exerr:ERROR The query exceeded the predefined timeout and has been killed. [at line 4, column 3]
at org.exist.xquery.XQueryWatchDog.proceed(XQueryWatchDog.java:159) ~[exist.jar:?]
at org.exist.xquery.XQueryContext.proceed(XQueryContext.java:2295) ~[exist.jar:?]
at org.exist.storage.structural.NativeStructuralIndexWorker$FindDescendantsCallback.indexInfo(NativeStructuralIndexWorker.java:387) ~[exist.jar:?]
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1848) ~[exist.jar:?]
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1764) ~[exist.jar:?]
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1764) ~[exist.jar:?]
at org.exist.storage.btree.BTree$BTreeNode.query(BTree.java:1764) ~[exist.jar:?]
at org.exist.storage.btree.BTree$BTreeNode.access$1200(BTree.java:908) ~[exist.jar:?]
at org.exist.storage.btree.BTree.query(BTree.java:384) ~[exist.jar:?]
at org.exist.storage.structural.NativeStructuralIndexWorker.findDescendantsByTagName(NativeStructuralIndexWorker.java:200) [exist.jar:?]
at org.exist.xquery.LocationStep.getAttributes(LocationStep.java:657) [exist.jar:?]
at org.exist.xquery.LocationStep.eval(LocationStep.java:440) [exist.jar:?]
at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) [exist.jar:?]
at org.exist.xquery.PathExpr.eval(PathExpr.java:267) [exist.jar:?]
at org.exist.xquery.GeneralComparison.genericCompare(GeneralComparison.java:520) [exist.jar:?]
at org.exist.xquery.GeneralComparison.eval(GeneralComparison.java:476) [exist.jar:?]
at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) [exist.jar:?]
at org.exist.xquery.PathExpr.eval(PathExpr.java:267) [exist.jar:?]
at org.exist.xquery.AbstractExpression.eval(AbstractExpression.java:71) [exist.jar:?]
at org.exist.xquery.XQuery.execute(XQuery.java:253) [exist.jar:?]
at org.exist.xquery.XQuery.execute(XQuery.java:185) [exist.jar:?]
at org.exist.http.servlets.XQueryServlet.process(XQueryServlet.java:483) [exist-optional.jar:?]
at org.exist.http.servlets.XQueryServlet.doPost(XQueryServlet.java:196) [exist-optional.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) [servlet-api-3.0.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [servlet-api-3.0.jar:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) [jetty-servlet-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503) [jetty-servlet-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:575) [jetty-security-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429) [jetty-servlet-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:229) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:103) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.exist.http.urlrewrite.Forward.doRewrite(Forward.java:50) [exist-optional.jar:?]
at org.exist.http.urlrewrite.XQueryURLRewrite.doRewrite(XQueryURLRewrite.java:548) [exist-optional.jar:?]
at org.exist.http.urlrewrite.XQueryURLRewrite.service(XQueryURLRewrite.java:352) [exist-optional.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [servlet-api-3.0.jar:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) [jetty-servlet-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496) [jetty-servlet-8.1.17.v20150415.jar:8.1.17.v20150415]
at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:171) [betterform-exist-5.1-SNAPSHOT-20151014.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476) [jetty-servlet-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501) [jetty-servlet-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) [jetty-security-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429) [jetty-servlet-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.Server.handle(Server.java:370) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) [jetty-http-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) [jetty-http-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) [jetty-server-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696) [jetty-io-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53) [jetty-io-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) [jetty-util-8.1.17.v20150415.jar:8.1.17.v20150415]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) [jetty-util-8.1.17.v20150415.jar:8.1.17.v20150415]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_71]
2016-06-30 11:46:29,776 [eXistThread-76] WARN  (XQueryWatchDog.java [proceed]:156) - Query exceeded predefined timeout (935,178 ms.): attribute-descendant::{}value 
2016-06-30 11:46:29,776 [eXistThread-76] ERROR (NativeStructuralIndexWorker.java [findDescendantsByTagName]:202) - Error while searching structural index: exerr:ERROR The query exceeded the predefined timeout and has been killed. [at line 4, column 3] 
org.exist.xquery.TerminatedException$TimeoutException: exerr:ERROR The query exceeded the predefined timeout and has been killed. [at line 4, column 3]


--
此致

   林晓东

莫愁前路无知己,天下谁人不识君。


 

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Exist-open mailing list
Exist-open <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/exist-open
林晓东 | 30 Jun 03:34 2016

load with client.bat -l more than 400000 files, got error

Hi,all

  I load the file into db with bin\client.bat  -l  -s -q -d -p -c/db/ehr/v2 E:\full20150108-0923\db\ehr\v2\510682 -uadmin. after 3 hours. got :

Connecting to database...
Connected :-)
XMLDBException during parse: Database is read-only
org.xmldb.api.base.XMLDBException: Database is read-only
        at org.exist.xmldb.function.LocalXmldbCollectionFunction.apply(LocalXmldbCollectionFunction.java:54)
        at org.exist.xmldb.LocalCollection.lambda$null$103(LocalCollection.java:728)
        at org.exist.xmldb.function.LocalXmldbCollectionFunction.apply(LocalXmldbCollectionFunction.java:48)
        at org.exist.xmldb.AbstractLocal.lambda$with$273(AbstractLocal.java:172)
        at org.exist.xmldb.AbstractLocal.lambda$null$271(AbstractLocal.java:118)
        at org.exist.xmldb.function.LocalXmldbFunction.apply(LocalXmldbFunction.java:46)
        at org.exist.xmldb.AbstractLocal.withDb(AbstractLocal.java:195)
        at org.exist.xmldb.AbstractLocal.lambda$modify$272(AbstractLocal.java:118)
        at org.exist.xmldb.LocalCollection.lambda$modify$104(LocalCollection.java:726)
        at org.exist.xmldb.LocalCollection.storeXMLResource(LocalCollection.java:551)
        at org.exist.xmldb.LocalCollection.storeResource(LocalCollection.java:501)
        at org.exist.xmldb.LocalCollection.storeResource(LocalCollection.java:490)
        at org.exist.client.InteractiveClient.findRecursive(InteractiveClient.java:1364)
        at org.exist.client.InteractiveClient.findRecursive(InteractiveClient.java:1352)
        at org.exist.client.InteractiveClient.parse(InteractiveClient.java:1398)
        at org.exist.client.InteractiveClient.processCommandLineActions(InteractiveClient.java:2185)
        at org.exist.client.InteractiveClient.run(InteractiveClient.java:2398)
        at org.exist.client.InteractiveClient.main(InteractiveClient.java:261)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.exist.start.Main.invokeMain(Main.java:137)
        at org.exist.start.Main.run(Main.java:450)
        at org.exist.start.Main.main(Main.java:61)
Caused by: java.io.IOException: Database is read-only
        at org.exist.collections.Collection.validateXMLResourceInternal(Collection.java:1750)
        at org.exist.collections.Collection.validateXMLResource(Collection.java:1631)
        at org.exist.xmldb.LocalCollection.lambda$storeXMLResource$94(LocalCollection.java:565)
        at org.exist.xmldb.function.LocalXmldbCollectionFunction.apply(LocalXmldbCollectionFunction.java:48)
        ... 24 more
[B <at> 1337e502java.io.IOException: Database is read-only
        at org.exist.collections.Collection.validateXMLResourceInternal(Collection.java:1750)
        at org.exist.collections.Collection.validateXMLResource(Collection.java:1631)
        at org.exist.xmldb.LocalCollection.lambda$storeXMLResource$94(LocalCollection.java:565)
        at org.exist.xmldb.function.LocalXmldbCollectionFunction.apply(LocalXmldbCollectionFunction.java:48)
        at org.exist.xmldb.LocalCollection.lambda$null$103(LocalCollection.java:728)
        at org.exist.xmldb.function.LocalXmldbCollectionFunction.apply(LocalXmldbCollectionFunction.java:48)
        at org.exist.xmldb.AbstractLocal.lambda$with$273(AbstractLocal.java:172)
        at org.exist.xmldb.AbstractLocal.lambda$null$271(AbstractLocal.java:118)
        at org.exist.xmldb.function.LocalXmldbFunction.apply(LocalXmldbFunction.java:46)
        at org.exist.xmldb.AbstractLocal.withDb(AbstractLocal.java:195)
        at org.exist.xmldb.AbstractLocal.lambda$modify$272(AbstractLocal.java:118)
        at org.exist.xmldb.LocalCollection.lambda$modify$104(LocalCollection.java:726)
        at org.exist.xmldb.LocalCollection.storeXMLResource(LocalCollection.java:551)
        at org.exist.xmldb.LocalCollection.storeResource(LocalCollection.java:501)
        at org.exist.xmldb.LocalCollection.storeResource(LocalCollection.java:490)
        at org.exist.client.InteractiveClient.findRecursive(InteractiveClient.java:1364)
        at org.exist.client.InteractiveClient.findRecursive(InteractiveClient.java:1352)
        at org.exist.client.InteractiveClient.parse(InteractiveClient.java:1398)
        at org.exist.client.InteractiveClient.processCommandLineActions(InteractiveClient.java:2185)
        at org.exist.client.InteractiveClient.run(InteractiveClient.java:2398)
        at org.exist.client.InteractiveClient.main(InteractiveClient.java:261)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.exist.start.Main.invokeMain(Main.java:137)
        at org.exist.start.Main.run(Main.java:450)
        at org.exist.start.Main.main(Main.java:61)
Caused by: java.io.IOException: Database is read-only
        at org.exist.collections.Collection.validateXMLResourceInternal(Collection.java:1750)
        at org.exist.collections.Collection.validateXMLResource(Collection.java:1631)
        at org.exist.xmldb.LocalCollection.lambda$storeXMLResource$94(LocalCollection.java:565)
        at org.exist.xmldb.function.LocalXmldbCollectionFunction.apply(LocalXmldbCollectionFunction.java:48)
        at org.exist.xmldb.LocalCollection.lambda$null$103(LocalCollection.java:728)
        at org.exist.xmldb.function.LocalXmldbCollectionFunction.apply(LocalXmldbCollectionFunction.java:48)
        at org.exist.xmldb.AbstractLocal.lambda$with$273(AbstractLocal.java:172)
        at org.exist.xmldb.AbstractLocal.lambda$null$271(AbstractLocal.java:118)
        at org.exist.xmldb.function.LocalXmldbFunction.apply(LocalXmldbFunction.java:46)
        at org.exist.xmldb.AbstractLocal.withDb(AbstractLocal.java:195)
        at org.exist.xmldb.AbstractLocal.lambda$modify$272(AbstractLocal.java:118)
        at org.exist.xmldb.LocalCollection.lambda$modify$104(LocalCollection.java:726)
        at org.exist.xmldb.LocalCollection.storeXMLResource(LocalCollection.java:551)
        at org.exist.xmldb.LocalCollection.storeResource(LocalCollection.java:501)
        at org.exist.xmldb.LocalCollection.storeResource(LocalCollection.java:490)
        at org.exist.client.InteractiveClient.findRecursive(InteractiveClient.java:1364)
        at org.exist.client.InteractiveClient.findRecursive(InteractiveClient.java:1352)
        at org.exist.client.InteractiveClient.parse(InteractiveClient.java:1398)
        at org.exist.client.InteractiveClient.processCommandLineActions(InteractiveClient.java:2185)
        at org.exist.client.InteractiveClient.run(InteractiveClient.java:2398)
        at org.exist.client.InteractiveClient.main(InteractiveClient.java:261)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.exist.start.Main.invokeMain(Main.java:137)
        at org.exist.start.Main.run(Main.java:450)
        at org.exist.start.Main.main(Main.java:61)


what's wrong ? I startup server ,it can run normally.

--
此致

   林晓东

莫愁前路无知己,天下谁人不识君。


 

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Exist-open mailing list
Exist-open <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/exist-open
ron.vandenbranden | 29 Jun 15:00 2016
Picon

eXist-3.0.RC1 regression in regex matching with ft:query()

Hi,

I've noticed how some regex queries with ft:query() that used to work in 
eXist-2.2 don't work anymore since eXist-3.0.RC1. More specifically, 
when regular expressions contain word anchors (^ or $), they no longer 
produce hits since eXist-3.0.RC1 (up to the current development version).

Given following test document:

   <div>
     <p>a test document</p>
     <p>containing a number of paragraphs</p>
     <p>containing text</p>
   </div>

And following Lucene full-text index definition:

   <collection xmlns="http://exist-db.org/collection-config/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <index>
         <fulltext default="none" attributes="false"/>
         <lucene>
             <analyzer class="org.apache.lucene.analysis.standard.StandardAnalyzer">
                 <param name="stopwords" type="org.apache.lucene.analysis.util.CharArraySet"/>
             </analyzer>
             <text qname="p"/>
         </lucene>
     </index>
   </collection>

This test query:

   //p[ft:query(., <query><regex>.*ing$</regex></query>)]

...doesn't return anything when executed with eXist-3.0.RC1, while I 
would expect this to match the paragraphs containing the string 
"containing" (since those index terms do match the regular expression).

In eXist-2.2, this did work. Since eXist-3.0.RC1 it doesn't anymore. 
Yet, a slightly modified variant of the query without the end of word 
anchor still does:

   //p[ft:query(., <query><regex>.*ing</regex></query>)]

Clearly, something has changed since eXist-3.0.RC1 that influences 
regular expression matching on the Lucene full-text index. Hoping this 
is an unintentional change, I'll file a bug report, too.

Best,

Ron

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
fatum | 29 Jun 11:02 2016
Picon

Range index is not used.

Hi Guys.

I have a query which I would like to speed up by adding indexes:

I was thinking about adding range index for  <at> name attribute in the xml, so
that the last clause in where statement could use it.
So, I did this:

In Profiler I can see that required attributes were indexed. But when I run
the query and check Index Usage I see "No Index" in optimization column
which means that it was not used.
My data looks like:

Could you help me to understand what I am missing here? It looks correct to
me. Can it be that index is not used due to relatively small amount of data
- 600 records?

--
View this message in context: http://exist.2174344.n4.nabble.com/Range-index-is-not-used-tp4670407.html
Sent from the exist-open mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
Gerrit Boers | 29 Jun 10:16 2016
Picon
Picon

Serious query error in eXist-DB 2.2?

Hi,

I’m running into a serious query error on exist 2.2. The following simple query returns incorrect results:

   for $concept in collection(concat($get:strDhdData,'/thesaurus'))//concept[ <at> thesaurusId='187']
  
let $activeDBCs := $concept/dbcGroup[ <at> statusCode='active']
  
return
  
$activeDBCs

As there are no dbcGroups with statusCode=active nothing should be returned but this is the result:

<dbcGroup no="486" effectiveDate="2000-01-01" expirationDate="2016-03-31" editDate="2016-03-18" editCode="GEWIJZIGD" validationDate="2015-05-01" validationEndDate="" validated="true" statusCode="retired" agbCode="0313" advice="" logic="" defaultDbc="true">
   
<dbc code="499" priority="1"/>
</dbcGroup>
<dbcGroup no="487" effectiveDate="2000-01-01" expirationDate="2016-03-31" editDate="2016-03-18" editCode="GEWIJZIGD" validationDate="2015-05-01" validationEndDate="" validated="true" statusCode="retired" agbCode="0316" advice="" logic="" defaultDbc="true">
   
<dbc code="7899" priority="1"/>
</dbcGroup>
<dbcGroup no="488" effectiveDate="2000-01-01" expirationDate="2016-03-31" editDate="2016-03-18" editCode="GEWIJZIGD" validationDate="2015-05-01" validationEndDate="" validated="true" statusCode="retired" agbCode="0310" advice="" logic="" defaultDbc="true">
   
<dbc code="04" priority="1"/>
</dbcGroup>

If I change the query to:

  
for $concept in collection(concat($get:strDhdData,'/thesaurus'))//concept[ <at> thesaurusId='187']
  
let $activeDBCs := $concept/dbcGroup[ <at> statusCode='active']
  
return
  
$activeDBCs[ <at> statusCode='active']

It is working as expected and nothing is returned

eXist version:
eXist Version: 2.2
eXist Build: 20141120
Operating System: Mac OS X 10.11.5 x86_64
Default Encoding: UTF8
Instance ID: exist


On eXist LTS 2.2 the query is working as expected.


Kind regards,

Gerrit Boers






------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Exist-open mailing list
Exist-open <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/exist-open
ron.vandenbranden | 28 Jun 20:13 2016
Picon

how to build a custom (Whitespace)Analyzer for eXist?

Hi,

I would like to use the WhitespaceAnalyzer, but make it 
case-insensitive[*]. From the documentation at 
http://exist-db.org/exist/apps/doc/lucene.xml I understand that it is 
possible to add custom Lucene analyzers, and from previous reports on 
the ML I know lots of people have done this already. I have found a 
potentially useful source file at

http://stackoverflow.com/questions/17895537/how-to-create-own-analyzer-using-whitespaceanalyzer-and-lowercase-filter-in-luce#answer-17901079 
so I guess I'm on the good path. Only, I can't figure out how this 
analyzer should be integrated in eXist:
     -should the .java file be placed somewhere in the eXist tree 
(where?) and should eXist be rebuilt with that file?
     -should the .java file be compiled independently to a .jar file 
(how?) and be placed somewhere in the eXist tree (where?)?

Any pointers or foolproof steps much appreciated!

Best,

Ron

* = In the ideal world, I'd like to fine-tune the tokenizer so it splits 
on whitespace and punctuation, but not on hypens, so words like 
"mind-boggling" would be indexed as one single token. If I can get the 
above lower-case WhitespaceAnalyzer to work, I'll probably be able to 
figure out how to proceed. Nevertheless, if someone has already done 
this or knows a usable package that doesn't tokenize on hyphens, that 
could save me precious time...

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
Alexander Henket | 28 Jun 15:01 2016
Picon
Picon
Gravatar

Jaxv-report with a non local schema that has includes

Hi,

I'm running into a problems in doing XML Schema validation that I can only describe as a bug, but I'm struggling to find where. Exist-db 2.2 LTS

Reproduction:
validation:jaxv-report(<decor/>, doc('http://art-decor.org/ADAR/rv/DECOR.xsd'))

The schema that is called contains an include. This triggers an incorrect error:
src-resolve.4.2: Error resolving component 'SmallNonNegativeInteger'. It was detected that 'SmallNonNegativeInteger' is in namespace 'http://www.schematron-quickfix.com/validator/process', but components from this namespace are not referenceable from schema document 'null'....

The simpleType SmallNonNegativeInteger is not in the SQF namespace at all. When you call jaxv-report on the same XML Schema locally (with includes present) this error does not occur.

Why does this happen?

Regards

Alexander Henket
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Exist-open mailing list
Exist-open <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/exist-open
fatum | 28 Jun 13:19 2016
Picon

Poor xf:repeat-nodeset performance when building table

Iterating with xf:repeat-nodeset over 600 node sets and getting 4 values
during each iteration to fill a table takes 28 seconds which I think is
waaaaay too much. 

Can anyone explain it?

I also noticed that getting values in xf:output by ref or value impacts
performance a lot - getting by value is much faster in my case (but still 28
secs).

--
View this message in context: http://exist.2174344.n4.nabble.com/Poor-xf-repeat-nodeset-performance-when-building-table-tp4670399.html
Sent from the exist-open mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
محمد جواد حسنی | 28 Jun 12:05 2016
Picon

xquery with external variable

hi,
i declare an external variable in my xquery as :


xquery version "3.0";
declare variable $local:test := 'test';
declare variable $local:user external;

update insert <div try="{current-dateTime()}">{$local:test, $local:user}</div> into doc('/db/testjob.xml')/div


and calling this xq in two ways:
1. job: 
<job xquery="/db/myjob.xql"
    cron-trigger="0 * * * * ?"
name="test"
type="user">
<parameter name="user" value="admin"/>
        </job>

2. util:eval:

util:eval(xs:anyURI('/db/myjob.xql'),false(),('local:user','admin'))

none of these two ways does not execute properly
please help me,
thanks.
------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Exist-open mailing list
Exist-open <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/exist-open

Gmane