Hi,

I'm running the bookkeeper benchmark read,
I first start 3 local bookie, then run the 'benchmark writes',
it works. (I'm assuming the later 'read' will need some data, so I generate
it first)

Secondly,  run 'benchmark reads -ledger'
it's supposed to work, bc the 'help' says, with no 'args' for ledger, it
will read all. It turns out not working.

Thirdly, I try 'benchmark reads -ledger 0', 'benchmark reads -ledger 1',
'benchmark reads -ledger 2'
it all says like 'INFO  - [main:BenchReadThroughputLatency@260] - Watching
for creation of/ledgers/L0000000002'

Well, I tried more, e.g.,  'benchmark reads -ledger 3', 'benchmark reads
-ledger 4', and so on..
it works, and returns like 'Read 9999 in 2001ms', though I have no idea
what does this mean.

Last, I debugged the 'bookkeeper benchmark',
I found that the 'benchmark reads -ledger 4' finally goes to this function:

        LedgerEntryRequest(ArrayList<InetSocketAddress> ensemble, long lId,
long eId) {
            super(lId, eId);

            this.ensemble = ensemble;
            this.writeSet = lh.distributionSchedule.getWriteSet(entryId);
            this.sentReplicas = new
BitSet(lh.getLedgerMetadata().getWriteQuorumSize());
            this.erroredReplicas = new
BitSet(lh.getLedgerMetadata().getWriteQuorumSize());
        }
I can not find the place where the ledger file is opened and read, in my
understanding, the 0.log file should be read, as shown in the below, one
bookie has the following contents:

 └── bookie29131094670313057736test
    └── current
        ├── 0
        │   ├── 3
        │   │   └── 3.idx
        │   └── 4
        │       └── 4.idx
        ├── 0.log
        ├── 146ad7d2a78.txn
        ├── lastId
        ├── lastMark
        └── VERSION

In which the sub-directory '/current/0', contains the index files; the
'0.log' is the ledger file for later faster read, and the '146ad7d2a78.txn'
is the journal file.

Plz help and correct me. Thanks very much.

Best,
Jialin

Reply via email to