hyperledger / hyperledger/fabric

Raft OSN file system IO overhead while managing the blocks

Open
#3,814 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
16.7k
Forks
9.1k
Avg merge
5h 38m
Merged PRs (30d)
26

Description

Current implementation of Ordering Service Node(OSN) with raft consensus type manages the blocks data in 2 different places
1. OSN file ledger block store &
2. Raft consensus library WAL entries

As the same block contents written into 2 separate file system locations:
1) Raft library writes into WAL while consenting on the block
2) OSN writes into ledger post the consensus & commit into its ledger,
It requires more than one filesystem IO and additional filesystem storage.

If we make the OSN and consensus library to use/refer the same block data, it would reduce the filesystem IO and additional storage required which may provide performance advantage.

The same view point was called out previously during the design call: https://drive.google.com/file/d/11qDdi0-93f7CwYxsdmTl9BWITYy5VUtl/view . It is at the 38th minute of the replay(38:20 —— 40:38 time window)

It is interesting to understand the alternate implementation and its performance benefits. Opening this issue to get the community view points, evaluate and propose the alternate approach.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.