Update of /cvsroot/exist/eXist-1.0/src/org/exist/storage
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5368/src/org/exist/storage
Modified Files:
BrokerPool.java NativeBroker.java
Log Message:
Fixed some synchronization issues in the XQuery engine:
* Compiled XQuery expressions are no longer shared between
different threads. The XQuery cache in XQueryServlet and
XQueryGenerator is declared as thread local now.
* The XQueryContext of a compiled XQuery now gets the correct
database broker object set.
Index: BrokerPool.java
===================================================================
RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/storage/BrokerPool.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** BrokerPool.java 3 Feb 2004 11:08:24 -0000 1.16
--- BrokerPool.java 5 Mar 2004 11:15:28 -0000 1.17
***************
*** 218,221 ****
--- 218,222 ----
protected DBBroker createBroker() throws EXistException {
DBBroker broker = BrokerFactory.getInstance(this, conf);
+ //Thread.dumpStack();
LOG.debug(
"database " + instanceId + ": creating new instance of " + broker.getClass().getName());
Index: NativeBroker.java
===================================================================
RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/storage/NativeBroker.java,v
retrieving revision 1.58
retrieving revision 1.59
diff -C2 -d -r1.58 -r1.59
*** NativeBroker.java 3 Mar 2004 09:45:16 -0000 1.58
--- NativeBroker.java 5 Mar 2004 11:15:28 -0000 1.59
***************
*** 1017,1020 ****
--- 1017,1021 ----
NodeIndexListener listener = doc.getIndexListener();
// jmv if ((listener = doc.getIndexListener()) != null)
+ if(listener != null)
listener.nodeChanged(node);
if (nodeType == Node.ELEMENT_NODE && level <= depth) {
|