I/O
Schema Evolution.
- Change TExMap hash, key and values from (U)Long_t to (U)Long64_t. This makes TExMap streamable in a portable way. On 64-bit platforms there is
no difference, but on 32-bit platforms all values will now be 64-bit. This fixes a big portability issue with THnSparse which uses TExMap internally
where the versions created on a 32-bit platform could not be read on a 64-bit platform and vice versa.
- Avoid reporting I/O error for members of a class that is used only for a transient member; Concrete implementation of TClassGenerator needs to be updated to also avoid the warnings.
- Fix the rule lookup based on checksum
- Extend support of the schema evolution rules to fixed length array.
- Prevent a process abort (due to a call to Fatal) when we are missing the dictionary for (one of) the
content of an STL collection when this collection is 'only' use has a transient member.
- Fix the case where the source and target of a rule have the same name.
- Avoid using the 'current' StreamerInfo to read an older streamerInfo that is missing (in case of corrupted files).
Misc.
- New TFile plugin for the Hadoop Distributed File System (protocol hdfs:)
- Unregister stack objects from their TDirectory when the TList tries to delete them.
- When streaming a base class without StreamerNVirtual() use an external streamer if it was set.
- Many improvement to the I/O run-time performance.
- DCache:
- Increase readahead size from 8k to 128k and make it settable via DCACHE_RA_BUFFER env var.
- dCap client does not ignore ?filetpye=raw and other options, so remove it.
- The function TFile::GetRelOffset is now public instead of protected.
- Corrected the reading of the TFile record of large files.
- MakeProject: several updates to improve support for CMS and Atlas data files (add support for auto_ptr, bitset, class name longer than 255 characters, etc.)