Open hahnjo opened 1 month ago
Thinking about this a bit more, we should be able to get the wanted behavior by modifying RNTupleModel::Clone
to copy the fModelId
in case the model is frozen. In case the user again Unfreeze
s the cloned model, it will get a new model id that point.
edit: It's not as easy because the model id is also used for REntry
s, which must not be mixed even among cloned models...
A
REntry::RFieldToken
is currently bound to a specific model id. This prevents the following usage from working with parallel writing, as I wanted to recommend it to @siliataider:This is because the
RNTupleParallelWriter
internally clones the model, so every thread has to get tokens from its entry:In principle, we could allow using a single set of tokens for all entries from any cloned model. This requires either not changing the model id when cloning, or having a second model id with that semantic.