Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.idea
16 changes: 12 additions & 4 deletions core/vscc/validate.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
Copyright National Payments Corporation of India. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

Expand Down Expand Up @@ -82,7 +82,7 @@ func NewVsccValidateServer(ledgerConfig *ledger.Config, validationPluginsByName
if vdbProvider, err = statecouchdb.NewVersionedDBProvider(ledgerConfig.StateDBConfig.CouchDB, metricsProvider, nil); err != nil {
return nil, err
}
} else if ledgerConfig.StateDBConfig.StateDatabase == ledger.SqlDB {
} else if ledgerConfig != nil && ledgerConfig.StateDBConfig.StateDatabase == ledger.SqlDB {
vdbProvider, err = statesqldb.NewVersionedDBProvider(ledgerConfig.StateDBConfig.SqlDB, nil, nil)
if err != nil {
return nil, err
Expand Down Expand Up @@ -179,8 +179,11 @@ func (v *VsccValidateServer) InitializeTxValidator(channelName string, blockNumb
if blockNumber == 0 {
versionedValue, err := versionDb.GetState("", "LAST_LIFECYCLE_BLOCK_NUMBER")
if err != nil {
v.logger.Errorf("failed to initilialize txValidator : %v", err)
return nil, status.Errorf(codes.Internal, "failed to initilialize txValidator")
v.logger.Errorf("failed to initialize txValidator : %v", err)
return nil, status.Errorf(codes.Internal, "failed to initialize txValidator")
}
if versionedValue == nil || versionedValue.Version == nil {
return nil, fmt.Errorf("LAST_LIFECYCLE_BLOCK_NUMBER not found in state DB for channel %s", channelName)
}
blockNumber = versionedValue.Version.BlockNum
}
Expand Down Expand Up @@ -358,6 +361,11 @@ func (v *VsccValidateServer) getValidator(req *pb.VsccRequest) (*txvalidator.TxV
v.logger.Errorf("failed to initilialize txValidator : %v", err)
return nil, status.Errorf(codes.Internal, "failed to initilialize txValidator")
}

if versionedValue == nil || versionedValue.Version == nil {
return nil, fmt.Errorf("LAST_LIFECYCLE_BLOCK_NUMBER not found in state DB for channel %s", req.ChannelId)
}

lastLifecycleBlockNumberInDB := versionedValue.Version.BlockNum

if channelValidator.lastLifecycleBlockNumber != lastLifecycleBlockNumberInDB {
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -145,4 +145,4 @@ require (
gorm.io/driver/mysql v1.5.6 // indirect
)

replace github.com/hyperledger/fabric-protos-go => ./fabric-protos-go-0.2.0
replace github.com/hyperledger/fabric-protos-go => ./fabric-protos-go-0.2.0
2 changes: 1 addition & 1 deletion go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -5355,4 +5355,4 @@ rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=