#883 Multithreading with keys

v9.1
closed
Michael Kay
5
2012-10-08
2008-10-08
Michael Kay
No

When multiple transformations are run in parallel using the same stylesheet and the same source document (perhaps a secondary document containing lookup data), Saxon attempts to only build xsl:key indexes for the shared document once. But if one thread is building the index at the time another thread tries to use the index, the spurious error message is produced "Key definition is circular". (This is because Saxon assumes that if an index is under construction when an attempt is made to use it, the reference must be circular; but it can also happen because it is under construction in a parallel thread.)

A patch is being raised to module net.sf.saxon.trans.KeyManager

Discussion

  • Michael Kay
    Michael Kay
    2008-10-14

    Fixed in 9.1.0.3