rewrite indexer service in the attempt to fix failing test

https://github.com/tendermint/tendermint/pull/3227/#issuecomment-462316527
This commit is contained in:
Anton Kaliaev 2019-02-13 12:28:42 +04:00
parent 545b33ed29
commit 0d9107a098
No known key found for this signature in database
GPG Key ID: 7B6881D965918214

View File

@ -46,8 +46,13 @@ func (is *IndexerService) OnStart() error {
select {
case msg := <-blockHeadersSub.Out():
header := msg.Data().(types.EventDataNewBlockHeader).Header
if header.NumTxs == 0 {
continue
}
batch := NewBatch(header.NumTxs)
for i := int64(0); i < header.NumTxs; i++ {
i := int64(0)
TXS_LOOP:
for {
select {
case msg2 := <-txsSub.Out():
txResult := msg2.Data().(types.EventDataTx).TxResult
@ -57,6 +62,10 @@ func (is *IndexerService) OnStart() error {
"index", txResult.Index,
"err", err)
}
i++
if i == header.NumTxs {
break TXS_LOOP
}
case <-txsSub.Cancelled():
is.Logger.Error("Failed to index block. txsSub was cancelled. Did the Tendermint stop?",
"height", header.Height,