in v2/settlehandler.go [110:123]
func (s settlement[T]) settle(ctx context.Context, settler MessageSettler, message *azservicebus.ReceivedMessage, options T) {
span := tab.FromContext(ctx)
span.Logger().Info(fmt.Sprintf("%s message", s.name))
settleCtx, cancel := context.WithTimeout(ctx, settlementTimeout)
defer cancel()
getLogger(ctx).Info(fmt.Sprintf("%s message with ID: %s", s.name, message.MessageID))
if err := s.settleFunc(settleCtx, settler, message, options); err != nil {
wrapped := fmt.Errorf("%s settlement failed: %w", s.name, err)
getLogger(ctx).Error(wrapped.Error())
span.Logger().Error(wrapped)
// the processing will terminate and the lock on the message will eventually be released after
// the message lock expires on the broker side
}
}