Skip to content

Commit 7d553a6

Browse files
committed
Use proto messages for Read-write set
https://jira.hyperledger.org/browse/FAB-2810 This CR: - Introduces proto messages - Removes custom types for read-write set in package kvledger/txmgmt/rwset - Renames the package kvledger/txmgmt/rwset to kvledger/txmgmt/rwsetutil and rwset.go to rwset_builder_test.go in order to reflect the purpose of the remaining code better - Modifies the other packages to use rwset from protos and utilities from rwsetutil package Change-Id: Id01be87903ad30f0eea34ef4033195b17bec3e71 Signed-off-by: manish <[email protected]>
1 parent 3b48c41 commit 7d553a6

23 files changed

+1116
-882
lines changed

core/ledger/kvledger/history/historydb/historyleveldb/historyleveldb.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"github.com/hyperledger/fabric/common/ledger/util/leveldbhelper"
2222
"github.com/hyperledger/fabric/core/ledger"
2323
"github.com/hyperledger/fabric/core/ledger/kvledger/history/historydb"
24-
"github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/rwset"
24+
"github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/rwsetutil"
2525
"github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/version"
2626
"github.com/hyperledger/fabric/core/ledger/ledgerconfig"
2727
"github.com/hyperledger/fabric/core/ledger/util"
@@ -137,19 +137,19 @@ func (historyDB *historyDB) Commit(block *common.Block) error {
137137
}
138138

139139
//preparation for extracting RWSet from transaction
140-
txRWSet := &rwset.TxReadWriteSet{}
140+
txRWSet := &rwsetutil.TxRwSet{}
141141

142142
// Get the Result from the Action and then Unmarshal
143143
// it into a TxReadWriteSet using custom unmarshalling
144-
if err = txRWSet.Unmarshal(respPayload.Results); err != nil {
144+
if err = txRWSet.FromProtoBytes(respPayload.Results); err != nil {
145145
return err
146146
}
147147
// for each transaction, loop through the namespaces and writesets
148148
// and add a history record for each write
149-
for _, nsRWSet := range txRWSet.NsRWs {
149+
for _, nsRWSet := range txRWSet.NsRwSets {
150150
ns := nsRWSet.NameSpace
151151

152-
for _, kvWrite := range nsRWSet.Writes {
152+
for _, kvWrite := range nsRWSet.KvRwSet.Writes {
153153
writeKey := kvWrite.Key
154154

155155
//composite key for history records is in the form ns~key~blockNo~tranNo

core/ledger/kvledger/history/historydb/historyleveldb/historyleveldb_query_executer.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
"github.com/hyperledger/fabric/common/ledger/util"
2525
"github.com/hyperledger/fabric/core/ledger"
2626
"github.com/hyperledger/fabric/core/ledger/kvledger/history/historydb"
27-
"github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/rwset"
27+
"github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/rwsetutil"
2828
"github.com/hyperledger/fabric/core/ledger/ledgerconfig"
2929
"github.com/hyperledger/fabric/protos/common"
3030
putils "github.com/hyperledger/fabric/protos/utils"
@@ -129,19 +129,19 @@ func getTxIDandKeyWriteValueFromTran(
129129

130130
txID := chdr.TxId
131131

132-
txRWSet := &rwset.TxReadWriteSet{}
132+
txRWSet := &rwsetutil.TxRwSet{}
133133

134134
// Get the Result from the Action and then Unmarshal
135135
// it into a TxReadWriteSet using custom unmarshalling
136-
if err = txRWSet.Unmarshal(respPayload.Results); err != nil {
136+
if err = txRWSet.FromProtoBytes(respPayload.Results); err != nil {
137137
return txID, nil, err
138138
}
139139

140140
// look for the namespace and key by looping through the transaction's ReadWriteSets
141-
for _, nsRWSet := range txRWSet.NsRWs {
141+
for _, nsRWSet := range txRWSet.NsRwSets {
142142
if nsRWSet.NameSpace == namespace {
143143
// got the correct namespace, now find the key write
144-
for _, kvWrite := range nsRWSet.Writes {
144+
for _, kvWrite := range nsRWSet.KvRwSet.Writes {
145145
if kvWrite.Key == key {
146146
return txID, kvWrite.Value, nil
147147
}

0 commit comments

Comments
 (0)