This jira proposes to record the replication factor in the BlockInfo class. The changes have two advantages:
- Decoupling the namespace and the block management layer. It is a prerequisite step to move block management off the heap or to a separate process.
- Increased flexibility on replicating blocks. Currently the replication factors of all blocks have to be the same. The replication factors of these blocks are equal to the highest replication factor across all snapshots. The changes will allow blocks in a file to have different replication factor, potentially saving some space.