TKeys with an uncompressed payload greater than 16Mb


I am trying to understand what happens when one reads and decodes a TKey whose payload is greater than 16Mb.

It seems to me that the payload is split into multiple chunks of 16*1024*1024 (minus a trailing \0 ?)
Where is this chunk size encoded? is it always that size? (can it vary across ROOT versions?)
can users somehow modify that chunksize?



Only if TKey data is compressed, it will be splited on the chunks of about 16MB.
And these chunks placed directly after each other.

I guess, you found already decoding code:

Means size of each chunk stored in gzip header.


yeah, I forgot both the srcsize and the tgtsize were encoded in the compressed-header.

thanks for reminding me.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.