Skip to content

Commit

Permalink
[FAB-9788] Refactor rwsetbuilder code
Browse files Browse the repository at this point in the history
Certain methods in the rwsetbuilder code had a "return error" signature where
no error could be returned. This change set fixes this and propagates the
changes to all required callers.

Change-Id: I9c82b67c91496ae7f5ef646ad45cc1fffe7414f9
Signed-off-by: Alessandro Sorniotti <ale.linux@sopit.net>
Signed-off-by: Matthias Neugschwandtner <eug@zurich.ibm.com>
  • Loading branch information
ale-linux committed May 3, 2018
1 parent 9fbe724 commit ee92d9b
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 21 deletions.
16 changes: 4 additions & 12 deletions core/ledger/kvledger/txmgmt/rwsetutil/rwset_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,24 +94,16 @@ func (b *RWSetBuilder) AddToRangeQuerySet(ns string, rqi *kvrwset.RangeQueryInfo
}

// AddToHashedReadSet adds a key and corresponding version to the hashed read-set
func (b *RWSetBuilder) AddToHashedReadSet(ns string, coll string, key string, version *version.Height) error {
kvReadHash, err := newPvtKVReadHash(key, version)
if err != nil {
return err
}
func (b *RWSetBuilder) AddToHashedReadSet(ns string, coll string, key string, version *version.Height) {
kvReadHash := newPvtKVReadHash(key, version)
b.getOrCreateCollHashedRwBuilder(ns, coll).readMap[key] = kvReadHash
return nil
}

// AddToPvtAndHashedWriteSet adds a key and value to the private and hashed write-set
func (b *RWSetBuilder) AddToPvtAndHashedWriteSet(ns string, coll string, key string, value []byte) error {
kvWrite, kvWriteHash, err := newPvtKVWriteAndHash(key, value)
if err != nil {
return err
}
func (b *RWSetBuilder) AddToPvtAndHashedWriteSet(ns string, coll string, key string, value []byte) {
kvWrite, kvWriteHash := newPvtKVWriteAndHash(key, value)
b.getOrCreateCollPvtRwBuilder(ns, coll).writeMap[key] = kvWrite
b.getOrCreateCollHashedRwBuilder(ns, coll).writeMap[key] = kvWriteHash
return nil
}

// GetTxSimulationResults returns the proto bytes of public rwset
Expand Down
6 changes: 2 additions & 4 deletions core/ledger/kvledger/txmgmt/rwsetutil/rwset_builder_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -227,14 +227,12 @@ func TestTxSimulationResultWithPvtData(t *testing.T) {
}

func constructTestPvtKVReadHash(t *testing.T, key string, version *version.Height) *kvrwset.KVReadHash {
kvReadHash, err := newPvtKVReadHash(key, version)
testutil.AssertNoError(t, err, "")
kvReadHash := newPvtKVReadHash(key, version)
return kvReadHash
}

func constructTestPvtKVWriteHash(t *testing.T, key string, value []byte) *kvrwset.KVWriteHash {
_, kvWriteHash, err := newPvtKVWriteAndHash(key, value)
testutil.AssertNoError(t, err, "")
_, kvWriteHash := newPvtKVWriteAndHash(key, value)
return kvWriteHash
}

Expand Down
8 changes: 4 additions & 4 deletions core/ledger/kvledger/txmgmt/rwsetutil/rwset_proto_util.go
Original file line number Diff line number Diff line change
Expand Up @@ -303,16 +303,16 @@ func newKVWrite(key string, value []byte) *kvrwset.KVWrite {
return &kvrwset.KVWrite{Key: key, IsDelete: value == nil, Value: value}
}

func newPvtKVReadHash(key string, version *version.Height) (*kvrwset.KVReadHash, error) {
return &kvrwset.KVReadHash{KeyHash: util.ComputeStringHash(key), Version: newProtoVersion(version)}, nil
func newPvtKVReadHash(key string, version *version.Height) *kvrwset.KVReadHash {
return &kvrwset.KVReadHash{KeyHash: util.ComputeStringHash(key), Version: newProtoVersion(version)}
}

func newPvtKVWriteAndHash(key string, value []byte) (*kvrwset.KVWrite, *kvrwset.KVWriteHash, error) {
func newPvtKVWriteAndHash(key string, value []byte) (*kvrwset.KVWrite, *kvrwset.KVWriteHash) {
kvWrite := newKVWrite(key, value)
var keyHash, valueHash []byte
keyHash = util.ComputeStringHash(key)
if !kvWrite.IsDelete {
valueHash = util.ComputeHash(value)
}
return kvWrite, &kvrwset.KVWriteHash{KeyHash: keyHash, IsDelete: kvWrite.IsDelete, ValueHash: valueHash}, nil
return kvWrite, &kvrwset.KVWriteHash{KeyHash: keyHash, IsDelete: kvWrite.IsDelete, ValueHash: valueHash}
}
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@ func (s *lockBasedTxSimulator) SetPrivateData(ns, coll, key string, value []byte
return err
}
s.writePerformed = true
return s.rwsetBuilder.AddToPvtAndHashedWriteSet(ns, coll, key, value)
s.rwsetBuilder.AddToPvtAndHashedWriteSet(ns, coll, key, value)
return nil
}

// SetPrivateMetadata implements method in interface `ledger.TxSimulator`
Expand Down

0 comments on commit ee92d9b

Please sign in to comment.