Revert "[#972] Use min/max builtins"

This reverts commit 89784b2e0a.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
Evgenii Stratonikov 2024-02-19 17:03:11 +03:00 committed by Evgenii Stratonikov
parent 4bfc6d29b9
commit dad56d2e98
10 changed files with 53 additions and 11 deletions

View file

@ -100,7 +100,10 @@ func registerCandidates(c *helper.InitializeContext) error {
// Register candidates in batches in order to overcome the signers amount limit. // Register candidates in batches in order to overcome the signers amount limit.
// See: https://github.com/nspcc-dev/neo-go/blob/master/pkg/core/transaction/transaction.go#L27 // See: https://github.com/nspcc-dev/neo-go/blob/master/pkg/core/transaction/transaction.go#L27
for i := 0; i < need; i += registerBatchSize { for i := 0; i < need; i += registerBatchSize {
start, end := i, min(i+registerBatchSize, need) start, end := i, i+registerBatchSize
if end > need {
end = need
}
// This check is sound because transactions are accepted/rejected atomically. // This check is sound because transactions are accepted/rejected atomically.
if have >= end { if have >= end {
continue continue

View file

@ -82,7 +82,10 @@ func (c *cleanupTable) touch(keyString string, now uint64, binNodeInfo []byte) b
result := !ok || access.removeFlag || !bytes.Equal(access.binNodeInfo, binNodeInfo) result := !ok || access.removeFlag || !bytes.Equal(access.binNodeInfo, binNodeInfo)
access.removeFlag = false // reset remove flag on each touch access.removeFlag = false // reset remove flag on each touch
access.epoch = max(access.epoch, now) if now > access.epoch {
access.epoch = now
}
access.binNodeInfo = binNodeInfo // update binary node info access.binNodeInfo = binNodeInfo // update binary node info
c.lastAccess[keyString] = access c.lastAccess[keyString] = access

View file

@ -56,6 +56,14 @@ func (b *Blobovnicza) iterateBounds(useObjLimitBound bool, f func(uint64, uint64
return nil return nil
} }
func max(a, b uint64) uint64 {
if a > b {
return a
}
return b
}
// IterationElement represents a unit of elements through which Iterate operation passes. // IterationElement represents a unit of elements through which Iterate operation passes.
type IterationElement struct { type IterationElement struct {
addr oid.Address addr oid.Address

View file

@ -134,7 +134,10 @@ func (e *StorageEngine) ListWithCursor(ctx context.Context, prm ListWithCursorPr
continue continue
} }
count := min(prm.count-uint32(len(result)), batchSize) count := prm.count - uint32(len(result))
if count > batchSize {
count = batchSize
}
var shardPrm shard.ListWithCursorPrm var shardPrm shard.ListWithCursorPrm
shardPrm.WithCount(count) shardPrm.WithCount(count)

View file

@ -343,8 +343,16 @@ func (s *Shard) removeGarbage(pctx context.Context) (result gcRunResult) {
} }
func (s *Shard) getExpiredObjectsParameters() (workerCount, batchSize int) { func (s *Shard) getExpiredObjectsParameters() (workerCount, batchSize int) {
workerCount = max(minExpiredWorkers, s.gc.gcCfg.expiredCollectorWorkerCount) workerCount = minExpiredWorkers
batchSize = max(minExpiredBatchSize, s.gc.gcCfg.expiredCollectorBatchSize) batchSize = minExpiredBatchSize
if s.gc.gcCfg.expiredCollectorBatchSize > batchSize {
batchSize = s.gc.gcCfg.expiredCollectorBatchSize
}
if s.gc.gcCfg.expiredCollectorWorkerCount > workerCount {
workerCount = s.gc.gcCfg.expiredCollectorWorkerCount
}
return return
} }

View file

@ -162,7 +162,11 @@ func (c *Client) DepositNotary(amount fixedn.Fixed8, delta uint32) (res util.Uin
return util.Uint256{}, fmt.Errorf("can't get previous expiration value: %w", err) return util.Uint256{}, fmt.Errorf("can't get previous expiration value: %w", err)
} }
till := max(int64(bc+delta), currentTill) till := int64(bc + delta)
if till < currentTill {
till = currentTill
}
return c.depositNotary(amount, till) return c.depositNotary(amount, till)
} }

View file

@ -343,7 +343,10 @@ func PayloadRange(ctx context.Context, prm PayloadRangePrm) (*PayloadRangeRes, e
return nil, new(apistatus.ObjectOutOfRange) return nil, new(apistatus.ObjectOutOfRange)
} }
ln := min(prm.ln, maxInitialBufferSize) ln := prm.ln
if ln > maxInitialBufferSize {
ln = maxInitialBufferSize
}
w := bytes.NewBuffer(make([]byte, ln)) w := bytes.NewBuffer(make([]byte, ln))
_, err = io.CopyN(w, rdr, int64(prm.ln)) _, err = io.CopyN(w, rdr, int64(prm.ln))

View file

@ -164,7 +164,10 @@ func (s *searchStreamMsgSizeCtrl) Send(resp *object.SearchResponse) error {
newResp.SetBody(body) newResp.SetBody(body)
} }
cut := min(s.addrAmount, ln) cut := s.addrAmount
if cut > ln {
cut = ln
}
body.SetIDList(ids[:cut]) body.SetIDList(ids[:cut])
newResp.SetMetaHeader(resp.GetMetaHeader()) newResp.SetMetaHeader(resp.GetMetaHeader())

View file

@ -388,7 +388,10 @@ func (it *sliceKeySpaceIterator) Next(_ context.Context, size uint32) ([]objectc
if it.cur >= len(it.objs) { if it.cur >= len(it.objs) {
return nil, engine.ErrEndOfListing return nil, engine.ErrEndOfListing
} }
end := min(it.cur+int(size), len(it.objs)) end := it.cur + int(size)
if end > len(it.objs) {
end = len(it.objs)
}
ret := it.objs[it.cur:end] ret := it.objs[it.cur:end]
it.cur = end it.cur = end
return ret, nil return ret, nil

View file

@ -167,7 +167,9 @@ func mergeOperationStreams(streams []chan *pilorama.Move, merged chan<- *piloram
merged <- ms[minTimeMoveIndex] merged <- ms[minTimeMoveIndex]
height := ms[minTimeMoveIndex].Time height := ms[minTimeMoveIndex].Time
if ms[minTimeMoveIndex] = <-streams[minTimeMoveIndex]; ms[minTimeMoveIndex] == nil { if ms[minTimeMoveIndex] = <-streams[minTimeMoveIndex]; ms[minTimeMoveIndex] == nil {
minStreamedLastHeight = min(minStreamedLastHeight, height) if minStreamedLastHeight > height {
minStreamedLastHeight = height
}
} }
} }
@ -201,7 +203,9 @@ func (s *Service) applyOperationStream(ctx context.Context, cid cid.ID, treeID s
errGroup.Go(func() error { errGroup.Go(func() error {
if err := s.forest.TreeApply(ctx, cid, treeID, m, true); err != nil { if err := s.forest.TreeApply(ctx, cid, treeID, m, true); err != nil {
heightMtx.Lock() heightMtx.Lock()
unappliedOperationHeight = min(unappliedOperationHeight, m.Time) if m.Time < unappliedOperationHeight {
unappliedOperationHeight = m.Time
}
heightMtx.Unlock() heightMtx.Unlock()
return err return err
} }