(seem to have forgotten to "send" on an earlier version)
On 14/01/14 10:59, Minto van der Sluis wrote:
@Andy
You're remark puzzles me. I know it's a quote from [1]. But is it to
emphasize that I am correct or to tell me I'm incorrent?
To my reading, your text is blurring the dataset/transaction distinction.
e.g. Fuseki has one dataset and provide multiple transactions (each
request is a transaction) all the time.
dataset != transaction, but the example also shows that every thread has
its own dataset.
It's supposed to show getting a dataset somehow - not necessarily creat it.
In fact, there is only one internal object per location (per dataset on
disk). That's how coordination of multiple threads is done. TDBFactory
may returns different wrapper objects but inside there is one master
object per location.
Andy
Regards,
Minto
Andy Seaborne schreef op 14-1-2014 10:45:
On 14/01/14 08:22, Minto van der Sluis wrote:
Hi Folks,
A reply [1] from Andy to one of my mails triggered me. I looked up the
"serializable transactions" that Andy mentioned [2]. Especially the
"Multi-threaded use" section caught my attention. If I read it correctly
using a single dataset in multiple threads is discouraged.
"""
While it is possible to share a *transaction* between multiple
threads, this is not encouraged.
"""
Looking at Clerezza's use of Jena's dataset I see no sign of
multi-threading support. Might this be the cause of our
ConcurrentModificationException perils? Am I on to something here?
Please share your thoughts.
Regards,
Minto
[1]
http://mail-archives.apache.org/mod_mbox/clerezza-dev/201401.mbox/%3C52D41088.5070802%40apache.org%3E
[2] http://jena.apache.org/documentation/tdb/tdb_transactions.html