739
return nil, nil, nil, nil, 0, serviceerror.NewInvalidArgument(fmt.Sprintf("unable to parse branch token: %v", err))
740
}
742
>
branchAncestors := branch.Ancestors
743
>
744
>
// merge tree ID & branch ID into branch ancestors so the processing logic is simple
745
>
beginNodeID := common.FirstEventID
746
>
if len(branch.Ancestors) > 0 {
747
beginNodeID = branch.Ancestors[len(branch.Ancestors)-1].GetEndNodeId()
748
}
749
>
branchAncestors = append(branchAncestors, &persistencespb.HistoryBranchRange{
history_manager.go
750
>
BranchId: branchID,
751
>
BeginNodeId: beginNodeID,
752
>
EndNodeId: maxNodeID,
753
>
})
754
>
755
>
token, err := m.deserializeToken(
756
>
request.NextPageToken,
757
>
request.MinEventID-1,
758
>
defaultLastTransactionID,
759
>
)
760
>
if err != nil {
761
return nil, nil, nil, nil, 0, err
762
}
763
765
>
ctx,
766
>
branchToken,
767
>
shardID,
768
>
branchAncestors,
769
>
minNodeID,
770
>
maxNodeID,
771
>
token,
772
>
request.PageSize,
773
>
false,
774
>
)
775
>
if err != nil {
776
return nil, nil, nil, nil, 0, err
777
}
779
return nil, nil, nil, nil, 0, serviceerror.NewNotFound("Workflow execution history not found.")
780
}
781
783
>
token.LastNodeID,
784
>
token.LastTransactionID,
785
>
nodes,
786
>
)
787
>
if err != nil {
788
return nil, nil, nil, nil, 0, err
789
}
790
792
>
transactionIDs := make([]int64, 0, len(nodes))
793
>
nodeIDs := make([]int64, 0, len(nodes))
794
>
dataSize := 0
795
>
if len(nodes) > 0 {
796
>
dataBlobs = make([]*commonpb.DataBlob, len(nodes))
797
>
for index, node := range nodes {
798
>
dataBlobs[index] = node.Events
799
>
if node.Events == nil {
800
return nil, nil, nil, nil, 0, softassert.UnexpectedDataLoss(m.logger, "no events in history node", nil)
801
}
803
>
transactionIDs = append(transactionIDs, node.TransactionID)
804
>
nodeIDs = append(nodeIDs, node.NodeID)
805
}
807
>
token.LastNodeID = lastNode.NodeID
808
>
token.LastTransactionID = lastNode.TransactionID
809
}
811
}
812