This is an automated email from the ASF dual-hosted git repository.

chia7712 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yunikorn-core.git


The following commit(s) were added to refs/heads/master by this push:
     new 6bc390a2 [YUNIKORN-2335] Use go standard library min and max functions 
(#780)
6bc390a2 is described below

commit 6bc390a2d7be8e1de63fae321bbaeca34af349ea
Author: geordie <[email protected]>
AuthorDate: Thu Feb 1 01:08:42 2024 +0800

    [YUNIKORN-2335] Use go standard library min and max functions (#780)
    
    Closes: #780
    
    Signed-off-by: Chia-Ping Tsai <[email protected]>
---
 go.mod                               |  2 +-
 pkg/common/resources/resources.go    | 32 +++++++-------------------------
 pkg/common/utils.go                  |  7 -------
 pkg/common/utils_test.go             |  7 -------
 pkg/events/event_ringbuffer.go       | 16 +---------------
 pkg/log/logger.go                    |  4 +---
 pkg/scheduler/objects/application.go |  5 +----
 pkg/scheduler/objects/preemption.go  | 17 +++++++----------
 pkg/scheduler/objects/queue.go       |  4 +---
 9 files changed, 19 insertions(+), 75 deletions(-)

diff --git a/go.mod b/go.mod
index 6ba7d67a..0732d91c 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@
 
 module github.com/apache/yunikorn-core
 
-go 1.20
+go 1.21
 
 require (
        github.com/apache/yunikorn-scheduler-interface 
v0.0.0-20231211235204-ec7bfad7d00e
diff --git a/pkg/common/resources/resources.go 
b/pkg/common/resources/resources.go
index 26156100..9aacdbbb 100644
--- a/pkg/common/resources/resources.go
+++ b/pkg/common/resources/resources.go
@@ -450,9 +450,7 @@ func (r *Resource) fitIn(smaller *Resource, skipUndef bool) 
bool {
                if skipUndef && !ok {
                        continue
                }
-               if largerValue < 0 {
-                       largerValue = 0
-               }
+               largerValue = max(0, largerValue)
                if v > largerValue {
                        return false
                }
@@ -774,22 +772,6 @@ func StrictlyGreaterThanZero(larger *Resource) bool {
        return greater
 }
 
-// Return the smallest quantity
-func MinQuantity(x, y Quantity) Quantity {
-       if x < y {
-               return x
-       }
-       return y
-}
-
-// Return the largest quantity
-func MaxQuantity(x, y Quantity) Quantity {
-       if x > y {
-               return x
-       }
-       return y
-}
-
 // Returns a new resource with the smallest value for each quantity in the 
resources
 // If either resource passed in is nil a zero resource is returned
 // If a resource type is missing from one of the Resource, it is considered 0
@@ -797,10 +779,10 @@ func ComponentWiseMin(left, right *Resource) *Resource {
        out := NewResource()
        if left != nil && right != nil {
                for k, v := range left.Resources {
-                       out.Resources[k] = MinQuantity(v, right.Resources[k])
+                       out.Resources[k] = min(v, right.Resources[k])
                }
                for k, v := range right.Resources {
-                       out.Resources[k] = MinQuantity(v, left.Resources[k])
+                       out.Resources[k] = min(v, left.Resources[k])
                }
        }
        return out
@@ -822,14 +804,14 @@ func ComponentWiseMinPermissive(left, right *Resource) 
*Resource {
        }
        for k, v := range left.Resources {
                if val, ok := right.Resources[k]; ok {
-                       out.Resources[k] = MinQuantity(v, val)
+                       out.Resources[k] = min(v, val)
                } else {
                        out.Resources[k] = v
                }
        }
        for k, v := range right.Resources {
                if val, ok := left.Resources[k]; ok {
-                       out.Resources[k] = MinQuantity(v, val)
+                       out.Resources[k] = min(v, val)
                } else {
                        out.Resources[k] = v
                }
@@ -860,10 +842,10 @@ func ComponentWiseMax(left, right *Resource) *Resource {
        out := NewResource()
        if left != nil && right != nil {
                for k, v := range left.Resources {
-                       out.Resources[k] = MaxQuantity(v, right.Resources[k])
+                       out.Resources[k] = max(v, right.Resources[k])
                }
                for k, v := range right.Resources {
-                       out.Resources[k] = MaxQuantity(v, left.Resources[k])
+                       out.Resources[k] = max(v, left.Resources[k])
                }
        }
        return out
diff --git a/pkg/common/utils.go b/pkg/common/utils.go
index bb4bd330..51383001 100644
--- a/pkg/common/utils.go
+++ b/pkg/common/utils.go
@@ -238,13 +238,6 @@ func WaitForCondition(eval func() bool, interval 
time.Duration, timeout time.Dur
        }
 }
 
-func Min(x, y uint64) uint64 {
-       if x < y {
-               return x
-       }
-       return y
-}
-
 func GetConfigurationBool(configs map[string]string, key string, defaultValue 
bool) bool {
        value, ok := configs[key]
        if !ok {
diff --git a/pkg/common/utils_test.go b/pkg/common/utils_test.go
index d97fe637..c286e8c4 100644
--- a/pkg/common/utils_test.go
+++ b/pkg/common/utils_test.go
@@ -267,13 +267,6 @@ func TestWaitFor(t *testing.T) {
        }
 }
 
-func TestMin(t *testing.T) {
-       assert.DeepEqual(t, Min(uint64(1), uint64(2)), uint64(1))
-       assert.DeepEqual(t, Min(uint64(2), uint64(1)), uint64(1))
-       assert.Check(t, Min(uint64(2), uint64(1)) == uint64(1), true)
-       assert.Check(t, Min(uint64(2), uint64(1)) == 1, false)
-}
-
 func TestGetConfigurationBool(t *testing.T) {
        testCases := []struct {
                name          string
diff --git a/pkg/events/event_ringbuffer.go b/pkg/events/event_ringbuffer.go
index 3ae95331..a4308645 100644
--- a/pkg/events/event_ringbuffer.go
+++ b/pkg/events/event_ringbuffer.go
@@ -142,15 +142,6 @@ func (e *eventRingBuffer) getEventsFromID(id uint64, count 
uint64) ([]*si.EventR
        }, nil), lowest, e.getLastEventID()
 }
 
-// min a utility function to return the smallest value of two unsigned int
-func min(a, b uint64) uint64 {
-       m := a
-       if b < a {
-               m = b
-       }
-       return m
-}
-
 // GetLastEventID returns the value of the unique id counter.
 // If the buffer is empty, it returns 0.
 func (e *eventRingBuffer) GetLastEventID() uint64 {
@@ -242,12 +233,7 @@ func (e *eventRingBuffer) Resize(newSize uint64) {
 
        initialSize := e.capacity
        newEvents := make([]*si.EventRecord, newSize)
-       var numEventsToCopy uint64
-       if e.id-e.getLowestID() > newSize {
-               numEventsToCopy = newSize
-       } else {
-               numEventsToCopy = e.id - e.getLowestID()
-       }
+       numEventsToCopy := min(e.id-e.getLowestID(), newSize)
 
        // Calculate the index from where to start copying (the oldest event)
        startIndex := (e.head + e.capacity - numEventsToCopy) % e.capacity
diff --git a/pkg/log/logger.go b/pkg/log/logger.go
index e03556ba..5d9f861d 100644
--- a/pkg/log/logger.go
+++ b/pkg/log/logger.go
@@ -279,9 +279,7 @@ func initLoggingConfig(config map[string]string) {
        // compute the finest log level necessary to allow all loggers to 
succeed
        minLevel := zapcore.InvalidLevel - 1
        for _, v := range levelMap {
-               if minLevel > v {
-                       minLevel = v
-               }
+               minLevel = min(v, minLevel)
        }
 
        // create each configured logger and initialize the overall 
configuration
diff --git a/pkg/scheduler/objects/application.go 
b/pkg/scheduler/objects/application.go
index 1899ce62..8f1f49a5 100644
--- a/pkg/scheduler/objects/application.go
+++ b/pkg/scheduler/objects/application.go
@@ -1818,10 +1818,7 @@ func (sa *Application) updateAskMaxPriority() {
                if v.GetPendingAskRepeat() == 0 {
                        continue
                }
-               p := v.GetPriority()
-               if p > value {
-                       value = p
-               }
+               value = max(value, v.GetPriority())
        }
        sa.askMaxPriority = value
        sa.queue.UpdateApplicationPriority(sa.ApplicationID, value)
diff --git a/pkg/scheduler/objects/preemption.go 
b/pkg/scheduler/objects/preemption.go
index 0e37845b..14919274 100644
--- a/pkg/scheduler/objects/preemption.go
+++ b/pkg/scheduler/objects/preemption.go
@@ -699,8 +699,8 @@ func (qps *QueuePreemptionSnapshot) 
IsAtOrAboveGuaranteedResource() bool {
                return false
        }
        guaranteed := qps.GetGuaranteedResource()
-       max := qps.GetMaxResource()
-       absGuaranteed := resources.ComponentWiseMinPermissive(guaranteed, max)
+       maxResource := qps.GetMaxResource()
+       absGuaranteed := resources.ComponentWiseMinPermissive(guaranteed, 
maxResource)
        used := resources.Sub(qps.AllocatedResource, qps.PreemptingResource)
 
        // if we don't fit, we're clearly above
@@ -727,8 +727,8 @@ func (qps *QueuePreemptionSnapshot) 
IsWithinGuaranteedResource() bool {
        if qps.Leaf && guaranteed.IsEmpty() {
                return false
        }
-       max := qps.GetMaxResource()
-       absGuaranteed := resources.ComponentWiseMinPermissive(guaranteed, max)
+       maxResource := qps.GetMaxResource()
+       absGuaranteed := resources.ComponentWiseMinPermissive(guaranteed, 
maxResource)
        used := resources.Sub(qps.AllocatedResource, qps.PreemptingResource)
        return absGuaranteed.FitIn(used)
 }
@@ -742,8 +742,8 @@ func (qps *QueuePreemptionSnapshot) 
GetRemainingGuaranteed() *resources.Resource
                parentResult = resources.NewResource()
        }
        guaranteed := qps.GetGuaranteedResource()
-       max := qps.GetMaxResource()
-       absGuaranteed := resources.ComponentWiseMinPermissive(guaranteed, max)
+       maxResource := qps.GetMaxResource()
+       absGuaranteed := resources.ComponentWiseMinPermissive(guaranteed, 
maxResource)
        used := resources.Sub(qps.AllocatedResource, qps.PreemptingResource)
        remaining := resources.Sub(absGuaranteed, used)
        return resources.ComponentWiseMin(remaining, parentResult)
@@ -873,10 +873,7 @@ func preemptPredicateCheck(plugin 
api.ResourceManagerCallback, ch chan<- *predic
 func batchPreemptionChecks(checks []*si.PreemptionPredicatesArgs, batchSize 
int) [][]*si.PreemptionPredicatesArgs {
        var result [][]*si.PreemptionPredicatesArgs
        for i := 0; i < len(checks); i += batchSize {
-               end := i + batchSize
-               if end > len(checks) {
-                       end = len(checks)
-               }
+               end := min(i+batchSize, len(checks))
                result = append(result, checks[i:end])
        }
        return result
diff --git a/pkg/scheduler/objects/queue.go b/pkg/scheduler/objects/queue.go
index 6f33232d..43e0b4ed 100644
--- a/pkg/scheduler/objects/queue.go
+++ b/pkg/scheduler/objects/queue.go
@@ -1956,9 +1956,7 @@ func (sq *Queue) recalculatePriority() int32 {
 
        curr := configs.MinPriority
        for _, v := range items {
-               if v > curr {
-                       curr = v
-               }
+               curr = max(v, curr)
        }
        sq.currentPriority = curr
        return priorityValueByPolicy(sq.priorityPolicy, sq.priorityOffset, curr)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to