Skip to content

ROOT-5076: Support random access compression#152

Closed
zzxuanyuan wants to merge 17 commits into
root-project:masterfrom
zzxuanyuan:randomaccesscompression
Closed

ROOT-5076: Support random access compression#152
zzxuanyuan wants to merge 17 commits into
root-project:masterfrom
zzxuanyuan:randomaccesscompression

Conversation

@zzxuanyuan
Copy link
Copy Markdown
Contributor

This is a new feature to support random access compression. For details, please take a look at this link:
https://sft.its.cern.ch/jira/browse/ROOT-5076

When the TBasket gets de-streamed, it goes to TBufferFile::ReadObjectAny()
This function calls CheckByteCount and it complains the fBufCur does not match endpos
The reason might be due to the streamer when we write data to TBasket.
Because the difference between fBurCur and endpos is exactly 804 bytes which is the size-
-of array (Compressed?)EntryOffset.
Further examination needed.
By the way, TNamed::Class() and TObject::Class() returns a TClass. For debug purpose, we
could print (TClass *)clss->GetName() which is the class name.
…amer Class info to the file.

In TBasket::Streamer(), it should not include the compression entry offsets if TBasket is going to stream
the fBufferRef as well in which case flag = 11.
…n uncompressed size

1. Added combine test file which writes hybird of TInt, TLarge, TSmall into a single file
2. We need to compare nout(compressed objects)+compoffkey(compressed entry offsets) with fObjlen
Comment thread tree/tree/src/TBasket.cxx
/// the expected behavior when there is no cache.

Int_t TBasket::ReadBasketBuffers(Long64_t pos, Int_t len, TFile *file)
Int_t TBasket::ReadBasketBuffers(Long64_t pos, Int_t len, TFile *file, Bool_t random, Long64_t relativeentry)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

random is too generic a name, please consider using a different spelling. thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants