324
func (m *executionManagerImpl) serializeAppendHistoryNodesRequest(
325
request *AppendHistoryNodesRequest,
327
>
branch, err := m.GetHistoryBranchUtil().ParseHistoryBranchInfo(request.BranchToken)
328
>
if err != nil {
329
return nil, serviceerror.NewInvalidArgument(fmt.Sprintf("unable to parse branch token: %v", err))
330
}
331
333
return nil, &InvalidPersistenceRequestError{
334
Msg: "events to be appended cannot be empty",
335
}
336
}
338
>
339
>
version := request.Events[0].Version
340
>
nodeID := request.Events[0].EventId
341
>
lastID := nodeID - 1
342
>
343
>
if nodeID <= 0 {
344
return nil, &InvalidPersistenceRequestError{
345
Msg: "eventID cannot be less than 1",
346
}
347
}
349
>
if e.Version != version {
350
return nil, &InvalidPersistenceRequestError{
351
Msg: "event version must be the same inside a batch",
352
}
353
}
355
return nil, &InvalidPersistenceRequestError{
356
Msg: "event ID must be continous",
357
}
358
}
360
}
361
362
// nodeID will be the first eventID
364
>
if err != nil {
365
return nil, err
366
}
368
>
sizeLimit := m.transactionSizeLimit()
369
>
if size > sizeLimit {
370
return nil, &TransactionSizeLimitError{
371
Msg: fmt.Sprintf("transaction size of %v bytes exceeds limit of %v bytes", size, sizeLimit),