..thanks for your feedback. I have passed to pass this on to our mailing list, as it might be of general interest.
A bug report from me. I just decided to test that REST web services work correctly. So I did the following:
- Opened window client, executed simple xquery to find a document by id:
/tagname[@id='id_value'] 2. Removed this document via browser: http://localhost:8984/basex/jax-rx/collection?command=delete+document.xml 3. Repeated the same xquery execution in window client. 4. Got the following stack trace: [...]
Note that the REST/JaxRx implementation starts a server instance of BaseX, which does not communicate with the GUI version of BaseX. As a result, and for the sake of performance, the changes performed via REST won't be reflected in the visual frontend. You shouldn't encounter any problems if you stay in one world, i.e., if you do all communication with REST, or the command-line client connecting to the server instance.
BTW, could you also say if your database was successfully used in Production systems with heavy load?
We have lots of users who operate BaseX in read-only environments, and we're continuously extending our support for scenarios that depend on stable realtime updates. Indeed, BaseX is very performant when it comes to updates – it's actually much faster than most competing systems we have tested by now – which is due to the fact that we have a very low updating overhead (no indexes are updated, no backups are performed for rollbacks, etc). Instead, BaseX includes manual features to rebuild your indexes and backup/restore the data. If you want to perform some tests on your workloads, I recommend to work with the latest version of BaseX (6.2.9), which included many fixes that have optimized the stability of our update operations. Along with the next official version, you'll get better documentation on the latest features. Advanced, optional update/transaction features to further minimize the danger of losing data are on our todo list.
Hope this helps, Christian ___________________________
Christian Grün University of Konstanz Department of Computer & Information Science D-78457 Konstanz, Germany Tel: +49-7531-88-4449, Fax: +49-7531-88-3577 http://www.inf.uni-konstanz.de/~gruen
Hello,
A bug report from me. I just decided to test that REST web services work correctly. So I did the following:
- Opened window client, executed simple xquery to find a document by id:
/tagname[@id='id_value'] 2. Removed this document via browser: http://localhost:8984/basex/jax-rx/collection?command=delete+document.xml 3. Repeated the same xquery execution in window client. 4. Got the following stack trace:
Error: Possible bug? Feedback is welcome: info@basex.org BaseX 6.1: java.lang.ArrayIndexOutOfBoundsException: 19 org.basex.util.TokenSet.key(TokenSet.java:124) org.basex.data.Data.name(Data.java:347) org.basex.data.Serializer.node(Serializer.java:334) org.basex.data.Nodes.serialize(Nodes.java:207) org.basex.data.Nodes.serialize(Nodes.java:202) org.basex.core.proc.AQuery.query(AQuery.java:88) org.basex.core.proc.XQuery.run(XQuery.java:23) org.basex.core.Proc.run(Proc.java:139) org.basex.core.Proc.exec(Proc.java:109) org.basex.gui.GUI.exec(GUI.java:428) org.basex.gui.GUI$5.run(GUI.java:386)
Shouldn't it be changed to some lenient notice about the document that has been deleted? Or simply consider this exception case and exclude the document from results?
BTW, could you also say if your database was successfully used in Production systems with heavy load? We're going to use an xml database in such kind of application with about 50000 xml documents in database and about 20000 update/delete/insert operations successively every day. We've already faced an issue with eXist XML database that causes huge delays on removing a single document from a large collection (this operation takes about 30 seconds) due to the need to maintain indexes.
Thanks in advance!