optimize Improper use? Potential bug? Your feedback is welcome:
Does the error occur when opening the database, or when you try to optimize it? In the latter case, you could tr the "optimize all" command. In the first case, it seems your data itself has got corrupt. In this case, you’ll need to create a new database, or restore an existing backup.
Please read our article on transactions to get to know more about locking problems:
http://docs.basex.org/wiki/Transactions
Christian ___________________________
On Thu, Dec 19, 2013 at 6:35 AM, easy lin_xd@126.com wrote:
Thanks. I will try, but the database can't access, open will report error:
Contact: basex-talk@mailman.uni-konstanz.de Version: BaseX 7.7.2 Java: Sun Microsystems Inc., 1.6.0_24 OS: Linux, amd64 Stack Trace: java.lang.RuntimeException: Data Access out of bounds:
- pre value: 0
- #used blocks: 0
- #total locks: 0
- access: -1 (0 > -1] at org.basex.util.Util.notexpected(Util.java:53) at
org.basex.io.random.TableDiskAccess.cursor(TableDiskAccess.java:488) at org.basex.io.random.TableDiskAccess.read1(TableDiskAccess.java:189) at org.basex.data.Data.kind(Data.java:282) at org.basex.index.resource.Docs.docs(Docs.java:87) at org.basex.index.resource.Docs.init(Docs.java:75) at org.basex.index.resource.Resources.init(Resources.java:64) at org.basex.core.cmd.Optimize.optimize(Optimize.java:80) at org.basex.core.cmd.Optimize.run(Optimize.java:42) at org.basex.core.Command.run(Command.java:345) at org.basex.core.Command.exec(Command.java:321) at org.basex.core.Command.execute(Command.java:78) at org.basex.server.LocalSession.execute(LocalSession.java:122) at org.basex.server.Session.execute(Session.java:37) at org.basex.core.Main.execute(Main.java:146) at org.basex.core.Main.execute(Main.java:130) at org.basex.core.Main.console(Main.java:90) at org.basex.BaseX.<init>(BaseX.java:168) at org.basex.BaseX.main(BaseX.java:38)
-- 此致
easy
莫愁前路无知己,天下谁人不识君。
At 2013-12-19 03:06:45,"Christian Grün" christian.gruen@gmail.com wrote:
Hi Easy,
I guess the problem has been fixed in the 7.8 snapshot. Could you please give it a try and report back?
Best, Christian
Am 18.12.2013 20:04 schrieb "easy" lin_xd@126.com:
Hi,all, I have a web service as fellow :
declare %output:method("xml") %output:omit-xml-declaration("no") %output:media-type("application/xml") %updating %rest:path("/add_ehr_doc") %rest:POST("{$body}") %rest:header-param("pid","{$pid}") %rest:header-param("doc_id","{$doc_id}") %rest:header-param("op","{$op}","APND") function ehr:add_ehr_doc( $body ,$pid as xs:string,$doc_id as xs:string,$op as xs:string ) { (:let $state:=db:open($ehr:dbname):) (:let $path:=if(string-length($pid)>=15 and string-length($pid)<=18) then
substring($pid,1,6)||'/'||substring($pid,7,8)||'/'||substring($pid,15)|| else $pid:) let $fp:=substring($pid,1,6)||'/'||substring($pid,7,8)||'/'||substring($pid,15)||'.xml' return if (db:exists($ehr:dbname,$fp)) then ( insert node ($body//*:DataSet) into (doc($ehr:dbname||"/"||$fp)//*:BasicDataset),db:output(<msg> ppend</Ack><Url>{$fp}</Url></msg>) ) else ( db:add($ehr:dbname, $body,$fp),db:output(<msg><Ack>201 new add</Ack><Url>{$fp}</Url></msg>) ) };
then there is a process call the service continuously. some times, will occur this error.
10:00:10.663 10.8.252.93:40461 admin REQUEST [POST] http://10.8.252.91:8984/add_ehr_doc 10:00:10.669 10.8.252.93:40461 admin 500 Unexpected error: Improper use? Potential bug? Your feedbac k is welcome: Contact: basex-talk@mailman.uni-konstanz.de Version: BaseX 7.7.2 Java: Sun Microsystems Inc., 1.6.0_2 4 OS: Linux, amd64 Stack Trace: java.lang.IllegalMonitorStateException: Thread already holds one or more locks. at org.basex.core.DBLocking.acquire(DBLocking.java:106) at org.basex.core.Context.register(Context.java:239) at org.ba sex.http.restxq.RestXqResponse.create(RestXqResponse.java:69) at org.basex.http.restxq.RestXqModule.process(RestXqM odule.java:108) at org.basex.http.restxq.RestXqFunction.process(RestXqFunction.java:100) at org.basex.http.restxq.R estXqServlet.run(RestXqServlet.java:31) at org.basex.http.BaseXServlet.service(BaseXServlet.java:58) at javax.servl et.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.j ava:684) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:457) at org.eclipse.jetty.server. handler.ScopedHand... 5.36 ms
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk