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.
- TH1::Streamer and TGraph2D::Streamer no longer reset the kCanDelete bit directly so that the user can give
ownership of the object to the canvas they are stored with. However, if they are saved on their own, the mechanism
that associates them to the current directory (DirectoryAutoAdd) will now reset the bit to avoid any possible
ownsership confusion.
- 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.)