Thanks.
  I will try, but the database can't access, open will report error:

  optimize
Improper use? Potential bug? Your feedback is welcome:
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