From a1a4de231c7cb2426fa0752dc3c2cfc0168edf72 Mon Sep 17 00:00:00 2001 From: wxing1292 Date: Wed, 7 Apr 2021 12:40:03 -0700 Subject: [PATCH] Remove unnecessary Cassandra iter nil check (#1440) * Remove unnecessary Cassandra iter nil check since gocql will panic if iter is nil --- .../cassandra/cassandraClusterMetadata.go | 4 -- .../cassandra/cassandraHistoryPersistence.go | 10 +--- .../cassandraMetadataPersistenceV2.go | 3 -- .../cassandra/cassandraPersistence.go | 46 +++++-------------- .../persistence/cassandra/cassandraQueue.go | 11 +---- .../cassandraVisibilityPersistence.go | 35 +------------- .../nosqlplugin/cassandra/gocql/query.go | 3 -- .../nosqlplugin/cassandra/gocql/session.go | 3 -- 8 files changed, 17 insertions(+), 98 deletions(-) diff --git a/common/persistence/cassandra/cassandraClusterMetadata.go b/common/persistence/cassandra/cassandraClusterMetadata.go index 0a2606753da..213bcbbf735 100644 --- a/common/persistence/cassandra/cassandraClusterMetadata.go +++ b/common/persistence/cassandra/cassandraClusterMetadata.go @@ -175,10 +175,6 @@ func (m *cassandraClusterMetadata) GetClusterMembers(request *p.GetClusterMember iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - return nil, serviceerror.NewInternal("GetClusterMembers operation failed. Not able to create query iterator.") - } - var clusterMembers []*p.ClusterMember cqlHostID := make([]byte, 0, 16) diff --git a/common/persistence/cassandra/cassandraHistoryPersistence.go b/common/persistence/cassandra/cassandraHistoryPersistence.go index b56feb27fac..4daf5fafedf 100644 --- a/common/persistence/cassandra/cassandraHistoryPersistence.go +++ b/common/persistence/cassandra/cassandraHistoryPersistence.go @@ -178,9 +178,6 @@ func (h *cassandraHistoryV2Persistence) ReadHistoryBranch( query := h.session.Query(v2templateReadData, treeID, branchID, request.MinNodeID, request.MaxNodeID) iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - return nil, serviceerror.NewInternal("ReadHistoryBranch operation failed. Not able to create query iterator.") - } pagingToken := iter.PageState() history := make([]*commonpb.DataBlob, 0, request.PageSize) @@ -422,9 +419,7 @@ func (h *cassandraHistoryV2Persistence) GetAllHistoryTreeBranches( query := h.session.Query(v2templateScanAllTreeBranches) iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - return nil, serviceerror.NewInternal("GetAllHistoryTreeBranches operation failed. Not able to create query iterator.") - } + pagingToken := iter.PageState() branches := make([]p.HistoryBranchDetail, 0, request.PageSize) @@ -483,9 +478,6 @@ func (h *cassandraHistoryV2Persistence) GetHistoryTree( var iter gocql.Iter for { iter = query.PageSize(pageSize).PageState(pagingToken).Iter() - if iter == nil { - return nil, serviceerror.NewInternal("GetHistoryTree operation failed. Not able to create query iterator.") - } pagingToken = iter.PageState() branchUUID := "" diff --git a/common/persistence/cassandra/cassandraMetadataPersistenceV2.go b/common/persistence/cassandra/cassandraMetadataPersistenceV2.go index 98a83085b0f..00b47996a2b 100644 --- a/common/persistence/cassandra/cassandraMetadataPersistenceV2.go +++ b/common/persistence/cassandra/cassandraMetadataPersistenceV2.go @@ -268,9 +268,6 @@ func (m *cassandraMetadataPersistenceV2) GetNamespace(request *p.GetNamespaceReq func (m *cassandraMetadataPersistenceV2) ListNamespaces(request *p.ListNamespacesRequest) (*p.InternalListNamespacesResponse, error) { query := m.session.Query(templateListNamespaceQueryV2, constNamespacePartition) iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - return nil, serviceerror.NewInternal("ListNamespaces operation failed. Not able to create query iterator.") - } response := &p.InternalListNamespacesResponse{} for { diff --git a/common/persistence/cassandra/cassandraPersistence.go b/common/persistence/cassandra/cassandraPersistence.go index 317ba5cdff7..7fa10e320da 100644 --- a/common/persistence/cassandra/cassandraPersistence.go +++ b/common/persistence/cassandra/cassandraPersistence.go @@ -1654,12 +1654,8 @@ func (d *cassandraPersistence) ListConcreteExecutions( templateListWorkflowExecutionQuery, d.shardID, rowTypeExecution, - ).PageSize(request.PageSize).PageState(request.PageToken) - - iter := query.Iter() - if iter == nil { - return nil, serviceerror.NewInternal("ListConcreteExecutions operation failed. Not able to create query iterator.") - } + ) + iter := query.PageSize(request.PageSize).PageState(request.PageToken).Iter() response := &p.InternalListConcreteExecutionsResponse{} result := make(map[string]interface{}) @@ -1775,12 +1771,8 @@ func (d *cassandraPersistence) GetTransferTasks(request *p.GetTransferTasksReque defaultVisibilityTimestamp, request.ReadLevel, request.MaxReadLevel, - ).PageSize(request.BatchSize).PageState(request.NextPageToken) - - iter := query.Iter() - if iter == nil { - return nil, serviceerror.NewInternal("GetTransferTasks operation failed. Not able to create query iterator.") - } + ) + iter := query.PageSize(request.BatchSize).PageState(request.NextPageToken).Iter() response := &p.GetTransferTasksResponse{} var data []byte @@ -1844,12 +1836,8 @@ func (d *cassandraPersistence) GetVisibilityTasks(request *p.GetVisibilityTasksR defaultVisibilityTimestamp, request.ReadLevel, request.MaxReadLevel, - ).PageSize(request.BatchSize).PageState(request.NextPageToken) - - iter := query.Iter() - if iter == nil { - return nil, serviceerror.NewInternal("GetVisibilityTasks operation failed. Not able to create query iterator.") - } + ) + iter := query.PageSize(request.BatchSize).PageState(request.NextPageToken).Iter() response := &p.GetVisibilityTasksResponse{} var data []byte @@ -1921,12 +1909,10 @@ func (d *cassandraPersistence) GetReplicationTasks( } func (d *cassandraPersistence) populateGetReplicationTasksResponse( - query gocql.Query, operation string, + query gocql.Query, + operation string, ) (*p.GetReplicationTasksResponse, error) { iter := query.Iter() - if iter == nil { - return nil, serviceerror.NewInternal("GetReplicationTasks operation failed. Not able to create query iterator.") - } response := &p.GetReplicationTasksResponse{} var data []byte @@ -2378,12 +2364,8 @@ func (d *cassandraPersistence) GetTasks(request *p.GetTasksRequest) (*p.GetTasks rowTypeTask, request.ReadLevel, *request.MaxReadLevel, - ).PageSize(request.BatchSize) - - iter := query.Iter() - if iter == nil { - return nil, serviceerror.NewInternal("GetTasks operation failed. Not able to create query iterator.") - } + ) + iter := query.PageSize(request.BatchSize).Iter() response := &p.GetTasksResponse{} task := make(map[string]interface{}) @@ -2506,12 +2488,8 @@ func (d *cassandraPersistence) GetTimerIndexTasks(request *p.GetTimerIndexTasksR rowTypeTimerRunID, minTimestamp, maxTimestamp, - ).PageSize(request.BatchSize).PageState(request.NextPageToken) - - iter := query.Iter() - if iter == nil { - return nil, serviceerror.NewInternal("GetTimerTasks operation failed. Not able to create query iterator.") - } + ) + iter := query.PageSize(request.BatchSize).PageState(request.NextPageToken).Iter() response := &p.GetTimerIndexTasksResponse{} var data []byte diff --git a/common/persistence/cassandra/cassandraQueue.go b/common/persistence/cassandra/cassandraQueue.go index ff6ca742672..1d5826535a3 100644 --- a/common/persistence/cassandra/cassandraQueue.go +++ b/common/persistence/cassandra/cassandraQueue.go @@ -169,9 +169,6 @@ func (q *cassandraQueue) ReadMessages( ) iter := query.Iter() - if iter == nil { - return nil, serviceerror.NewInternal("ReadMessages operation failed. Not able to create query iterator.") - } var result []*persistence.QueueMessage message := make(map[string]interface{}) @@ -200,12 +197,8 @@ func (q *cassandraQueue) ReadMessagesFromDLQ( q.getDLQTypeFromQueueType(), firstMessageID, lastMessageID, - ).PageSize(pageSize).PageState(pageToken) - - iter := query.Iter() - if iter == nil { - return nil, nil, serviceerror.NewInternal(fmt.Sprintf("ReadMessagesFromDLQ operation failed. Not able to create query iterator.")) - } + ) + iter := query.PageSize(pageSize).PageState(pageToken).Iter() var result []*persistence.QueueMessage message := make(map[string]interface{}) diff --git a/common/persistence/cassandra/cassandraVisibilityPersistence.go b/common/persistence/cassandra/cassandraVisibilityPersistence.go index 6a1b35f7d67..06a92112b4a 100644 --- a/common/persistence/cassandra/cassandraVisibilityPersistence.go +++ b/common/persistence/cassandra/cassandraVisibilityPersistence.go @@ -283,10 +283,6 @@ func (v *cassandraVisibilityPersistence) ListOpenWorkflowExecutions( p.UnixNanoToDBTimestamp(request.EarliestStartTime), p.UnixNanoToDBTimestamp(request.LatestStartTime)).Consistency(v.lowConslevel) iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - // TODO: should return serviceerror.InvalidArgument if the token is invalid - return nil, serviceerror.NewInternal("ListOpenWorkflowExecutions operation failed. Not able to create query iterator.") - } response := &p.InternalListWorkflowExecutionsResponse{} response.Executions = make([]*p.VisibilityWorkflowExecutionInfo, 0, request.PageSize) @@ -314,10 +310,6 @@ func (v *cassandraVisibilityPersistence) ListOpenWorkflowExecutionsByType( p.UnixNanoToDBTimestamp(request.LatestStartTime), request.WorkflowTypeName).Consistency(v.lowConslevel) iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - // TODO: should return serviceerror.InvalidArgument if the token is invalid - return nil, serviceerror.NewInternal("ListOpenWorkflowExecutionsByType operation failed. Not able to create query iterator.") - } response := &p.InternalListWorkflowExecutionsResponse{} response.Executions = make([]*p.VisibilityWorkflowExecutionInfo, 0, request.PageSize) @@ -345,10 +337,6 @@ func (v *cassandraVisibilityPersistence) ListOpenWorkflowExecutionsByWorkflowID( p.UnixNanoToDBTimestamp(request.LatestStartTime), request.WorkflowID).Consistency(v.lowConslevel) iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - // TODO: should return serviceerror.InvalidArgument if the token is invalid - return nil, serviceerror.NewInternal("ListOpenWorkflowExecutionsByWorkflowID operation failed. Not able to create query iterator.") - } response := &p.InternalListWorkflowExecutionsResponse{} response.Executions = make([]*p.VisibilityWorkflowExecutionInfo, 0, request.PageSize) @@ -375,10 +363,6 @@ func (v *cassandraVisibilityPersistence) ListClosedWorkflowExecutions( p.UnixNanoToDBTimestamp(request.EarliestStartTime), p.UnixNanoToDBTimestamp(request.LatestStartTime)).Consistency(v.lowConslevel) iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - // TODO: should return serviceerror.InvalidArgument if the token is invalid - return nil, serviceerror.NewInternal("ListClosedWorkflowExecutions operation failed. Not able to create query iterator.") - } response := &p.InternalListWorkflowExecutionsResponse{} response.Executions = make([]*p.VisibilityWorkflowExecutionInfo, 0, request.PageSize) @@ -406,10 +390,6 @@ func (v *cassandraVisibilityPersistence) ListClosedWorkflowExecutionsByType( p.UnixNanoToDBTimestamp(request.LatestStartTime), request.WorkflowTypeName).Consistency(v.lowConslevel) iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - // TODO: should return serviceerror.InvalidArgument if the token is invalid - return nil, serviceerror.NewInternal("ListClosedWorkflowExecutionsByType operation failed. Not able to create query iterator.") - } response := &p.InternalListWorkflowExecutionsResponse{} response.Executions = make([]*p.VisibilityWorkflowExecutionInfo, 0, request.PageSize) @@ -437,10 +417,6 @@ func (v *cassandraVisibilityPersistence) ListClosedWorkflowExecutionsByWorkflowI p.UnixNanoToDBTimestamp(request.LatestStartTime), request.WorkflowID).Consistency(v.lowConslevel) iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - // TODO: should return serviceerror.InvalidArgument if the token is invalid - return nil, serviceerror.NewInternal("ListClosedWorkflowExecutionsByWorkflowID operation failed. Not able to create query iterator.") - } response := &p.InternalListWorkflowExecutionsResponse{} response.Executions = make([]*p.VisibilityWorkflowExecutionInfo, 0, request.PageSize) @@ -468,10 +444,6 @@ func (v *cassandraVisibilityPersistence) ListClosedWorkflowExecutionsByStatus( p.UnixNanoToDBTimestamp(request.LatestStartTime), request.Status).Consistency(v.lowConslevel) iter := query.PageSize(request.PageSize).PageState(request.NextPageToken).Iter() - if iter == nil { - // TODO: should return serviceerror.InvalidArgument if the token is invalid - return nil, serviceerror.NewInternal("ListClosedWorkflowExecutionsByStatus operation failed. Not able to create query iterator.") - } response := &p.InternalListWorkflowExecutionsResponse{} response.Executions = make([]*p.VisibilityWorkflowExecutionInfo, 0, request.PageSize) @@ -497,12 +469,9 @@ func (v *cassandraVisibilityPersistence) GetClosedWorkflowExecution( request.NamespaceID, namespacePartition, execution.GetWorkflowId(), - execution.GetRunId()) - + execution.GetRunId(), + ) iter := query.Iter() - if iter == nil { - return nil, serviceerror.NewInternal("GetClosedWorkflowExecution operation failed. Not able to create query iterator.") - } wfexecution, has := readClosedWorkflowExecutionRecord(iter) if !has { diff --git a/common/persistence/nosql/nosqlplugin/cassandra/gocql/query.go b/common/persistence/nosql/nosqlplugin/cassandra/gocql/query.go index 026ea9e606c..b962f962337 100644 --- a/common/persistence/nosql/nosqlplugin/cassandra/gocql/query.go +++ b/common/persistence/nosql/nosqlplugin/cassandra/gocql/query.go @@ -89,9 +89,6 @@ func (q *query) MapScanCAS( func (q *query) Iter() Iter { iter := q.gocqlQuery.Iter() - if iter == nil { - return nil - } return iter } diff --git a/common/persistence/nosql/nosqlplugin/cassandra/gocql/session.go b/common/persistence/nosql/nosqlplugin/cassandra/gocql/session.go index b8419a116c2..d4286b19759 100644 --- a/common/persistence/nosql/nosqlplugin/cassandra/gocql/session.go +++ b/common/persistence/nosql/nosqlplugin/cassandra/gocql/session.go @@ -153,9 +153,6 @@ func (s *session) MapExecuteBatchCAS( defer func() { s.handleError(retError) }() applied, iter, err := s.Value.Load().(*gocql.Session).MapExecuteBatchCAS(b.(*batch).gocqlBatch, previous) - if iter == nil { - return applied, nil, err - } return applied, iter, err }