public static class StripedBlockUtil.StripingCell extends Object
DFSStripedOutputStream. This
size impacts how a logical offset in the file or block group translates
to physical byte offset in a stored internal block. The StripingCell util
class facilitates this calculation. Each StripingCell is inclusive with
its start and end offsets -- e.g., the end logical offset of cell_0_0_0
should be 1 byte lower than the start logical offset of cell_1_0_1.
| <------- Striped Block Group -------> |
blk_0 blk_1 blk_2
| | |
v v v
+----------+ +----------+ +----------+
|cell_0_0_0| |cell_1_0_1| |cell_2_0_2|
+----------+ +----------+ +----------+
|cell_3_1_0| |cell_4_1_1| |cell_5_1_2| <- idxInBlkGroup = 5
+----------+ +----------+ +----------+ idxInInternalBlk = 1
idxInStripe = 2
A StripingCell is a special instance of StripedBlockUtil.StripingChunk whose offset
and size align with the cell used when writing data.
TODO: consider parity cellsCopyright © 2008–2019 Apache Software Foundation. All rights reserved.