I was unable to replicate the issue with 7.8. Is 7.8 stable enough to be used in a production environment?

Thanks,

Jeremy


On Tue, Dec 17, 2013 at 5:46 AM, Lukas Kircher <lukas.kircher@uni-konstanz.de> wrote:
Hi Jeremy,

sorry for the inconveniences - we have indeed a suspicion where you problem might originate. Version 7.8/the latest stable snapshot should contain a fix in this case. Can you reproduce the issue with 7.8?

Cheers,
Lukas


On Tue, Dec 17, 2013 at 1:43 AM, Jeremy Moseley <jeremy@inkling.com> wrote:
Hi Guys,

Running into some strange exceptions when trying to make changes to data in the database. The function is updating all attributes in a project to include lower case copies. When doing this on specific projects, it consistently fails with the stack trace below. Any thoughts?

Cheers,

Jeremy

XQuery:

(: Get all documents pertaining to this project :) 
let $docs := project:get-docs($shortname, $revision, $environment)
    return (
      for $node in $docs/s9:toc//*[(@designation != "" and not(@designation-lower))
                                     or (@enumeration != "" and not(@enumeration-lower))]
      return (
        prof:void(trace(base-uri($node), "Node Document: ")),
        insert node (attribute { 'designation-lower' } { lower-case($node/@designation) }) into $node,
        insert node (attribute { 'enumeration-lower' } { lower-case($node/@enumeration) }) into $node
      ),
      for $node in $docs/*[(@designation != "" and not(@designation-lower))
                              or (@enumeration != "" and not(@enumeration-lower))]
      return (
        prof:void(trace(base-uri($node), "Node Document: ")),
        insert node (attribute { 'designation-lower' } { lower-case($node/@designation) }) into $node,
        insert node (attribute { 'enumeration-lower' } { lower-case($node/@enumeration) }) into $node
      ),
      for $node in $docs//*[(@title != "" and not(@title-lower))]
      return (
        prof:void(trace(base-uri($node), "Node Document: ")),
        insert node (attribute { 'title-lower' } { lower-case($node/@title) }) into $node
      ),
      insert node (attribute {'optimized'} { "yes" }) into $collection,
      prof:void(metrics:timing("optimize-attributes", "get", "200",
            string(prof:current-ms() - $start)))
    )

Stack Trace:
HTTP/1.1 500 Unexpected error: Improper use? Potential bug? Your feedback is welcome:
Contact: basex-talk@mailman.uni-konstanz.de
Version: BaseX 7.7.2
Java: Apple Inc., 1.6.0_65
OS: Mac OS X, x86_64
Stack Trace:
java.lang.NegativeArraySizeException
at org.basex.io.random.DataAccess.readBytes(DataAccess.java:200)
at org.basex.io.random.DataAccess.readToken(DataAccess.java:178)
at org.basex.io.random.DataAccess.readToken(DataAccess.java:169)
at org.basex.data.DiskData.txt(DiskData.java:267)
at org.basex.data.DiskData.text(DiskData.java:235)
at org.basex.index.value.DiskValues.readKeyAt(DiskValues.java:285)
at org.basex.index.value.DiskValues.get(DiskValues.java:441)
at org.basex.index.value.UpdatableDiskValues.index(UpdatableDiskValues.java:66)
at org.basex.data.DiskData.indexEnd(DiskData.java:356)
at org.basex.data.Data.insert(Data.java:817)
at org.basex.data.Data.insertAttr(Data.java:672)
at org.basex.data.atomic.InsertAttr.apply(InsertAttr.java:31)
at org.basex.data.atomic.AtomicUpdateList.applyStructuralUpdates(AtomicUpdateList.java:300)
at org.basex.data.atomic.AtomicUpdateList.execute(AtomicUpdateList.java:288)
at org.basex.query.up.DatabaseUpdates.apply(DatabaseUpdates.java:184)
at org.basex.query.up.ContextModifier.apply(ContextModifier.java:103)
at org.basex.query.up.Updates.apply(Updates.java:120)
at org.basex.query.QueryContext.update(QueryContext.java:313)
at org.basex.query.QueryContext.value(QueryContext.java:297)
at org.basex.query.QueryContext.iter(QueryContext.java:282)
at org.basex.http.restxq.RestXqResponse.create(RestXqResponse.java:73)
at org.basex.http.restxq.RestXqModule.process(RestXqModule.java:108)
at org.basex.http.restxq.RestXqFunction.process(RestXqFunction.java:100)
at org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:31)
at org.basex.http.BaseXServlet.service(BaseXServlet.java:58)
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:457)
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)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:276)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:103)
at org.basex.http.restxq.RestXqResponse.create(RestXqResponse.java:118)
at org.basex.http.restxq.RestXqModule.process(RestXqModule.java:108)
at org.basex.http.restxq.RestXqFunction.process(RestXqFunction.java:100)
at org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:31)
at org.basex.http.BaseXServlet.service(BaseXServlet.java:58)
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:457)
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)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:276)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:103)
at org.basex.http.restxq.RestXqResponse.create(RestXqResponse.java:118)
at org.basex.http.restxq.RestXqModule.process(RestXqModule.java:108)
at org.basex.http.restxq.RestXqFunction.process(RestXqFunction.java:100)
at org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:31)
at org.basex.http.BaseXServlet.service(BaseXServlet.java:58)
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:457)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:695)

_______________________________________________
BaseX-Talk mailing list
BaseX-Talk@mailman.uni-konstanz.de
https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk