You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by cc...@apache.org on 2024/04/25 19:57:23 UTC

(yunikorn-core) branch master updated: [YUNIKORN-2587] Core: Convert AllocationID to AllocationKey (#856)

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

ccondit 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 cf838f90 [YUNIKORN-2587] Core: Convert AllocationID to AllocationKey (#856)
cf838f90 is described below

commit cf838f90f0b6912b73c60d76079900702b679f69
Author: Craig Condit <cc...@apache.org>
AuthorDate: Thu Apr 25 14:57:10 2024 -0500

    [YUNIKORN-2587] Core: Convert AllocationID to AllocationKey (#856)
    
    Having both AllocationID and AllocationKey in the core is redundant.
    Replace all references to AllocationID with AllocationKey and remove
    the duplicate variable in Allocation.
    
    Closes: #856
---
 go.mod                                           |   2 +-
 go.sum                                           |   4 +-
 pkg/examples/simple_example.go                   |   4 +-
 pkg/scheduler/context.go                         |   3 +-
 pkg/scheduler/health_checker.go                  |   2 +-
 pkg/scheduler/objects/allocation.go              |  24 +--
 pkg/scheduler/objects/allocation_test.go         |  13 +-
 pkg/scheduler/objects/application.go             |  25 ++-
 pkg/scheduler/objects/application_events.go      |   4 +-
 pkg/scheduler/objects/application_events_test.go |  26 +--
 pkg/scheduler/objects/application_test.go        |  58 +++---
 pkg/scheduler/objects/node.go                    |  32 +--
 pkg/scheduler/objects/node_events.go             |   8 +-
 pkg/scheduler/objects/node_test.go               |  25 ++-
 pkg/scheduler/objects/preemption.go              |   4 +-
 pkg/scheduler/objects/queue_test.go              |   2 +-
 pkg/scheduler/objects/utilities_test.go          |  17 +-
 pkg/scheduler/partition.go                       |  82 ++++----
 pkg/scheduler/partition_test.go                  | 252 +++++++++++------------
 pkg/scheduler/tests/application_tracking_test.go |   6 +-
 pkg/scheduler/tests/mock_rm_callback_test.go     |   6 +-
 pkg/scheduler/tests/mockscheduler_test.go        |   8 +-
 pkg/scheduler/tests/recovery_test.go             |  26 +--
 pkg/scheduler/tests/reservation_test.go          |   2 +-
 pkg/scheduler/tests/smoke_test.go                |  10 +-
 pkg/scheduler/utilities_test.go                  |   6 +-
 pkg/webservice/dao/allocation_info.go            |   2 -
 pkg/webservice/handlers.go                       |   2 -
 pkg/webservice/handlers_test.go                  |   4 -
 29 files changed, 294 insertions(+), 365 deletions(-)

diff --git a/go.mod b/go.mod
index 7865af82..65b2c5a8 100644
--- a/go.mod
+++ b/go.mod
@@ -22,7 +22,7 @@ module github.com/apache/yunikorn-core
 go 1.21
 
 require (
-	github.com/apache/yunikorn-scheduler-interface v0.0.0-20240423191701-8c98b1604a7a
+	github.com/apache/yunikorn-scheduler-interface v0.0.0-20240425182941-07f5695119a1
 	github.com/google/btree v1.1.2
 	github.com/google/go-cmp v0.6.0
 	github.com/google/uuid v1.6.0
diff --git a/go.sum b/go.sum
index a76cb0cd..35ee67e4 100644
--- a/go.sum
+++ b/go.sum
@@ -1,5 +1,5 @@
-github.com/apache/yunikorn-scheduler-interface v0.0.0-20240423191701-8c98b1604a7a h1:H978zsTL2FvbRFnySO83DOFLO33PwHWFdmHvMoSVXsc=
-github.com/apache/yunikorn-scheduler-interface v0.0.0-20240423191701-8c98b1604a7a/go.mod h1:WuHJpVk34t8N5+1ErYGj/5Qq33/cRzL4YtuoAsbMtWc=
+github.com/apache/yunikorn-scheduler-interface v0.0.0-20240425182941-07f5695119a1 h1:v4J9L3MlW8BQfYnbq6FV2l3uyay3SqMS2Ffpo+SFat4=
+github.com/apache/yunikorn-scheduler-interface v0.0.0-20240425182941-07f5695119a1/go.mod h1:WuHJpVk34t8N5+1ErYGj/5Qq33/cRzL4YtuoAsbMtWc=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
 github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
diff --git a/pkg/examples/simple_example.go b/pkg/examples/simple_example.go
index 7cfaf864..d47ef59d 100644
--- a/pkg/examples/simple_example.go
+++ b/pkg/examples/simple_example.go
@@ -41,7 +41,7 @@ func (m *exampleRMCallback) UpdateAllocation(response *si.AllocationResponse) er
 	m.Lock()
 	defer m.Unlock()
 	for _, alloc := range response.New {
-		m.Allocations[alloc.AllocationID] = alloc
+		m.Allocations[alloc.AllocationKey] = alloc
 		if val, ok := m.nodeAllocations[alloc.NodeID]; ok {
 			val = append(val, alloc)
 			m.nodeAllocations[alloc.NodeID] = val
@@ -53,7 +53,7 @@ func (m *exampleRMCallback) UpdateAllocation(response *si.AllocationResponse) er
 	}
 
 	for _, alloc := range response.Released {
-		delete(m.Allocations, alloc.AllocationID)
+		delete(m.Allocations, alloc.AllocationKey)
 	}
 	return nil
 }
diff --git a/pkg/scheduler/context.go b/pkg/scheduler/context.go
index bf97b419..3d514e67 100644
--- a/pkg/scheduler/context.go
+++ b/pkg/scheduler/context.go
@@ -143,7 +143,7 @@ func (cc *ClusterContext) schedule() bool {
 			metrics.GetSchedulerMetrics().ObserveSchedulingLatency(schedulingStart)
 			if alloc.GetResult() == objects.Replaced {
 				// communicate the removal to the RM
-				cc.notifyRMAllocationReleased(psc.RmID, alloc.GetReleasesClone(), si.TerminationType_PLACEHOLDER_REPLACED, "replacing allocationID: "+alloc.GetAllocationID())
+				cc.notifyRMAllocationReleased(psc.RmID, alloc.GetReleasesClone(), si.TerminationType_PLACEHOLDER_REPLACED, "replacing allocationKey: "+alloc.GetAllocationKey())
 			} else {
 				cc.notifyRMNewAllocation(psc.RmID, alloc)
 			}
@@ -898,7 +898,6 @@ func (cc *ClusterContext) notifyRMAllocationReleased(rmID string, released []*ob
 		releaseEvent.ReleasedAllocations = append(releaseEvent.ReleasedAllocations, &si.AllocationRelease{
 			ApplicationID:   alloc.GetApplicationID(),
 			PartitionName:   alloc.GetPartitionName(),
-			AllocationID:    alloc.GetAllocationID(),
 			TerminationType: terminationType,
 			Message:         message,
 			AllocationKey:   alloc.GetAllocationKey(),
diff --git a/pkg/scheduler/health_checker.go b/pkg/scheduler/health_checker.go
index e8ba9728..84c7947a 100644
--- a/pkg/scheduler/health_checker.go
+++ b/pkg/scheduler/health_checker.go
@@ -335,7 +335,7 @@ func checkAppAllocations(app *objects.Application, nodes objects.NodeCollection)
 	orphanAllocationsOnApp := make([]*objects.Allocation, 0)
 	for _, alloc := range app.GetAllAllocations() {
 		if node := nodes.GetNode(alloc.GetNodeID()); node != nil {
-			if node.GetAllocation(alloc.GetAllocationID()) == nil {
+			if node.GetAllocation(alloc.GetAllocationKey()) == nil {
 				orphanAllocationsOnApp = append(orphanAllocationsOnApp, alloc)
 			}
 		} else {
diff --git a/pkg/scheduler/objects/allocation.go b/pkg/scheduler/objects/allocation.go
index ddca67f7..dd4c1f99 100644
--- a/pkg/scheduler/objects/allocation.go
+++ b/pkg/scheduler/objects/allocation.go
@@ -57,7 +57,6 @@ type Allocation struct {
 	taskGroupName     string // task group this allocation belongs to
 	placeholder       bool   // is this a placeholder allocation
 	nodeID            string
-	allocationID      string
 	priority          int32
 	tags              map[string]string
 	allocatedResource *resources.Resource
@@ -92,7 +91,6 @@ func NewAllocation(nodeID string, ask *AllocationAsk) *Allocation {
 		bindTime:          time.Now(),
 		nodeID:            nodeID,
 		partitionName:     common.GetPartitionNameWithoutClusterID(ask.GetPartitionName()),
-		allocationID:      ask.allocationKey,
 		tags:              ask.GetTagsClone(),
 		priority:          ask.GetPriority(),
 		allocatedResource: ask.GetAllocatedResource().Clone(),
@@ -104,7 +102,6 @@ func NewAllocation(nodeID string, ask *AllocationAsk) *Allocation {
 
 func newReservedAllocation(nodeID string, ask *AllocationAsk) *Allocation {
 	alloc := NewAllocation(nodeID, ask)
-	alloc.allocationID = ""
 	alloc.SetBindTime(time.Time{})
 	alloc.SetResult(Reserved)
 	return alloc
@@ -112,7 +109,6 @@ func newReservedAllocation(nodeID string, ask *AllocationAsk) *Allocation {
 
 func newUnreservedAllocation(nodeID string, ask *AllocationAsk) *Allocation {
 	alloc := NewAllocation(nodeID, ask)
-	alloc.allocationID = ""
 	alloc.SetBindTime(time.Time{})
 	alloc.SetResult(Unreserved)
 	return alloc
@@ -157,7 +153,7 @@ func NewAllocationFromSI(alloc *si.Allocation) *Allocation {
 		allowPreemptOther: alloc.PreemptionPolicy.GetAllowPreemptOther(),
 	}
 	newAlloc := NewAllocation(alloc.NodeID, ask)
-	newAlloc.allocationID = alloc.AllocationID
+	newAlloc.allocationKey = alloc.AllocationKey
 	return newAlloc
 }
 
@@ -173,7 +169,6 @@ func (a *Allocation) NewSIFromAllocation() *si.Allocation {
 		NodeID:           a.GetNodeID(),
 		ApplicationID:    a.GetApplicationID(),
 		AllocationKey:    a.GetAllocationKey(),
-		AllocationID:     a.GetAllocationID(),
 		ResourcePerAlloc: a.GetAllocatedResource().ToProto(), // needed in tests for restore
 		TaskGroupName:    a.GetTaskGroup(),
 		Placeholder:      a.IsPlaceholder(),
@@ -191,11 +186,7 @@ func (a *Allocation) String() string {
 	}
 	a.RLock()
 	defer a.RUnlock()
-	allocationID := a.allocationID
-	if a.result == Reserved || a.result == Unreserved {
-		allocationID = "N/A"
-	}
-	return fmt.Sprintf("applicationID=%s, allocationID=%s, allocationKey=%s, Node=%s, result=%s", a.applicationID, allocationID, a.allocationKey, a.nodeID, a.result.String())
+	return fmt.Sprintf("applicationID=%s, allocationKey=%s, Node=%s, result=%s", a.applicationID, a.allocationKey, a.nodeID, a.result.String())
 }
 
 // GetAsk returns the ask associated with this allocation
@@ -301,17 +292,6 @@ func (a *Allocation) GetInstanceType() string {
 	return a.instType
 }
 
-// GetAllocationID returns the allocationID for this allocation
-func (a *Allocation) GetAllocationID() string {
-	return a.allocationID
-}
-
-// SetAllocationID set the allocationID for this allocation
-// only for tests
-func (a *Allocation) SetAllocationID(allocationID string) {
-	a.allocationID = allocationID
-}
-
 // GetPriority returns the priority of this allocation
 func (a *Allocation) GetPriority() int32 {
 	return a.priority
diff --git a/pkg/scheduler/objects/allocation_test.go b/pkg/scheduler/objects/allocation_test.go
index e1c1bfe4..475ba9d6 100644
--- a/pkg/scheduler/objects/allocation_test.go
+++ b/pkg/scheduler/objects/allocation_test.go
@@ -53,7 +53,7 @@ func TestNewAlloc(t *testing.T) {
 	if alloc == nil {
 		t.Fatal("NewAllocation create failed while it should not")
 	}
-	assert.Equal(t, alloc.GetAllocationID(), "ask-1")
+	assert.Equal(t, alloc.GetAllocationKey(), "ask-1")
 	assert.Equal(t, alloc.GetResult(), Allocated, "New alloc should default to result Allocated")
 	assert.Assert(t, resources.Equals(alloc.GetAllocatedResource(), res), "Allocated resource not set correctly")
 	assert.Assert(t, !alloc.IsPlaceholder(), "ask should not have been a placeholder")
@@ -62,7 +62,7 @@ func TestNewAlloc(t *testing.T) {
 	alloc.SetInstanceType(instType1)
 	assert.Equal(t, alloc.GetInstanceType(), instType1, "Instance type not set as expected")
 	allocStr := alloc.String()
-	expected := "applicationID=app-1, allocationID=ask-1, allocationKey=ask-1, Node=node-1, result=Allocated"
+	expected := "applicationID=app-1, allocationKey=ask-1, Node=node-1, result=Allocated"
 	assert.Equal(t, allocStr, expected, "Strings should have been equal")
 	assert.Assert(t, !alloc.IsPlaceholderUsed(), fmt.Sprintf("Alloc should not be placeholder replacement by default: got %t, expected %t", alloc.IsPlaceholderUsed(), false))
 	created := alloc.GetCreateTime()
@@ -90,10 +90,9 @@ func TestNewReservedAlloc(t *testing.T) {
 		t.Fatal("NewReservedAllocation create failed while it should not")
 	}
 	assert.Equal(t, alloc.GetResult(), Reserved, "NewReservedAlloc should have Reserved result")
-	assert.Equal(t, alloc.GetAllocationID(), "", "NewReservedAlloc should not have allocationID")
 	assert.Assert(t, resources.Equals(alloc.GetAllocatedResource(), res), "Allocated resource not set correctly")
 	allocStr := alloc.String()
-	expected := "applicationID=app-1, allocationID=N/A, allocationKey=ask-1, Node=node-1, result=Reserved"
+	expected := "applicationID=app-1, allocationKey=ask-1, Node=node-1, result=Reserved"
 	assert.Equal(t, allocStr, expected, "Strings should have been equal")
 }
 
@@ -106,10 +105,9 @@ func TestNewUnreservedAlloc(t *testing.T) {
 		t.Fatal("NewReservedAllocation create failed while it should not")
 	}
 	assert.Equal(t, alloc.GetResult(), Unreserved, "NewReservedAlloc should have Reserved result")
-	assert.Equal(t, alloc.GetAllocationID(), "", "NewReservedAlloc should not have allocationID")
 	assert.Assert(t, resources.Equals(alloc.GetAllocatedResource(), res), "Allocated resource not set correctly")
 	allocStr := alloc.String()
-	expected := "applicationID=app-1, allocationID=N/A, allocationKey=ask-1, Node=node-1, result=Unreserved"
+	expected := "applicationID=app-1, allocationKey=ask-1, Node=node-1, result=Unreserved"
 	assert.Equal(t, allocStr, expected, "Strings should have been equal")
 }
 
@@ -131,7 +129,6 @@ func TestSIFromAlloc(t *testing.T) {
 	assert.NilError(t, err, "Resource creation failed")
 	expectedSI := &si.Allocation{
 		AllocationKey:    "ask-1",
-		AllocationID:     "ask-1",
 		NodeID:           "node-1",
 		ApplicationID:    "app-1",
 		ResourcePerAlloc: res.ToProto(),
@@ -152,7 +149,6 @@ func TestSIFromAlloc(t *testing.T) {
 
 	allocSI := alloc.NewSIFromAllocation()
 	assert.Equal(t, expectedSI.AllocationKey, allocSI.AllocationKey, "wrong AllocationKey")
-	assert.Equal(t, expectedSI.AllocationID, allocSI.AllocationID, "wrong AllocationID")
 	assert.Equal(t, expectedSI.NodeID, allocSI.NodeID, "wrong NodeID")
 	assert.Equal(t, expectedSI.ApplicationID, allocSI.ApplicationID, "wrong ApplicationID")
 	assert.Check(t, allocSI.Originator, "originator flag should be set")
@@ -186,7 +182,6 @@ func TestNewAllocFromSI(t *testing.T) {
 	tags[siCommon.CreationTime] = strconv.FormatInt(past, 10)
 	allocSI := &si.Allocation{
 		AllocationKey:    "ask-1",
-		AllocationID:     "test-allocationid",
 		NodeID:           "node-1",
 		ApplicationID:    "app-1",
 		ResourcePerAlloc: res.ToProto(),
diff --git a/pkg/scheduler/objects/application.go b/pkg/scheduler/objects/application.go
index 3c0e0179..8b280891 100644
--- a/pkg/scheduler/objects/application.go
+++ b/pkg/scheduler/objects/application.go
@@ -1140,7 +1140,7 @@ func (sa *Application) tryPlaceholderAllocate(nodeIterator func() NodeIterator,
 			if delta.HasNegativeValue() {
 				log.Log(log.SchedApplication).Warn("releasing placeholder: real allocation is larger than placeholder",
 					zap.Stringer("requested resource", request.GetAllocatedResource()),
-					zap.String("placeholderID", ph.GetAllocationID()),
+					zap.String("placeholderKey", ph.GetAllocationKey()),
 					zap.Stringer("placeholder resource", ph.GetAllocatedResource()))
 				// release the placeholder and tell the RM
 				ph.SetReleased(true)
@@ -1506,7 +1506,7 @@ func (sa *Application) tryNode(node *Node, ask *AllocationAsk) *Allocation {
 			log.Log(log.SchedApplication).DPanic("queue update failed unexpectedly",
 				zap.Error(err))
 			// revert the node update
-			node.RemoveAllocation(alloc.GetAllocationID())
+			node.RemoveAllocation(alloc.GetAllocationKey())
 			return nil
 		}
 		// mark this ask as allocated
@@ -1668,7 +1668,7 @@ func (sa *Application) addAllocationInternal(info *Allocation) {
 		sa.maxAllocatedResource = resources.ComponentWiseMax(sa.allocatedResource, sa.maxAllocatedResource)
 	}
 	sa.appEvents.sendNewAllocationEvent(info)
-	sa.allocations[info.GetAllocationID()] = info
+	sa.allocations[info.GetAllocationKey()] = info
 }
 
 // Increase user resource usage
@@ -1716,11 +1716,11 @@ func (sa *Application) updatePreemptedResource(info *Allocation) {
 		info.GetAllocatedResource(), info.GetBindTime())
 }
 
-func (sa *Application) ReplaceAllocation(allocationID string) *Allocation {
+func (sa *Application) ReplaceAllocation(allocationKey string) *Allocation {
 	sa.Lock()
 	defer sa.Unlock()
 	// remove the placeholder that was just confirmed by the shim
-	ph := sa.removeAllocationInternal(allocationID, si.TerminationType_PLACEHOLDER_REPLACED)
+	ph := sa.removeAllocationInternal(allocationKey, si.TerminationType_PLACEHOLDER_REPLACED)
 	// this has already been replaced or it is a duplicate message from the shim
 	if ph == nil || ph.GetReleaseCount() == 0 {
 		log.Log(log.SchedApplication).Debug("Unexpected placeholder released",
@@ -1732,7 +1732,7 @@ func (sa *Application) ReplaceAllocation(allocationID string) *Allocation {
 	if ph.GetReleaseCount() > 1 {
 		log.Log(log.SchedApplication).Error("Unexpected release number, placeholder released, only 1 real allocations processed",
 			zap.String("applicationID", sa.ApplicationID),
-			zap.String("placeholderID", allocationID),
+			zap.String("placeholderKey", allocationKey),
 			zap.Int("releases", ph.GetReleaseCount()))
 	}
 	// update the replacing allocation
@@ -1756,16 +1756,16 @@ func (sa *Application) ReplaceAllocation(allocationID string) *Allocation {
 
 // Remove the Allocation from the application.
 // Return the allocation that was removed or nil if not found.
-func (sa *Application) RemoveAllocation(allocationID string, releaseType si.TerminationType) *Allocation {
+func (sa *Application) RemoveAllocation(allocationKey string, releaseType si.TerminationType) *Allocation {
 	sa.Lock()
 	defer sa.Unlock()
-	return sa.removeAllocationInternal(allocationID, releaseType)
+	return sa.removeAllocationInternal(allocationKey, releaseType)
 }
 
 // Remove the Allocation from the application
 // No locking must be called while holding the lock
-func (sa *Application) removeAllocationInternal(allocationID string, releaseType si.TerminationType) *Allocation {
-	alloc := sa.allocations[allocationID]
+func (sa *Application) removeAllocationInternal(allocationKey string, releaseType si.TerminationType) *Allocation {
+	alloc := sa.allocations[allocationKey]
 
 	// When app has the allocation, update map, and update allocated resource of the app
 	if alloc == nil {
@@ -1830,7 +1830,7 @@ func (sa *Application) removeAllocationInternal(allocationID string, releaseType
 				zap.Error(err))
 		}
 	}
-	delete(sa.allocations, allocationID)
+	delete(sa.allocations, allocationKey)
 	sa.appEvents.sendRemoveAllocationEvent(alloc, releaseType)
 	return alloc
 }
@@ -1959,7 +1959,6 @@ func (sa *Application) notifyRMAllocationReleased(rmID string, released []*Alloc
 			ApplicationID:   alloc.GetApplicationID(),
 			PartitionName:   alloc.GetPartitionName(),
 			AllocationKey:   alloc.GetAllocationKey(),
-			AllocationID:    alloc.GetAllocationID(),
 			TerminationType: terminationType,
 			Message:         message,
 		})
@@ -2001,7 +2000,7 @@ func (sa *Application) notifyRMAllocationAskReleased(rmID string, released []*Al
 func (sa *Application) IsAllocationAssignedToApp(alloc *Allocation) bool {
 	sa.RLock()
 	defer sa.RUnlock()
-	_, ok := sa.allocations[alloc.GetAllocationID()]
+	_, ok := sa.allocations[alloc.GetAllocationKey()]
 	return ok
 }
 
diff --git a/pkg/scheduler/objects/application_events.go b/pkg/scheduler/objects/application_events.go
index 8c407674..bb94ffbf 100644
--- a/pkg/scheduler/objects/application_events.go
+++ b/pkg/scheduler/objects/application_events.go
@@ -44,7 +44,7 @@ func (evt *applicationEvents) sendNewAllocationEvent(alloc *Allocation) {
 	if !evt.eventSystem.IsEventTrackingEnabled() {
 		return
 	}
-	event := events.CreateAppEventRecord(evt.app.ApplicationID, common.Empty, alloc.GetAllocationID(), si.EventRecord_ADD, si.EventRecord_APP_ALLOC, alloc.GetAllocatedResource())
+	event := events.CreateAppEventRecord(evt.app.ApplicationID, common.Empty, alloc.GetAllocationKey(), si.EventRecord_ADD, si.EventRecord_APP_ALLOC, alloc.GetAllocatedResource())
 	evt.eventSystem.AddEvent(event)
 }
 
@@ -75,7 +75,7 @@ func (evt *applicationEvents) sendRemoveAllocationEvent(alloc *Allocation, termi
 		eventChangeDetail = si.EventRecord_ALLOC_REPLACED
 	}
 
-	event := events.CreateAppEventRecord(evt.app.ApplicationID, common.Empty, alloc.GetAllocationID(), si.EventRecord_REMOVE, eventChangeDetail, alloc.GetAllocatedResource())
+	event := events.CreateAppEventRecord(evt.app.ApplicationID, common.Empty, alloc.GetAllocationKey(), si.EventRecord_REMOVE, eventChangeDetail, alloc.GetAllocatedResource())
 	evt.eventSystem.AddEvent(event)
 }
 
diff --git a/pkg/scheduler/objects/application_events_test.go b/pkg/scheduler/objects/application_events_test.go
index 082ffc61..8cb10628 100644
--- a/pkg/scheduler/objects/application_events_test.go
+++ b/pkg/scheduler/objects/application_events_test.go
@@ -19,9 +19,10 @@
 package objects
 
 import (
-	"gotest.tools/v3/assert"
 	"testing"
 
+	"gotest.tools/v3/assert"
+
 	"github.com/apache/yunikorn-core/pkg/common"
 	"github.com/apache/yunikorn-core/pkg/events/mock"
 	"github.com/apache/yunikorn-scheduler-interface/lib/go/si"
@@ -84,14 +85,13 @@ func TestSendNewAllocationEvent(t *testing.T) {
 	appEvents.sendNewAllocationEvent(&Allocation{
 		applicationID: appID0,
 		allocationKey: aKey,
-		allocationID:  aAllocationID,
 	})
 	assert.Equal(t, 1, len(eventSystem.Events), "event was not generated")
 	assert.Equal(t, si.EventRecord_APP, eventSystem.Events[0].Type, "event type is not expected")
 	assert.Equal(t, si.EventRecord_ADD, eventSystem.Events[0].EventChangeType, "event change type is not expected")
 	assert.Equal(t, si.EventRecord_APP_ALLOC, eventSystem.Events[0].EventChangeDetail, "event change detail is not expected")
 	assert.Equal(t, appID0, eventSystem.Events[0].ObjectID, "event object id is not expected")
-	assert.Equal(t, aAllocationID, eventSystem.Events[0].ReferenceID, "event reference id is not expected")
+	assert.Equal(t, aKey, eventSystem.Events[0].ReferenceID, "event reference id is not expected")
 	assert.Equal(t, common.Empty, eventSystem.Events[0].Message, "message is not expected")
 }
 
@@ -147,61 +147,61 @@ func TestSendRemoveAllocationEvent(t *testing.T) {
 			name:                 "remove allocation cause of node removal",
 			eventSystemMock:      mock.NewEventSystem(),
 			terminationType:      si.TerminationType_UNKNOWN_TERMINATION_TYPE,
-			allocation:           &Allocation{applicationID: appID0, allocationKey: aKey, allocationID: aAllocationID},
+			allocation:           &Allocation{applicationID: appID0, allocationKey: aKey},
 			expectedEventCnt:     1,
 			expectedType:         si.EventRecord_APP,
 			expectedChangeType:   si.EventRecord_REMOVE,
 			expectedChangeDetail: si.EventRecord_ALLOC_NODEREMOVED,
 			expectedObjectID:     appID0,
-			expectedReferenceID:  aAllocationID,
+			expectedReferenceID:  aKey,
 		},
 		{
 			name:                 "remove allocation cause of resource manager cancel",
 			eventSystemMock:      mock.NewEventSystem(),
 			terminationType:      si.TerminationType_STOPPED_BY_RM,
-			allocation:           &Allocation{applicationID: appID0, allocationKey: aKey, allocationID: aAllocationID},
+			allocation:           &Allocation{applicationID: appID0, allocationKey: aKey},
 			expectedEventCnt:     1,
 			expectedType:         si.EventRecord_APP,
 			expectedChangeType:   si.EventRecord_REMOVE,
 			expectedChangeDetail: si.EventRecord_ALLOC_CANCEL,
 			expectedObjectID:     appID0,
-			expectedReferenceID:  aAllocationID,
+			expectedReferenceID:  aKey,
 		},
 		{
 			name:                 "remove allocation cause of timeout",
 			eventSystemMock:      mock.NewEventSystem(),
 			terminationType:      si.TerminationType_TIMEOUT,
-			allocation:           &Allocation{applicationID: appID0, allocationKey: aKey, allocationID: aAllocationID},
+			allocation:           &Allocation{applicationID: appID0, allocationKey: aKey},
 			expectedEventCnt:     1,
 			expectedType:         si.EventRecord_APP,
 			expectedChangeType:   si.EventRecord_REMOVE,
 			expectedChangeDetail: si.EventRecord_ALLOC_TIMEOUT,
 			expectedObjectID:     appID0,
-			expectedReferenceID:  aAllocationID,
+			expectedReferenceID:  aKey,
 		},
 		{
 			name:                 "remove allocation cause of preemption",
 			eventSystemMock:      mock.NewEventSystem(),
 			terminationType:      si.TerminationType_PREEMPTED_BY_SCHEDULER,
-			allocation:           &Allocation{applicationID: appID0, allocationKey: aKey, allocationID: aAllocationID},
+			allocation:           &Allocation{applicationID: appID0, allocationKey: aKey},
 			expectedEventCnt:     1,
 			expectedType:         si.EventRecord_APP,
 			expectedChangeType:   si.EventRecord_REMOVE,
 			expectedChangeDetail: si.EventRecord_ALLOC_PREEMPT,
 			expectedObjectID:     appID0,
-			expectedReferenceID:  aAllocationID,
+			expectedReferenceID:  aKey,
 		},
 		{
 			name:                 "remove allocation cause of replacement",
 			eventSystemMock:      mock.NewEventSystem(),
 			terminationType:      si.TerminationType_PLACEHOLDER_REPLACED,
-			allocation:           &Allocation{applicationID: appID0, allocationKey: aKey, allocationID: aAllocationID},
+			allocation:           &Allocation{applicationID: appID0, allocationKey: aKey},
 			expectedEventCnt:     1,
 			expectedType:         si.EventRecord_APP,
 			expectedChangeType:   si.EventRecord_REMOVE,
 			expectedChangeDetail: si.EventRecord_ALLOC_REPLACED,
 			expectedObjectID:     appID0,
-			expectedReferenceID:  aAllocationID,
+			expectedReferenceID:  aKey,
 		},
 	}
 	for _, testCase := range testCases {
diff --git a/pkg/scheduler/objects/application_test.go b/pkg/scheduler/objects/application_test.go
index 83984d34..eab5ae5b 100644
--- a/pkg/scheduler/objects/application_test.go
+++ b/pkg/scheduler/objects/application_test.go
@@ -904,7 +904,7 @@ func TestAllocations(t *testing.T) {
 	assert.Equal(t, len(allocs), 3)
 	assertUserGroupResource(t, getTestUserGroup(), resources.Multiply(res, 3))
 	// remove one of the 3
-	if alloc = app.RemoveAllocation(alloc.GetAllocationID(), si.TerminationType_UNKNOWN_TERMINATION_TYPE); alloc == nil {
+	if alloc = app.RemoveAllocation(alloc.GetAllocationKey(), si.TerminationType_UNKNOWN_TERMINATION_TYPE); alloc == nil {
 		t.Error("returned allocations was nil allocation was not removed")
 	}
 	assertUserGroupResource(t, getTestUserGroup(), resources.Multiply(res, 2))
@@ -1106,7 +1106,7 @@ func TestResourceUsageAggregation(t *testing.T) {
 	assertUserGroupResource(t, getTestUserGroup(), resources.Multiply(res, 2))
 
 	// remove one of the 2
-	if alloc = app.RemoveAllocation(alloc.GetAllocationID(), si.TerminationType_UNKNOWN_TERMINATION_TYPE); alloc == nil {
+	if alloc = app.RemoveAllocation(alloc.GetAllocationKey(), si.TerminationType_UNKNOWN_TERMINATION_TYPE); alloc == nil {
 		t.Error("returned allocations was nil allocation was not removed")
 	}
 	assertUserGroupResource(t, getTestUserGroup(), resources.Multiply(res, 1))
@@ -1258,7 +1258,7 @@ func TestReplaceAllocation(t *testing.T) {
 		t.Fatalf("placeholder allocation not updated as expected: got %s, expected %s", app.allocatedPlaceholder, res)
 	}
 	assertUserGroupResource(t, getTestUserGroup(), res)
-	alloc = app.ReplaceAllocation(ph.GetAllocationID())
+	alloc = app.ReplaceAllocation(ph.GetAllocationKey())
 	assert.Equal(t, alloc, nilAlloc, "placeholder without releases expected nil to be returned got a real alloc: %s", alloc)
 	assert.Equal(t, app.placeholderData[""].Replaced, int64(0))
 	assertUserGroupResource(t, getTestUserGroup(), nil)
@@ -1273,7 +1273,7 @@ func TestReplaceAllocation(t *testing.T) {
 	realAlloc := newAllocation(appID1, nodeID1, res)
 	realAlloc.SetResult(Replaced)
 	ph.AddRelease(realAlloc)
-	alloc = app.ReplaceAllocation(ph.GetAllocationID())
+	alloc = app.ReplaceAllocation(ph.GetAllocationKey())
 	assert.Equal(t, alloc, ph, "returned allocation is not the placeholder")
 	assert.Assert(t, resources.IsZero(app.allocatedPlaceholder), "real allocation counted as placeholder")
 	if !resources.Equals(app.allocatedResource, res) {
@@ -1298,7 +1298,7 @@ func TestReplaceAllocation(t *testing.T) {
 	realAllocNoAdd := newAllocation(appID1, nodeID1, res)
 	realAllocNoAdd.SetResult(Replaced)
 	ph.AddRelease(realAlloc)
-	alloc = app.ReplaceAllocation(ph.GetAllocationID())
+	alloc = app.ReplaceAllocation(ph.GetAllocationKey())
 	assert.Equal(t, alloc, ph, "returned allocation is not the placeholder")
 	assert.Assert(t, resources.IsZero(app.allocatedPlaceholder), "real allocation counted as placeholder")
 	assert.Equal(t, app.placeholderData[""].Replaced, int64(2))
@@ -1347,23 +1347,23 @@ func TestReplaceAllocationTracking(t *testing.T) {
 	realAlloc1 := newAllocation(appID1, nodeID1, res)
 	realAlloc1.SetResult(Replaced)
 	ph1.AddRelease(realAlloc1)
-	alloc1 := app.ReplaceAllocation(ph1.GetAllocationID())
-	app.RemoveAllocation(ph1.GetAllocationID(), si.TerminationType_PLACEHOLDER_REPLACED)
-	assert.Equal(t, ph1.GetAllocationID(), alloc1.GetAllocationID())
+	alloc1 := app.ReplaceAllocation(ph1.GetAllocationKey())
+	app.RemoveAllocation(ph1.GetAllocationKey(), si.TerminationType_PLACEHOLDER_REPLACED)
+	assert.Equal(t, ph1.GetAllocationKey(), alloc1.GetAllocationKey())
 	assert.Equal(t, true, app.HasPlaceholderAllocation())
 	realAlloc2 := newAllocation(appID1, nodeID1, res)
 	realAlloc2.SetResult(Replaced)
 	ph2.AddRelease(realAlloc2)
-	alloc2 := app.ReplaceAllocation(ph2.GetAllocationID())
-	app.RemoveAllocation(ph2.GetAllocationID(), si.TerminationType_PLACEHOLDER_REPLACED)
-	assert.Equal(t, ph2.GetAllocationID(), alloc2.GetAllocationID())
+	alloc2 := app.ReplaceAllocation(ph2.GetAllocationKey())
+	app.RemoveAllocation(ph2.GetAllocationKey(), si.TerminationType_PLACEHOLDER_REPLACED)
+	assert.Equal(t, ph2.GetAllocationKey(), alloc2.GetAllocationKey())
 	assert.Equal(t, true, app.HasPlaceholderAllocation())
 	realAlloc3 := newAllocation(appID1, nodeID1, res)
 	realAlloc3.SetResult(Replaced)
 	ph3.AddRelease(realAlloc3)
-	alloc3 := app.ReplaceAllocation(ph3.GetAllocationID())
-	app.RemoveAllocation(ph3.GetAllocationID(), si.TerminationType_PLACEHOLDER_REPLACED)
-	assert.Equal(t, ph3.GetAllocationID(), alloc3.GetAllocationID())
+	alloc3 := app.ReplaceAllocation(ph3.GetAllocationKey())
+	app.RemoveAllocation(ph3.GetAllocationKey(), si.TerminationType_PLACEHOLDER_REPLACED)
+	assert.Equal(t, ph3.GetAllocationKey(), alloc3.GetAllocationKey())
 	assert.Equal(t, false, app.HasPlaceholderAllocation())
 
 	// check placeholder resource usage
@@ -1511,7 +1511,7 @@ func TestTimeoutPlaceholderAllocReleased(t *testing.T) {
 	for _, event := range events {
 		if allocRelease, ok := event.(*rmevent.RMReleaseAllocationEvent); ok {
 			assert.Equal(t, len(allocRelease.ReleasedAllocations), 1, "one allocation should have been released")
-			assert.Equal(t, allocRelease.ReleasedAllocations[0].AllocationID, ph.allocationID, "wrong placeholder allocation released on timeout")
+			assert.Equal(t, allocRelease.ReleasedAllocations[0].AllocationKey, ph.allocationKey, "wrong placeholder allocation released on timeout")
 			found = true
 		}
 		if _, ok := event.(*rmevent.RMReleaseAllocationAskEvent); ok {
@@ -1550,7 +1550,7 @@ func TestTimeoutPlaceholderCompleting(t *testing.T) {
 	app.SetState(Running.String())
 	assertUserGroupResource(t, getTestUserGroup(), resources.Multiply(res, 2))
 	// remove allocation to trigger state change
-	app.RemoveAllocation(alloc.GetAllocationID(), si.TerminationType_UNKNOWN_TERMINATION_TYPE)
+	app.RemoveAllocation(alloc.GetAllocationKey(), si.TerminationType_UNKNOWN_TERMINATION_TYPE)
 	assert.Assert(t, app.IsCompleting(), "App should be in completing state all allocs have been removed")
 	assertUserGroupResource(t, getTestUserGroup(), resources.Multiply(res, 1))
 	// make sure the placeholders time out
@@ -2101,8 +2101,8 @@ func TestAllocationEvents(t *testing.T) { //nolint:funlen
 	// add + remove
 	app.AddAllocation(alloc1)
 	app.AddAllocation(alloc2)
-	app.RemoveAllocation(alloc1.GetAllocationID(), si.TerminationType_STOPPED_BY_RM)
-	app.RemoveAllocation(alloc2.GetAllocationID(), si.TerminationType_PLACEHOLDER_REPLACED)
+	app.RemoveAllocation(alloc1.GetAllocationKey(), si.TerminationType_STOPPED_BY_RM)
+	app.RemoveAllocation(alloc2.GetAllocationKey(), si.TerminationType_PLACEHOLDER_REPLACED)
 	noEvents := uint64(0)
 	err = common.WaitFor(10*time.Millisecond, time.Second, func() bool {
 		noEvents = eventSystem.Store.CountStoredEvents()
@@ -2115,28 +2115,28 @@ func TestAllocationEvents(t *testing.T) { //nolint:funlen
 	assert.Equal(t, si.EventRecord_APP, records[1].Type)
 	assert.Equal(t, si.EventRecord_ADD, records[1].EventChangeType)
 	assert.Equal(t, si.EventRecord_APP_ALLOC, records[1].EventChangeDetail)
-	assert.Equal(t, alloc1.GetAllocationID(), records[1].ReferenceID)
+	assert.Equal(t, alloc1.GetAllocationKey(), records[1].ReferenceID)
 	assert.Equal(t, "app-1", records[1].ObjectID)
 	assert.Equal(t, si.EventRecord_APP, records[2].Type)
 	assert.Equal(t, si.EventRecord_ADD, records[2].EventChangeType)
 	assert.Equal(t, si.EventRecord_APP_ALLOC, records[2].EventChangeDetail)
-	assert.Equal(t, alloc2.GetAllocationID(), records[2].ReferenceID)
+	assert.Equal(t, alloc2.GetAllocationKey(), records[2].ReferenceID)
 	assert.Equal(t, "app-1", records[2].ObjectID)
 	assert.Equal(t, si.EventRecord_APP, records[3].Type)
 	assert.Equal(t, si.EventRecord_REMOVE, records[3].EventChangeType)
 	assert.Equal(t, si.EventRecord_ALLOC_CANCEL, records[3].EventChangeDetail)
-	assert.Equal(t, alloc1.GetAllocationID(), records[3].ReferenceID)
+	assert.Equal(t, alloc1.GetAllocationKey(), records[3].ReferenceID)
 	assert.Equal(t, "app-1", records[3].ObjectID)
 	assert.Equal(t, si.EventRecord_APP, records[4].Type)
 	assert.Equal(t, si.EventRecord_REMOVE, records[4].EventChangeType)
 	assert.Equal(t, si.EventRecord_ALLOC_REPLACED, records[4].EventChangeDetail)
-	assert.Equal(t, alloc2.GetAllocationID(), records[4].ReferenceID)
+	assert.Equal(t, alloc2.GetAllocationKey(), records[4].ReferenceID)
 	assert.Equal(t, "app-1", records[4].ObjectID)
 
 	// add + replace
 	alloc1.placeholder = true
 	app.AddAllocation(alloc1)
-	app.ReplaceAllocation(alloc1.GetAllocationID())
+	app.ReplaceAllocation(alloc1.GetAllocationKey())
 	noEvents = 0
 	err = common.WaitFor(10*time.Millisecond, time.Second, func() bool {
 		noEvents = eventSystem.Store.CountStoredEvents()
@@ -2148,12 +2148,12 @@ func TestAllocationEvents(t *testing.T) { //nolint:funlen
 	assert.Equal(t, si.EventRecord_APP, records[0].Type)
 	assert.Equal(t, si.EventRecord_ADD, records[0].EventChangeType)
 	assert.Equal(t, si.EventRecord_APP_ALLOC, records[0].EventChangeDetail)
-	assert.Equal(t, alloc1.GetAllocationID(), records[0].ReferenceID)
+	assert.Equal(t, alloc1.GetAllocationKey(), records[0].ReferenceID)
 	assert.Equal(t, "app-1", records[0].ObjectID)
 	assert.Equal(t, si.EventRecord_APP, records[1].Type)
 	assert.Equal(t, si.EventRecord_REMOVE, records[1].EventChangeType)
 	assert.Equal(t, si.EventRecord_ALLOC_REPLACED, records[1].EventChangeDetail)
-	assert.Equal(t, alloc1.GetAllocationID(), records[0].ReferenceID)
+	assert.Equal(t, alloc1.GetAllocationKey(), records[0].ReferenceID)
 	assert.Equal(t, "app-1", records[0].ObjectID)
 
 	// add + remove all
@@ -2171,12 +2171,12 @@ func TestAllocationEvents(t *testing.T) { //nolint:funlen
 	assert.Equal(t, si.EventRecord_APP, records[0].Type)
 	assert.Equal(t, si.EventRecord_ADD, records[0].EventChangeType)
 	assert.Equal(t, si.EventRecord_APP_ALLOC, records[0].EventChangeDetail)
-	assert.Equal(t, alloc1.GetAllocationID(), records[0].ReferenceID)
+	assert.Equal(t, alloc1.GetAllocationKey(), records[0].ReferenceID)
 	assert.Equal(t, "app-1", records[0].ObjectID)
 	assert.Equal(t, si.EventRecord_APP, records[1].Type)
 	assert.Equal(t, si.EventRecord_ADD, records[1].EventChangeType)
 	assert.Equal(t, si.EventRecord_APP_ALLOC, records[1].EventChangeDetail)
-	assert.Equal(t, alloc2.GetAllocationID(), records[1].ReferenceID)
+	assert.Equal(t, alloc2.GetAllocationKey(), records[1].ReferenceID)
 	assert.Equal(t, "app-1", records[1].ObjectID)
 	assert.Equal(t, si.EventRecord_APP, records[2].Type)
 	assert.Equal(t, si.EventRecord_REMOVE, records[2].EventChangeType)
@@ -2188,8 +2188,8 @@ func TestAllocationEvents(t *testing.T) { //nolint:funlen
 	assert.Equal(t, si.EventRecord_ALLOC_CANCEL, records[3].EventChangeDetail)
 	refIdsRemoved[records[3].ReferenceID]++
 	assert.Equal(t, "app-1", records[3].ObjectID)
-	assert.Equal(t, 1, refIdsRemoved[alloc1.GetAllocationID()])
-	assert.Equal(t, 1, refIdsRemoved[alloc2.GetAllocationID()])
+	assert.Equal(t, 1, refIdsRemoved[alloc1.GetAllocationKey()])
+	assert.Equal(t, 1, refIdsRemoved[alloc2.GetAllocationKey()])
 }
 
 func TestPlaceholderLargerEvent(t *testing.T) {
diff --git a/pkg/scheduler/objects/node.go b/pkg/scheduler/objects/node.go
index ecfed943..6ea167ef 100644
--- a/pkg/scheduler/objects/node.go
+++ b/pkg/scheduler/objects/node.go
@@ -204,13 +204,13 @@ func (sn *Node) refreshAvailableResource() {
 	}
 }
 
-// Return the allocation based on the allocationID of the allocation.
+// Return the allocation based on the allocationKey of the allocation.
 // returns nil if the allocation is not found
-func (sn *Node) GetAllocation(allocationID string) *Allocation {
+func (sn *Node) GetAllocation(allocationKey string) *Allocation {
 	sn.RLock()
 	defer sn.RUnlock()
 
-	return sn.allocations[allocationID]
+	return sn.allocations[allocationKey]
 }
 
 // Get a copy of the allocations on this node
@@ -294,14 +294,14 @@ func (sn *Node) FitInNode(resRequest *resources.Resource) bool {
 // Returns nil if the allocation was not found and no changes are made. If the allocation
 // is found the Allocation removed is returned. Used resources will decrease available
 // will increase as per the allocation removed.
-func (sn *Node) RemoveAllocation(allocationID string) *Allocation {
+func (sn *Node) RemoveAllocation(allocationKey string) *Allocation {
 	defer sn.notifyListeners()
 	sn.Lock()
 	defer sn.Unlock()
 
-	alloc := sn.allocations[allocationID]
+	alloc := sn.allocations[allocationKey]
 	if alloc != nil {
-		delete(sn.allocations, allocationID)
+		delete(sn.allocations, allocationKey)
 		sn.allocatedResource.SubFrom(alloc.GetAllocatedResource())
 		sn.availableResource.AddTo(alloc.GetAllocatedResource())
 		sn.nodeEvents.sendAllocationRemovedEvent(alloc.allocationKey, alloc.allocatedResource)
@@ -324,7 +324,7 @@ func (sn *Node) AddAllocation(alloc *Allocation) bool {
 	// check if this still fits: it might have changed since pre-check
 	res := alloc.GetAllocatedResource()
 	if sn.availableResource.FitIn(res) {
-		sn.allocations[alloc.GetAllocationID()] = alloc
+		sn.allocations[alloc.GetAllocationKey()] = alloc
 		sn.allocatedResource.AddTo(res)
 		sn.availableResource.SubFrom(res)
 		sn.nodeEvents.sendAllocationAddedEvent(alloc.allocationKey, res)
@@ -336,23 +336,23 @@ func (sn *Node) AddAllocation(alloc *Allocation) bool {
 // ReplaceAllocation replaces the placeholder with the real allocation on the node.
 // The delta passed in is the difference in resource usage between placeholder and real allocation.
 // It should always be a negative value or zero: it is a decrease in usage or no change
-func (sn *Node) ReplaceAllocation(allocationID string, replace *Allocation, delta *resources.Resource) {
+func (sn *Node) ReplaceAllocation(allocationKey string, replace *Allocation, delta *resources.Resource) {
 	defer sn.notifyListeners()
 	sn.Lock()
 	defer sn.Unlock()
 
-	replace.SetPlaceholderCreateTime(sn.allocations[allocationID].GetCreateTime())
-	delete(sn.allocations, allocationID)
+	replace.SetPlaceholderCreateTime(sn.allocations[allocationKey].GetCreateTime())
+	delete(sn.allocations, allocationKey)
 	replace.SetPlaceholderUsed(true)
-	sn.allocations[replace.GetAllocationID()] = replace
+	sn.allocations[replace.GetAllocationKey()] = replace
 	before := sn.allocatedResource.Clone()
 	// The allocatedResource and availableResource should be updated in the same way
 	sn.allocatedResource.AddTo(delta)
 	sn.availableResource.SubFrom(delta)
 	if !before.FitIn(sn.allocatedResource) {
 		log.Log(log.SchedNode).Warn("unexpected increase in node usage after placeholder replacement",
-			zap.String("placeholder allocationID", allocationID),
-			zap.String("allocation allocationID", replace.GetAllocationID()),
+			zap.String("placeholder allocationKey", allocationKey),
+			zap.String("allocation allocationKey", replace.GetAllocationKey()),
 			zap.Stringer("delta", delta))
 	}
 }
@@ -383,16 +383,16 @@ func (sn *Node) preReserveConditions(ask *AllocationAsk) bool {
 // run at the same time.
 func (sn *Node) preConditions(ask *AllocationAsk, allocate bool) bool {
 	// Check the predicates plugin (k8shim)
-	allocID := ask.GetAllocationKey()
+	allocationKey := ask.GetAllocationKey()
 	if plugin := plugins.GetResourceManagerCallbackPlugin(); plugin != nil {
 		// checking predicates
 		if err := plugin.Predicates(&si.PredicatesArgs{
-			AllocationKey: allocID,
+			AllocationKey: allocationKey,
 			NodeID:        sn.NodeID,
 			Allocate:      allocate,
 		}); err != nil {
 			log.Log(log.SchedNode).Debug("running predicates failed",
-				zap.String("allocationKey", allocID),
+				zap.String("allocationKey", allocationKey),
 				zap.String("nodeID", sn.NodeID),
 				zap.Bool("allocateFlag", allocate),
 				zap.Error(err))
diff --git a/pkg/scheduler/objects/node_events.go b/pkg/scheduler/objects/node_events.go
index 26b040c6..3a60dba4 100644
--- a/pkg/scheduler/objects/node_events.go
+++ b/pkg/scheduler/objects/node_events.go
@@ -48,20 +48,20 @@ func (n *nodeEvents) sendNodeRemovedEvent() {
 	n.eventSystem.AddEvent(event)
 }
 
-func (n *nodeEvents) sendAllocationAddedEvent(allocID string, res *resources.Resource) {
+func (n *nodeEvents) sendAllocationAddedEvent(allocKey string, res *resources.Resource) {
 	if !n.eventSystem.IsEventTrackingEnabled() {
 		return
 	}
-	event := events.CreateNodeEventRecord(n.node.NodeID, common.Empty, allocID, si.EventRecord_ADD,
+	event := events.CreateNodeEventRecord(n.node.NodeID, common.Empty, allocKey, si.EventRecord_ADD,
 		si.EventRecord_NODE_ALLOC, res)
 	n.eventSystem.AddEvent(event)
 }
 
-func (n *nodeEvents) sendAllocationRemovedEvent(allocID string, res *resources.Resource) {
+func (n *nodeEvents) sendAllocationRemovedEvent(allocKey string, res *resources.Resource) {
 	if !n.eventSystem.IsEventTrackingEnabled() {
 		return
 	}
-	event := events.CreateNodeEventRecord(n.node.NodeID, common.Empty, allocID, si.EventRecord_REMOVE,
+	event := events.CreateNodeEventRecord(n.node.NodeID, common.Empty, allocKey, si.EventRecord_REMOVE,
 		si.EventRecord_NODE_ALLOC, res)
 	n.eventSystem.AddEvent(event)
 }
diff --git a/pkg/scheduler/objects/node_test.go b/pkg/scheduler/objects/node_test.go
index 097cfbe0..25b32a4a 100644
--- a/pkg/scheduler/objects/node_test.go
+++ b/pkg/scheduler/objects/node_test.go
@@ -401,7 +401,7 @@ func TestAddAllocation(t *testing.T) {
 	half := resources.NewResourceFromMap(map[string]resources.Quantity{"first": 50, "second": 100})
 	alloc = newAllocation(appID1, nodeID1, half)
 	assert.Assert(t, node.AddAllocation(alloc), "add allocation 1 should not have failed")
-	if node.GetAllocation(alloc.GetAllocationID()) == nil {
+	if node.GetAllocation(alloc.GetAllocationKey()) == nil {
 		t.Fatal("failed to add allocations: allocation not returned")
 	}
 	if !resources.Equals(node.GetAllocatedResource(), half) {
@@ -418,7 +418,7 @@ func TestAddAllocation(t *testing.T) {
 	piece := resources.NewResourceFromMap(map[string]resources.Quantity{"first": 25, "second": 50})
 	alloc = newAllocation(appID1, nodeID1, piece)
 	assert.Assert(t, node.AddAllocation(alloc), "add allocation 2 should not have failed")
-	if node.GetAllocation(alloc.GetAllocationID()) == nil {
+	if node.GetAllocation(alloc.GetAllocationKey()) == nil {
 		t.Fatal("failed to add allocations: allocation not returned")
 	}
 	piece.AddTo(half)
@@ -445,7 +445,7 @@ func TestRemoveAllocation(t *testing.T) {
 	half := resources.NewResourceFromMap(map[string]resources.Quantity{"first": 50, "second": 100})
 	alloc1 := newAllocation(appID1, nodeID1, half)
 	node.AddAllocation(alloc1)
-	if node.GetAllocation(alloc1.GetAllocationID()) == nil {
+	if node.GetAllocation(alloc1.GetAllocationKey()) == nil {
 		t.Fatal("failed to add allocations: allocation not returned")
 	}
 	// check empty alloc
@@ -463,10 +463,10 @@ func TestRemoveAllocation(t *testing.T) {
 	piece := resources.NewResourceFromMap(map[string]resources.Quantity{"first": 25, "second": 50})
 	alloc2 := newAllocation(appID1, nodeID1, piece)
 	node.AddAllocation(alloc2)
-	if node.GetAllocation(alloc2.GetAllocationID()) == nil {
+	if node.GetAllocation(alloc2.GetAllocationKey()) == nil {
 		t.Fatal("failed to add allocations: allocation not returned")
 	}
-	alloc := node.RemoveAllocation(alloc1.GetAllocationID())
+	alloc := node.RemoveAllocation(alloc1.GetAllocationKey())
 	if alloc == nil {
 		t.Error("allocation should have been removed but was not")
 	}
@@ -491,7 +491,7 @@ func TestNodeReplaceAllocation(t *testing.T) {
 	half := resources.NewResourceFromMap(map[string]resources.Quantity{"first": 50, "second": 100})
 	ph := newPlaceholderAlloc(appID1, nodeID1, half)
 	node.AddAllocation(ph)
-	assert.Assert(t, node.GetAllocation(ph.GetAllocationID()) != nil, "failed to add placeholder allocation")
+	assert.Assert(t, node.GetAllocation(ph.GetAllocationKey()) != nil, "failed to add placeholder allocation")
 	assert.Assert(t, resources.Equals(node.GetAllocatedResource(), half), "allocated resource not set correctly %v got %v", half, node.GetAllocatedResource())
 	assert.Assert(t, resources.Equals(node.GetAvailableResource(), half), "available resource not set correctly %v got %v", half, node.GetAvailableResource())
 
@@ -501,13 +501,13 @@ func TestNodeReplaceAllocation(t *testing.T) {
 	delta := resources.Sub(piece, half)
 	assert.Assert(t, delta.HasNegativeValue(), "expected negative values in delta")
 	// swap and check the calculation
-	node.ReplaceAllocation(ph.GetAllocationID(), alloc, delta)
-	assert.Assert(t, node.GetAllocation(alloc.GetAllocationID()) != nil, "failed to replace allocation: allocation not returned")
+	node.ReplaceAllocation(ph.GetAllocationKey(), alloc, delta)
+	assert.Assert(t, node.GetAllocation(alloc.GetAllocationKey()) != nil, "failed to replace allocation: allocation not returned")
 	assert.Assert(t, resources.Equals(node.GetAllocatedResource(), piece), "allocated resource not set correctly %v got %v", piece, node.GetAllocatedResource())
 	assert.Assert(t, resources.Equals(node.GetAvailableResource(), resources.Sub(node.GetCapacity(), piece)), "available resource not set correctly %v got %v", resources.Sub(node.GetCapacity(), piece), node.GetAvailableResource())
 
 	// clean up all should be zero
-	assert.Assert(t, node.RemoveAllocation(alloc.GetAllocationID()) != nil, "allocation should have been removed but was not")
+	assert.Assert(t, node.RemoveAllocation(alloc.GetAllocationKey()) != nil, "allocation should have been removed but was not")
 	assert.Assert(t, resources.IsZero(node.GetAllocatedResource()), "allocated resource not updated correctly")
 	assert.Assert(t, resources.Equals(node.GetAvailableResource(), node.GetCapacity()), "available resource not set correctly %v got %v", node.GetCapacity(), node.GetAvailableResource())
 }
@@ -524,14 +524,14 @@ func TestGetAllocation(t *testing.T) {
 	}
 	alloc = newAllocation(appID1, nodeID1, nil)
 	node.AddAllocation(alloc)
-	alloc = node.GetAllocation(alloc.GetAllocationID())
+	alloc = node.GetAllocation(alloc.GetAllocationKey())
 	if alloc == nil {
 		t.Fatalf("allocation should have been found")
 	}
 	// unknown allocation get a nil
 	alloc = node.GetAllocation("fake")
 	if alloc != nil {
-		t.Fatalf("allocation should not have been found (fake ID)")
+		t.Fatalf("allocation should not have been found (fake key)")
 	}
 }
 
@@ -683,7 +683,6 @@ func TestNodeEvents(t *testing.T) {
 	node.AddAllocation(&Allocation{
 		allocatedResource: resources.NewResourceFromMap(map[string]resources.Quantity{"cpu": 1, "memory": 1}),
 		allocationKey:     aKey,
-		allocationID:      "allocationid-0",
 	})
 	assert.Equal(t, 1, len(mockEvents.Events))
 	event = mockEvents.Events[0]
@@ -692,7 +691,7 @@ func TestNodeEvents(t *testing.T) {
 	assert.Equal(t, si.EventRecord_NODE_ALLOC, event.EventChangeDetail)
 
 	mockEvents.Reset()
-	node.RemoveAllocation("allocationid-0")
+	node.RemoveAllocation(aKey)
 	event = mockEvents.Events[0]
 	assert.Equal(t, si.EventRecord_NODE, event.Type)
 	assert.Equal(t, si.EventRecord_REMOVE, event.EventChangeType)
diff --git a/pkg/scheduler/objects/preemption.go b/pkg/scheduler/objects/preemption.go
index a9ca050a..efac8fa1 100644
--- a/pkg/scheduler/objects/preemption.go
+++ b/pkg/scheduler/objects/preemption.go
@@ -54,7 +54,7 @@ type Preemptor struct {
 
 	// lazily-populated work structures
 	allocationsByQueue map[string]*QueuePreemptionSnapshot // map of queue snapshots by queue path
-	queueByAlloc       map[string]*QueuePreemptionSnapshot // map of queue snapshots by allocationID
+	queueByAlloc       map[string]*QueuePreemptionSnapshot // map of queue snapshots by allocationKey
 	allocationsByNode  map[string][]*Allocation            // map of allocation by nodeID
 	nodeAvailableMap   map[string]*resources.Resource      // map of available resources by nodeID
 }
@@ -144,7 +144,7 @@ func (p *Preemptor) initWorkingState() {
 	queueByAlloc := make(map[string]*QueuePreemptionSnapshot)
 	nodeAvailableMap := make(map[string]*resources.Resource)
 
-	// build a map from NodeID to allocation and from allocationID to queue capacities
+	// build a map from NodeID to allocation and from allocationKey to queue capacities
 	for _, victims := range p.allocationsByQueue {
 		for _, allocation := range victims.PotentialVictims {
 			nodeID := allocation.GetNodeID()
diff --git a/pkg/scheduler/objects/queue_test.go b/pkg/scheduler/objects/queue_test.go
index 6ced5642..ab38a0a0 100644
--- a/pkg/scheduler/objects/queue_test.go
+++ b/pkg/scheduler/objects/queue_test.go
@@ -2522,7 +2522,7 @@ func TestQueueRunningAppsForSingleAllocationApp(t *testing.T) {
 	_, err = app.allocateAsk(ask)
 	assert.NilError(t, err, "failed to decrease pending resources")
 
-	app.RemoveAllocation(alloc.GetAllocationID(), si.TerminationType_STOPPED_BY_RM)
+	app.RemoveAllocation(alloc.GetAllocationKey(), si.TerminationType_STOPPED_BY_RM)
 	assert.Equal(t, app.CurrentState(), Completing.String(), "app state should be completing")
 	assert.Equal(t, leaf.runningApps, uint64(0), "leaf should have 0 app running")
 }
diff --git a/pkg/scheduler/objects/utilities_test.go b/pkg/scheduler/objects/utilities_test.go
index 3c325046..4cab3457 100644
--- a/pkg/scheduler/objects/utilities_test.go
+++ b/pkg/scheduler/objects/utilities_test.go
@@ -36,15 +36,14 @@ import (
 )
 
 const (
-	appID0        = "app-0"
-	appID1        = "app-1"
-	appID2        = "app-2"
-	aKey          = "alloc-1"
-	aKey2         = "alloc-2"
-	aAllocationID = "alloc-allocationid-1"
-	nodeID1       = "node-1"
-	nodeID2       = "node-2"
-	instType1     = "itype-1"
+	appID0    = "app-0"
+	appID1    = "app-1"
+	appID2    = "app-2"
+	aKey      = "alloc-1"
+	aKey2     = "alloc-2"
+	nodeID1   = "node-1"
+	nodeID2   = "node-2"
+	instType1 = "itype-1"
 )
 
 // Create the root queue, base for all testing
diff --git a/pkg/scheduler/partition.go b/pkg/scheduler/partition.go
index 3ac6a872..09d42870 100644
--- a/pkg/scheduler/partition.go
+++ b/pkg/scheduler/partition.go
@@ -391,7 +391,7 @@ func (pc *PartitionContext) removeApplication(appID string) []*objects.Allocatio
 		// track the number of allocations
 		pc.updateAllocationCount(-len(allocations))
 		for _, alloc := range allocations {
-			currentAllocationID := alloc.GetAllocationID()
+			currentAllocationKey := alloc.GetAllocationKey()
 			node := pc.GetNode(alloc.GetNodeID())
 			if node == nil {
 				log.Log(log.SchedPartition).Warn("unknown node: not found in active node list",
@@ -399,10 +399,10 @@ func (pc *PartitionContext) removeApplication(appID string) []*objects.Allocatio
 					zap.String("nodeID", alloc.GetNodeID()))
 				continue
 			}
-			if nodeAlloc := node.RemoveAllocation(currentAllocationID); nodeAlloc == nil {
+			if nodeAlloc := node.RemoveAllocation(currentAllocationKey); nodeAlloc == nil {
 				log.Log(log.SchedPartition).Warn("unknown allocation: not found on the node",
 					zap.String("appID", appID),
-					zap.String("allocationID", currentAllocationID),
+					zap.String("allocationKey", currentAllocationKey),
 					zap.String("nodeID", alloc.GetNodeID()))
 			}
 		}
@@ -690,7 +690,7 @@ func (pc *PartitionContext) removeNodeAllocations(node *objects.Node) ([]*object
 	confirmed := make([]*objects.Allocation, 0)
 	// walk over all allocations still registered for this node
 	for _, alloc := range node.GetAllAllocations() {
-		allocID := alloc.GetAllocationID()
+		allocationKey := alloc.GetAllocationKey()
 		// since we are not locking the node and or application we could have had an update while processing
 		// note that we do not return the allocation if the app or allocation is not found and assume that it
 		// was already removed
@@ -717,7 +717,7 @@ func (pc *PartitionContext) removeNodeAllocations(node *objects.Node) ([]*object
 				// the removal of this placeholder. The ask update will trigger rescheduling later for the real alloc.
 				if alloc.GetNodeID() != release.GetNodeID() {
 					// ignore the return as that is the same as alloc, the alloc is gone after this call
-					_ = app.ReplaceAllocation(allocID)
+					_ = app.ReplaceAllocation(allocationKey)
 					// we need to check the resources equality
 					delta := resources.Sub(release.GetAllocatedResource(), alloc.GetAllocatedResource())
 					// Any negative value in the delta means that at least one of the requested resource in the
@@ -730,14 +730,14 @@ func (pc *PartitionContext) removeNodeAllocations(node *objects.Node) ([]*object
 						if err != nil {
 							log.Log(log.SchedPartition).Warn("unexpected failure during queue update: replacing placeholder",
 								zap.String("appID", alloc.GetApplicationID()),
-								zap.String("placeholderID", alloc.GetAllocationID()),
-								zap.String("allocationID", release.GetAllocationID()),
+								zap.String("placeholderKey", alloc.GetAllocationKey()),
+								zap.String("allocationKey", release.GetAllocationKey()),
 								zap.Error(err))
 						}
 						log.Log(log.SchedPartition).Warn("replacing placeholder: placeholder is larger than real allocation",
-							zap.String("allocationID", release.GetAllocationID()),
+							zap.String("allocationKey", release.GetAllocationKey()),
 							zap.Stringer("requested resource", release.GetAllocatedResource()),
-							zap.String("placeholderID", alloc.GetAllocationID()),
+							zap.String("placeholderKey", alloc.GetAllocationKey()),
 							zap.Stringer("placeholder resource", alloc.GetAllocatedResource()))
 					}
 					// track what we confirm on the other node to confirm it in the shim and get is bound
@@ -746,9 +746,9 @@ func (pc *PartitionContext) removeNodeAllocations(node *objects.Node) ([]*object
 					released = append(released, alloc)
 					log.Log(log.SchedPartition).Info("allocation removed from node and replacement confirmed",
 						zap.String("nodeID", node.NodeID),
-						zap.String("allocationID", allocID),
+						zap.String("allocationKey", allocationKey),
 						zap.String("replacement nodeID", release.GetNodeID()),
-						zap.String("replacement allocationID", release.GetAllocationID()))
+						zap.String("replacement allocationKey", release.GetAllocationKey()))
 					continue
 				}
 				askAlloc = release
@@ -763,7 +763,7 @@ func (pc *PartitionContext) removeNodeAllocations(node *objects.Node) ([]*object
 					zap.String("appID", askAlloc.GetApplicationID()),
 					zap.String("allocationKey", askAlloc.GetAsk().GetAllocationKey()),
 					zap.String("nodeID", node.NodeID),
-					zap.String("replacement allocationID", askAlloc.GetAllocationID()))
+					zap.String("replacement allocationKey", askAlloc.GetAllocationKey()))
 			} else {
 				log.Log(log.SchedPartition).Error("node removal: repeat update failure for inflight replacement",
 					zap.String("appID", askAlloc.GetApplicationID()),
@@ -773,9 +773,9 @@ func (pc *PartitionContext) removeNodeAllocations(node *objects.Node) ([]*object
 			}
 		}
 		// check allocations on the app
-		if app.RemoveAllocation(allocID, si.TerminationType_UNKNOWN_TERMINATION_TYPE) == nil {
+		if app.RemoveAllocation(allocationKey, si.TerminationType_UNKNOWN_TERMINATION_TYPE) == nil {
 			log.Log(log.SchedPartition).Info("allocation is not found, skipping while removing the node",
-				zap.String("allocationID", allocID),
+				zap.String("allocationKey", allocationKey),
 				zap.String("appID", app.ApplicationID),
 				zap.String("nodeID", node.NodeID))
 			continue
@@ -865,8 +865,7 @@ func (pc *PartitionContext) tryPlaceholderAllocate() *objects.Allocation {
 		log.Log(log.SchedPartition).Info("scheduler replace placeholder processed",
 			zap.String("appID", alloc.GetApplicationID()),
 			zap.String("allocationKey", alloc.GetAllocationKey()),
-			zap.String("allocationID", alloc.GetAllocationID()),
-			zap.String("placeholder released allocationID", alloc.GetFirstRelease().GetAllocationID()))
+			zap.String("placeholder released allocationKey", alloc.GetFirstRelease().GetAllocationKey()))
 		// pass the release back to the RM via the cluster context
 		return alloc
 	}
@@ -929,7 +928,6 @@ func (pc *PartitionContext) allocate(alloc *objects.Allocation) *objects.Allocat
 	log.Log(log.SchedPartition).Info("scheduler allocation processed",
 		zap.String("appID", alloc.GetApplicationID()),
 		zap.String("allocationKey", alloc.GetAllocationKey()),
-		zap.String("allocationID", alloc.GetAllocationID()),
 		zap.Stringer("allocatedResource", alloc.GetAllocatedResource()),
 		zap.Bool("placeholder", alloc.IsPlaceholder()),
 		zap.String("targetNode", alloc.GetNodeID()))
@@ -1131,19 +1129,10 @@ func (pc *PartitionContext) addAllocation(alloc *objects.Allocation) error {
 		return fmt.Errorf("partition %s is stopped cannot add new allocation %s", pc.Name, alloc.GetAllocationKey())
 	}
 
-	// We must not generate a new allocationID for it, we directly use the allocationID reported by shim
-	// to track this allocation, a missing allocationID is a broken allocation
-	if alloc.GetAllocationID() == "" {
-		metrics.GetSchedulerMetrics().IncSchedulingError()
-		return fmt.Errorf("failing to restore allocation %s for application %s: missing allocationID",
-			alloc.GetAllocationKey(), alloc.GetApplicationID())
-	}
-
 	log.Log(log.SchedPartition).Info("adding recovered allocation",
 		zap.String("partitionName", pc.Name),
 		zap.String("appID", alloc.GetApplicationID()),
-		zap.String("allocKey", alloc.GetAllocationKey()),
-		zap.String("allocationID", alloc.GetAllocationID()))
+		zap.String("allocationKey", alloc.GetAllocationKey()))
 
 	// Check if allocation violates any resource restriction, or allocate on a
 	// non-existent application or nodes.
@@ -1183,8 +1172,7 @@ func (pc *PartitionContext) addAllocation(alloc *objects.Allocation) error {
 	log.Log(log.SchedPartition).Info("recovered allocation",
 		zap.String("partitionName", pc.Name),
 		zap.String("appID", alloc.GetApplicationID()),
-		zap.String("allocKey", alloc.GetAllocationKey()),
-		zap.String("allocationID", alloc.GetAllocationID()),
+		zap.String("allocationKey", alloc.GetAllocationKey()),
 		zap.Bool("placeholder", alloc.IsPlaceholder()))
 	return nil
 }
@@ -1245,13 +1233,13 @@ func (pc *PartitionContext) removeAllocation(release *si.AllocationRelease) ([]*
 		return nil, nil
 	}
 	appID := release.ApplicationID
-	allocationID := release.GetAllocationID()
+	allocationKey := release.GetAllocationKey()
 	app := pc.getApplication(appID)
 	// no app nothing to do everything should already be clean
 	if app == nil {
 		log.Log(log.SchedPartition).Info("Application not found while releasing allocation",
 			zap.String("appID", appID),
-			zap.String("allocationID", allocationID),
+			zap.String("allocationKey", allocationKey),
 			zap.Stringer("terminationType", release.TerminationType))
 		return nil, nil
 	}
@@ -1264,26 +1252,26 @@ func (pc *PartitionContext) removeAllocation(release *si.AllocationRelease) ([]*
 	// temp store for allocations manipulated
 	released := make([]*objects.Allocation, 0)
 	var confirmed *objects.Allocation
-	// when allocationID is not specified, remove all allocations from the app
-	if allocationID == "" {
+	// when allocationKey is not specified, remove all allocations from the app
+	if allocationKey == "" {
 		log.Log(log.SchedPartition).Info("remove all allocations",
 			zap.String("appID", appID))
 		released = append(released, app.RemoveAllAllocations()...)
 	} else {
-		// if we have an allocationID the termination type is important
+		// if we have an allocationKey the termination type is important
 		if release.TerminationType == si.TerminationType_PLACEHOLDER_REPLACED {
 			log.Log(log.SchedPartition).Info("replacing placeholder allocation",
 				zap.String("appID", appID),
-				zap.String("allocationID", allocationID))
-			if alloc := app.ReplaceAllocation(allocationID); alloc != nil {
+				zap.String("allocationKey", allocationKey))
+			if alloc := app.ReplaceAllocation(allocationKey); alloc != nil {
 				released = append(released, alloc)
 			}
 		} else {
 			log.Log(log.SchedPartition).Info("removing allocation from application",
 				zap.String("appID", appID),
-				zap.String("allocationID", allocationID),
+				zap.String("allocationKey", allocationKey),
 				zap.Stringer("terminationType", release.TerminationType))
-			if alloc := app.RemoveAllocation(allocationID, release.TerminationType); alloc != nil {
+			if alloc := app.RemoveAllocation(allocationKey, release.TerminationType); alloc != nil {
 				released = append(released, alloc)
 			}
 		}
@@ -1309,7 +1297,7 @@ func (pc *PartitionContext) removeAllocation(release *si.AllocationRelease) ([]*
 		if node == nil {
 			log.Log(log.SchedPartition).Warn("node not found while releasing allocation",
 				zap.String("appID", appID),
-				zap.String("allocationID", alloc.GetAllocationID()),
+				zap.String("allocationKey", alloc.GetAllocationKey()),
 				zap.String("nodeID", alloc.GetNodeID()))
 			continue
 		}
@@ -1325,29 +1313,29 @@ func (pc *PartitionContext) removeAllocation(release *si.AllocationRelease) ([]*
 				// total tracked. The total will later be deducted from the queue usage.
 				total.SubFrom(delta)
 				log.Log(log.SchedPartition).Warn("replacing placeholder: placeholder is larger than real allocation",
-					zap.String("allocationID", confirmed.GetAllocationID()),
+					zap.String("allocationKey", confirmed.GetAllocationKey()),
 					zap.Stringer("requested resource", confirmed.GetAllocatedResource()),
-					zap.String("placeholderID", alloc.GetAllocationID()),
+					zap.String("placeholderKey", alloc.GetAllocationKey()),
 					zap.Stringer("placeholder resource", alloc.GetAllocatedResource()))
 			}
 			// replacements could be on a different node and different size handle all cases
 			if confirmed.GetNodeID() == alloc.GetNodeID() {
 				// this is the real swap on the node, adjust usage if needed
-				node.ReplaceAllocation(alloc.GetAllocationID(), confirmed, delta)
+				node.ReplaceAllocation(alloc.GetAllocationKey(), confirmed, delta)
 			} else {
 				// we have already added the real allocation to the new node, just remove the placeholder
-				node.RemoveAllocation(alloc.GetAllocationID())
+				node.RemoveAllocation(alloc.GetAllocationKey())
 			}
 			log.Log(log.SchedPartition).Info("replacing placeholder allocation on node",
 				zap.String("nodeID", alloc.GetNodeID()),
-				zap.String("allocationID", alloc.GetAllocationID()),
+				zap.String("allocationKey", alloc.GetAllocationKey()),
 				zap.String("allocation nodeID", confirmed.GetNodeID()))
-		} else if node.RemoveAllocation(alloc.GetAllocationID()) != nil {
+		} else if node.RemoveAllocation(alloc.GetAllocationKey()) != nil {
 			// all non replacement are real removes: must update the queue usage
 			total.AddTo(alloc.GetAllocatedResource())
 			log.Log(log.SchedPartition).Info("removing allocation from node",
 				zap.String("nodeID", alloc.GetNodeID()),
-				zap.String("allocationID", alloc.GetAllocationID()))
+				zap.String("allocationKey", alloc.GetAllocationKey()))
 		}
 		if alloc.IsPreempted() {
 			totalPreempting.AddTo(alloc.GetAllocatedResource())
@@ -1357,7 +1345,7 @@ func (pc *PartitionContext) removeAllocation(release *si.AllocationRelease) ([]*
 		if err := queue.DecAllocatedResource(total); err != nil {
 			log.Log(log.SchedPartition).Warn("failed to release resources from queue",
 				zap.String("appID", appID),
-				zap.String("allocationID", allocationID),
+				zap.String("allocationKey", allocationKey),
 				zap.Error(err))
 		}
 	}
diff --git a/pkg/scheduler/partition_test.go b/pkg/scheduler/partition_test.go
index 00a980a4..dffae4e6 100644
--- a/pkg/scheduler/partition_test.go
+++ b/pkg/scheduler/partition_test.go
@@ -244,7 +244,7 @@ func TestAddNodeWithAllocations(t *testing.T) {
 	node := newNodeMaxResource(nodeID1, nodeRes)
 
 	// fail with an unknown app
-	ask := newAllocationAsk("alloc-1-allocationid", "unknown", appRes)
+	ask := newAllocationAsk("alloc-1", "unknown", appRes)
 	alloc := objects.NewAllocation(nodeID1, ask)
 	allocs := []*objects.Allocation{alloc}
 	err = partition.AddNode(node, allocs)
@@ -254,21 +254,7 @@ func TestAddNodeWithAllocations(t *testing.T) {
 	assert.Equal(t, partition.nodes.GetNodeCount(), 0, "error returned but node still added to the partition (app)")
 
 	// fail with a broken alloc
-	ask = newAllocationAsk("alloc-1-allocationid", appID1, appRes)
-	alloc = objects.NewAllocation(nodeID1, ask)
-	assert.Equal(t, alloc.GetAllocationID(), "alloc-1-allocationid")
-	// reset allocationID to empty
-	alloc.SetAllocationID("")
-	assert.Equal(t, alloc.GetAllocationID(), "")
-	allocs = []*objects.Allocation{alloc}
-	err = partition.AddNode(node, allocs)
-	if err == nil {
-		t.Errorf("add node to partition should have failed (allocationID missing)")
-	}
-	assert.Equal(t, partition.nodes.GetNodeCount(), 0, "error returned but node still added to the partition (allocationID)")
-	assertLimits(t, getTestUserGroup(), nil)
-
-	// fix the alloc add the node will work now
+	ask = newAllocationAsk("alloc-1", appID1, appRes)
 	alloc = objects.NewAllocation(nodeID1, ask)
 	allocs = []*objects.Allocation{alloc}
 	// add a node this must work
@@ -318,7 +304,7 @@ func TestRemoveNodeWithAllocations(t *testing.T) {
 	appRes := resources.NewResourceFromMap(map[string]resources.Quantity{"vcore": 1000})
 	ask := newAllocationAsk("alloc-1", appID1, appRes)
 	alloc := objects.NewAllocation(nodeID1, ask)
-	allocAllocationID := alloc.GetAllocationID()
+	allocAllocationKey := alloc.GetAllocationKey()
 	allocs := []*objects.Allocation{alloc}
 	err = partition.AddNode(node, allocs)
 	assert.NilError(t, err, "add node to partition should not have failed")
@@ -341,7 +327,7 @@ func TestRemoveNodeWithAllocations(t *testing.T) {
 	assert.Equal(t, 0, partition.GetTotalNodeCount(), "node list was not updated, node was not removed")
 	assert.Equal(t, 1, len(released), "node did not release correct allocation")
 	assert.Equal(t, 0, len(confirmed), "node did not confirm correct allocation")
-	assert.Equal(t, released[0].GetAllocationID(), allocAllocationID, "allocationID returned by release not the same as on allocation")
+	assert.Equal(t, released[0].GetAllocationKey(), allocAllocationKey, "allocationKey returned by release not the same as on allocation")
 	assertLimits(t, getTestUserGroup(), resources.Zero)
 
 	assert.NilError(t, err, "the event should have been processed")
@@ -375,10 +361,10 @@ func TestRemoveNodeWithPlaceholders(t *testing.T) {
 	assert.Equal(t, 1, partition.getPhAllocationCount(), "number of active placeholders")
 
 	// fake an ask that is used
-	ask = newAllocationAskAll(allocID, appID1, taskGroup, appRes, 1, false)
+	ask = newAllocationAskAll(allocKey, appID1, taskGroup, appRes, 1, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "ask should be added to app")
-	_, err = app.AllocateAsk(allocID)
+	_, err = app.AllocateAsk(allocKey)
 	assert.NilError(t, err, "ask should have been updated without error")
 	assert.Assert(t, resources.IsZero(app.GetPendingResource()), "app should not have pending resources")
 	assertLimits(t, getTestUserGroup(), appRes)
@@ -399,7 +385,7 @@ func TestRemoveNodeWithPlaceholders(t *testing.T) {
 	assert.Equal(t, 0, partition.GetTotalNodeCount(), "node list was not updated, node was not removed")
 	assert.Equal(t, 1, len(released), "node removal did not release correct allocation")
 	assert.Equal(t, 0, len(confirmed), "node removal should not have confirmed allocation")
-	assert.Equal(t, ph.GetAllocationID(), released[0].GetAllocationID(), "allocationID returned by release not the same as the placeholder")
+	assert.Equal(t, ph.GetAllocationKey(), released[0].GetAllocationKey(), "allocationKey returned by release not the same as the placeholder")
 	assert.Equal(t, 0, partition.getPhAllocationCount(), "number of active placeholders")
 	allocs = app.GetAllAllocations()
 	assert.Equal(t, 0, len(allocs), "expected no allocations for the app")
@@ -519,7 +505,7 @@ func TestPlaceholderDataWithPlaceholderPreemption(t *testing.T) {
 	assert.NilError(t, err, "add application to partition should not have failed")
 
 	// required node set on ask
-	ask2 := newAllocationAsk(allocID2, appID3, res)
+	ask2 := newAllocationAsk(allocKey2, appID3, res)
 	ask2.SetRequiredNode(nodeID2)
 	err = app2.AddAllocationAsk(ask2)
 	assert.NilError(t, err, "failed to add ask alloc-2 to app1-1")
@@ -531,7 +517,7 @@ func TestPlaceholderDataWithPlaceholderPreemption(t *testing.T) {
 	}
 	// check if updated (must be after allocate call)
 	assert.Equal(t, 1, len(app2.GetReservations()), "app reservation should have been updated")
-	assert.Equal(t, 1, len(app2.GetAskReservations(allocID2)), "ask should have been reserved")
+	assert.Equal(t, 1, len(app2.GetAskReservations(allocKey2)), "ask should have been reserved")
 
 	// try through reserved scheduling cycle this should trigger preemption
 	alloc = partition.tryReservedAllocate()
@@ -541,11 +527,11 @@ func TestPlaceholderDataWithPlaceholderPreemption(t *testing.T) {
 
 	// check if there is a release event for the expected allocation
 	var found bool
-	var releasedAllocationID string
+	var releasedAllocationKey string
 	for _, event := range testHandler2.GetEvents() {
 		if allocRelease, ok := event.(*rmevent.RMReleaseAllocationEvent); ok {
 			found = allocRelease.ReleasedAllocations[0].AllocationKey == lastPh
-			releasedAllocationID = allocRelease.ReleasedAllocations[0].AllocationID
+			releasedAllocationKey = allocRelease.ReleasedAllocations[0].AllocationKey
 			break
 		}
 	}
@@ -554,7 +540,7 @@ func TestPlaceholderDataWithPlaceholderPreemption(t *testing.T) {
 	release := &si.AllocationRelease{
 		PartitionName:   partition.Name,
 		ApplicationID:   appID2,
-		AllocationID:    releasedAllocationID,
+		AllocationKey:   releasedAllocationKey,
 		TerminationType: si.TerminationType_PREEMPTED_BY_SCHEDULER,
 	}
 	releases, confirmed := partition.removeAllocation(release)
@@ -703,7 +689,7 @@ func TestPlaceholderDataWithRemoval(t *testing.T) {
 	err = partition.AddApplication(gangApp)
 	assert.NilError(t, err, "app1-1 should have been added to the partition")
 
-	var lastPhAllocationID string
+	var lastPhAllocationKey string
 	for i := 1; i <= 6; i++ {
 		// add an ask for a placeholder and allocate
 		ask = newAllocationAskTG(phID+strconv.Itoa(i+1), appID2, taskGroup, res, true)
@@ -714,7 +700,7 @@ func TestPlaceholderDataWithRemoval(t *testing.T) {
 		if ph == nil {
 			t.Fatal("expected placeholder to be allocated")
 		}
-		lastPhAllocationID = ph.GetAllocationID()
+		lastPhAllocationKey = ph.GetAllocationKey()
 	}
 
 	// add an ask for a last placeholder and allocate
@@ -731,7 +717,7 @@ func TestPlaceholderDataWithRemoval(t *testing.T) {
 	release := &si.AllocationRelease{
 		PartitionName:   partition.Name,
 		ApplicationID:   appID2,
-		AllocationID:    lastPhAllocationID,
+		AllocationKey:   lastPhAllocationKey,
 		TerminationType: si.TerminationType_STOPPED_BY_RM,
 	}
 	releases, _ := partition.removeAllocation(release)
@@ -778,10 +764,10 @@ func TestRemoveNodeWithReplacement(t *testing.T) {
 	assert.Equal(t, 2, partition.GetTotalNodeCount(), "node list was not updated as expected")
 
 	// fake an ask that is used
-	ask = newAllocationAskAll(allocID, appID1, taskGroup, appRes, 1, false)
+	ask = newAllocationAskAll(allocKey, appID1, taskGroup, appRes, 1, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "ask should be added to app")
-	_, err = app.AllocateAsk(allocID)
+	_, err = app.AllocateAsk(allocKey)
 	assert.NilError(t, err, "ask should have been updated without error")
 	assert.Assert(t, resources.IsZero(app.GetPendingResource()), "app should not have pending resources")
 
@@ -808,13 +794,13 @@ func TestRemoveNodeWithReplacement(t *testing.T) {
 	assert.Equal(t, 1, len(node2.GetAllAllocations()), "remaining node should have allocation")
 	assert.Equal(t, 1, len(released), "node removal did not release correct allocation")
 	assert.Equal(t, 1, len(confirmed), "node removal did not confirm correct allocation")
-	assert.Equal(t, ph.GetAllocationID(), released[0].GetAllocationID(), "allocationID returned by release not the same as the placeholder")
-	assert.Equal(t, alloc.GetAllocationID(), confirmed[0].GetAllocationID(), "allocationID returned by confirmed not the same as the real allocation")
+	assert.Equal(t, ph.GetAllocationKey(), released[0].GetAllocationKey(), "allocationKey returned by release not the same as the placeholder")
+	assert.Equal(t, alloc.GetAllocationKey(), confirmed[0].GetAllocationKey(), "allocationKey returned by confirmed not the same as the real allocation")
 	assert.Assert(t, resources.IsZero(app.GetPendingResource()), "app should not have pending resources")
 	assert.Assert(t, !app.IsCompleting(), "app should not be COMPLETING after confirming allocation")
 	allocs = app.GetAllAllocations()
 	assert.Equal(t, 1, len(allocs), "expected one allocation for the app (real)")
-	assert.Equal(t, alloc.GetAllocationID(), allocs[0].GetAllocationID(), "allocationID for the app is not the same as the real allocation")
+	assert.Equal(t, alloc.GetAllocationKey(), allocs[0].GetAllocationKey(), "allocationKey for the app is not the same as the real allocation")
 	assert.Equal(t, objects.Allocated, allocs[0].GetResult(), "allocation state should be allocated")
 	assert.Equal(t, 0, allocs[0].GetReleaseCount(), "real allocation should have no releases linked anymore")
 	assertLimits(t, getTestUserGroup(), appRes)
@@ -850,10 +836,10 @@ func TestRemoveNodeWithReal(t *testing.T) {
 	assert.Equal(t, 2, partition.GetTotalNodeCount(), "node list was not updated as expected")
 
 	// fake an ask that is used
-	ask = newAllocationAskAll(allocID, appID1, taskGroup, appRes, 1, false)
+	ask = newAllocationAskAll(allocKey, appID1, taskGroup, appRes, 1, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "ask should be added to app")
-	_, err = app.AllocateAsk(allocID)
+	_, err = app.AllocateAsk(allocKey)
 	assert.NilError(t, err, "ask should have been updated without error")
 	assert.Assert(t, resources.IsZero(app.GetPendingResource()), "app should not have pending resources")
 
@@ -881,7 +867,7 @@ func TestRemoveNodeWithReal(t *testing.T) {
 	assert.Assert(t, resources.Equals(app.GetPendingResource(), appRes), "app should have updated pending resources")
 	allocs = app.GetAllAllocations()
 	assert.Equal(t, 1, len(allocs), "expected one allocation for the app (placeholder")
-	assert.Equal(t, ph.GetAllocationID(), allocs[0].GetAllocationID(), "allocationID for the app is not the same as the real allocation")
+	assert.Equal(t, ph.GetAllocationKey(), allocs[0].GetAllocationKey(), "allocationKey for the app is not the same as the real allocation")
 	assert.Equal(t, 0, ph.GetReleaseCount(), "no inflight replacements linked")
 	assertLimits(t, getTestUserGroup(), appRes)
 }
@@ -1143,7 +1129,7 @@ func TestRemoveAppAllocs(t *testing.T) {
 	assertLimits(t, getTestUserGroup(), appRes)
 
 	ask = newAllocationAsk("alloc-1", appNotRemoved, appRes)
-	allocationID := "alloc-1"
+	allocationKey := "alloc-1"
 	alloc = objects.NewAllocation(nodeID1, ask)
 	err = partition.addAllocation(alloc)
 	assert.NilError(t, err, "add allocation to partition should not have failed")
@@ -1151,7 +1137,7 @@ func TestRemoveAppAllocs(t *testing.T) {
 	release := &si.AllocationRelease{
 		PartitionName:   "default",
 		ApplicationID:   "",
-		AllocationID:    "",
+		AllocationKey:   "",
 		TerminationType: si.TerminationType_STOPPED_BY_RM,
 	}
 
@@ -1165,19 +1151,19 @@ func TestRemoveAppAllocs(t *testing.T) {
 	assertLimits(t, getTestUserGroup(), resources.Multiply(appRes, 2))
 	// create a new release with app, non existing allocation: should just return
 	release.ApplicationID = appNotRemoved
-	release.AllocationID = "does_not_exist"
+	release.AllocationKey = "does_not_exist"
 	allocs, _ = partition.removeAllocation(release)
 	assert.Equal(t, 0, len(allocs), "removal request for non existing allocation returned allocations: %v", allocs)
 	assertLimits(t, getTestUserGroup(), resources.Multiply(appRes, 2))
 	// create a new release with app, existing allocation: should return 1 alloc
 	assert.Equal(t, 2, partition.GetTotalAllocationCount(), "pre-remove allocation list incorrect: %v", partition.allocations)
-	release.AllocationID = allocationID
+	release.AllocationKey = allocationKey
 	allocs, _ = partition.removeAllocation(release)
 	assert.Equal(t, 1, len(allocs), "removal request for existing allocation returned wrong allocations: %v", allocs)
 	assert.Equal(t, 1, partition.GetTotalAllocationCount(), "allocation removal requests removed more than expected: %v", partition.allocations)
 	assertLimits(t, getTestUserGroup(), resources.Multiply(appRes, 1))
-	// create a new release with app, no allocationID: should return last left alloc
-	release.AllocationID = ""
+	// create a new release with app, no allocationKey: should return last left alloc
+	release.AllocationKey = ""
 	allocs, _ = partition.removeAllocation(release)
 	assert.Equal(t, 1, len(allocs), "removal request for existing allocation returned wrong allocations: %v", allocs)
 	assert.Equal(t, 0, partition.GetTotalAllocationCount(), "removal requests did not remove all allocations: %v", partition.allocations)
@@ -1208,7 +1194,7 @@ func TestRemoveAllPlaceholderAllocs(t *testing.T) {
 	partition.removeAllocation(&si.AllocationRelease{
 		PartitionName:   "default",
 		ApplicationID:   appID1,
-		AllocationID:    "",
+		AllocationKey:   "",
 		TerminationType: si.TerminationType_STOPPED_BY_RM,
 	})
 	assert.Equal(t, 0, partition.getPhAllocationCount())
@@ -1549,7 +1535,7 @@ func TestTryAllocate(t *testing.T) {
 	// add to the partition
 	err = partition.AddApplication(app)
 	assert.NilError(t, err, "failed to add app-1 to partition")
-	err = app.AddAllocationAsk(newAllocationAsk(allocID, appID1, res))
+	err = app.AddAllocationAsk(newAllocationAsk(allocKey, appID1, res))
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
 	err = app.AddAllocationAsk(newAllocationAskPriority("alloc-2", appID1, res, 2))
 	assert.NilError(t, err, "failed to add ask alloc-2 to app-1")
@@ -1558,7 +1544,7 @@ func TestTryAllocate(t *testing.T) {
 	// add to the partition
 	err = partition.AddApplication(app)
 	assert.NilError(t, err, "failed to add app-2 to partition")
-	err = app.AddAllocationAsk(newAllocationAskPriority(allocID, appID2, res, 2))
+	err = app.AddAllocationAsk(newAllocationAskPriority(allocKey, appID2, res, 2))
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-2")
 
 	expectedQueuesMaxLimits := make(map[string]map[string]interface{})
@@ -1578,7 +1564,7 @@ func TestTryAllocate(t *testing.T) {
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assert.Equal(t, alloc.GetReleaseCount(), 0, "released allocations should have been 0")
 	assert.Equal(t, alloc.GetApplicationID(), appID1, "expected application app-1 to be allocated")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID2, "expected ask alloc-2 to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey2, "expected ask alloc-2 to be allocated")
 	assertUserGroupResourceMaxLimits(t, getTestUserGroup(), resources.Multiply(res, 1), expectedQueuesMaxLimits)
 
 	// second allocation should be app-2 and alloc-1: higher up in the queue hierarchy
@@ -1589,7 +1575,7 @@ func TestTryAllocate(t *testing.T) {
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assert.Equal(t, alloc.GetReleaseCount(), 0, "released allocations should have been 0")
 	assert.Equal(t, alloc.GetApplicationID(), appID2, "expected application app-2 to be allocated")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID, "expected ask alloc-1 to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey, "expected ask alloc-1 to be allocated")
 	assertUserGroupResourceMaxLimits(t, getTestUserGroup(), resources.Multiply(res, 2), expectedQueuesMaxLimits)
 
 	// third allocation should be app-1 and alloc-1
@@ -1600,7 +1586,7 @@ func TestTryAllocate(t *testing.T) {
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assert.Equal(t, alloc.GetReleaseCount(), 0, "released allocations should have been 0")
 	assert.Equal(t, alloc.GetApplicationID(), appID1, "expected application app-1 to be allocated")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID, "expected ask alloc-1 to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey, "expected ask alloc-1 to be allocated")
 	assert.Assert(t, resources.IsZero(partition.root.GetPendingResource()), "pending resources should be set to zero")
 	assertUserGroupResourceMaxLimits(t, getTestUserGroup(), resources.Multiply(res, 3), expectedQueuesMaxLimits)
 }
@@ -1623,7 +1609,7 @@ func TestRequiredNodeReservation(t *testing.T) {
 	// add to the partition
 	err = partition.AddApplication(app)
 	assert.NilError(t, err, "failed to add app-1 to partition")
-	ask := newAllocationAsk(allocID, appID1, res)
+	ask := newAllocationAsk(allocKey, appID1, res)
 	ask.SetRequiredNode(nodeID1)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
@@ -1637,10 +1623,10 @@ func TestRequiredNodeReservation(t *testing.T) {
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assert.Equal(t, alloc.GetReleaseCount(), 0, "released allocations should have been 0")
 	assert.Equal(t, alloc.GetApplicationID(), appID1, "expected application app-1 to be allocated")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID, "expected ask alloc-1 to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey, "expected ask alloc-1 to be allocated")
 	assertLimits(t, getTestUserGroup(), res)
 
-	ask2 := newAllocationAsk(allocID2, appID1, res)
+	ask2 := newAllocationAsk(allocKey2, appID1, res)
 	ask2.SetRequiredNode(nodeID1)
 	err = app.AddAllocationAsk(ask2)
 	assert.NilError(t, err, "failed to add ask alloc-2 to app-1")
@@ -1650,7 +1636,7 @@ func TestRequiredNodeReservation(t *testing.T) {
 	}
 	// check if updated (must be after allocate call)
 	assert.Equal(t, 1, len(app.GetReservations()), "app should have one reserved ask")
-	assert.Equal(t, 1, len(app.GetAskReservations(allocID2)), "ask should have been reserved")
+	assert.Equal(t, 1, len(app.GetAskReservations(allocKey2)), "ask should have been reserved")
 	assertLimits(t, getTestUserGroup(), res)
 
 	// allocation that fits on the node should not be allocated
@@ -1847,7 +1833,7 @@ func TestRequiredNodeNotExist(t *testing.T) {
 	var res *resources.Resource
 	res, err = resources.NewResourceFromConf(map[string]string{"vcore": "1"})
 	assert.NilError(t, err, "failed to create resource")
-	ask := newAllocationAsk(allocID, appID1, res)
+	ask := newAllocationAsk(allocKey, appID1, res)
 	ask.SetRequiredNode("unknown")
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
@@ -1884,7 +1870,7 @@ func TestRequiredNodeAllocation(t *testing.T) {
 	assert.NilError(t, err, "failed to add app-1 to partition")
 
 	// normal ask
-	ask := newAllocationAsk(allocID, appID1, res)
+	ask := newAllocationAsk(allocKey, appID1, res)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
 
@@ -1896,11 +1882,11 @@ func TestRequiredNodeAllocation(t *testing.T) {
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assert.Equal(t, alloc.GetReleaseCount(), 0, "released allocations should have been 0")
 	assert.Equal(t, alloc.GetApplicationID(), appID1, "expected application app-1 to be allocated")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID, "expected ask alloc-1 to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey, "expected ask alloc-1 to be allocated")
 	assertLimits(t, getTestUserGroup(), res)
 
 	// required node set on ask
-	ask2 := newAllocationAsk(allocID2, appID1, res)
+	ask2 := newAllocationAsk(allocKey2, appID1, res)
 	ask2.SetRequiredNode(nodeID1)
 	err = app.AddAllocationAsk(ask2)
 	assert.NilError(t, err, "failed to add ask alloc-2 to app-1")
@@ -1912,7 +1898,7 @@ func TestRequiredNodeAllocation(t *testing.T) {
 	}
 	// ensure there is no reservations
 	assert.Equal(t, 0, len(app.GetReservations()), "ask should not have been reserved")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID2, "expected ask alloc-2 to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey2, "expected ask alloc-2 to be allocated")
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assertLimits(t, getTestUserGroup(), resources.Multiply(res, 2))
 }
@@ -1944,7 +1930,7 @@ func TestPreemption(t *testing.T) {
 	assert.NilError(t, err, "failed to create resource")
 
 	// ask 3
-	ask3 := newAllocationAskPreempt(allocID3, appID2, 1, res)
+	ask3 := newAllocationAskPreempt(allocKey3, appID2, 1, res)
 	err = app2.AddAllocationAsk(ask3)
 	assert.NilError(t, err, "failed to add ask alloc-3 to app-2")
 
@@ -1977,10 +1963,9 @@ func TestPreemption(t *testing.T) {
 	partition.removeAllocation(&si.AllocationRelease{
 		PartitionName:   "default",
 		ApplicationID:   appID1,
-		AllocationID:    alloc2.GetAllocationID(),
+		AllocationKey:   alloc2.GetAllocationKey(),
 		TerminationType: si.TerminationType_STOPPED_BY_RM,
 		Message:         "Preempted",
-		AllocationKey:   allocID2,
 	})
 
 	// currently preempting resources in victim queue should be zero
@@ -1994,7 +1979,7 @@ func TestPreemption(t *testing.T) {
 	}
 	assert.Equal(t, 0, len(app2.GetReservations()), "ask should not be reserved")
 	assert.Equal(t, alloc.GetResult(), objects.AllocatedReserved, "result should be allocated from reservation")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID3, "expected ask alloc-3 to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey3, "expected ask alloc-3 to be allocated")
 	assertUserGroupResourceMaxLimits(t, getTestUserGroup(), resources.NewResourceFromMap(map[string]resources.Quantity{"vcore": 10000}), getExpectedQueuesLimitsForPreemption())
 
 	appSummary := app1.GetApplicationSummary("default")
@@ -2032,7 +2017,7 @@ func TestPreemptionForRequiredNodeReservedAlloc(t *testing.T) {
 	assert.Equal(t, 0, len(app.GetReservations()), "ask should have no longer be reserved")
 	assert.Equal(t, alloc.GetResult(), objects.AllocatedReserved, "result is not the expected AllocatedReserved")
 	assert.Equal(t, alloc.GetReleaseCount(), 0, "released allocations should have been 0")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID2, "expected ask alloc-2 to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey2, "expected ask alloc-2 to be allocated")
 	assertUserGroupResourceMaxLimits(t, getTestUserGroup(), resources.NewResourceFromMap(map[string]resources.Quantity{"vcore": 8000}), getExpectedQueuesLimitsForPreemption())
 }
 
@@ -2051,7 +2036,7 @@ func TestPreemptionForRequiredNodeMultipleAttemptsAvoided(t *testing.T) {
 	assert.NilError(t, err, "failed to add app-1 to partition")
 
 	// normal ask
-	ask := newAllocationAsk(allocID, appID1, res)
+	ask := newAllocationAsk(allocKey, appID1, res)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
 
@@ -2059,7 +2044,7 @@ func TestPreemptionForRequiredNodeMultipleAttemptsAvoided(t *testing.T) {
 	alloc := partition.tryAllocate()
 
 	// required node set on ask
-	ask2 := newAllocationAsk(allocID2, appID1, res)
+	ask2 := newAllocationAsk(allocKey2, appID1, res)
 	ask2.SetRequiredNode(nodeID1)
 	err = app.AddAllocationAsk(ask2)
 	assert.NilError(t, err, "failed to add ask alloc-2 to app-1")
@@ -2074,7 +2059,7 @@ func TestPreemptionForRequiredNodeMultipleAttemptsAvoided(t *testing.T) {
 	var eventCount int
 	for _, event := range testHandler.GetEvents() {
 		if allocRelease, ok := event.(*rmevent.RMReleaseAllocationEvent); ok {
-			if allocRelease.ReleasedAllocations[0].AllocationKey == allocID {
+			if allocRelease.ReleasedAllocations[0].AllocationKey == allocKey {
 				eventCount++
 			}
 		}
@@ -2134,7 +2119,7 @@ func setupPreemption(t *testing.T) (*PartitionContext, *objects.Application, *ob
 	assert.NilError(t, err, "failed to add app-1 to partition")
 
 	// ask 1
-	ask := newAllocationAskPreempt(allocID, appID1, 2, res)
+	ask := newAllocationAskPreempt(allocKey, appID1, 2, res)
 	err = app1.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
 
@@ -2146,13 +2131,13 @@ func setupPreemption(t *testing.T) (*PartitionContext, *objects.Application, *ob
 	assert.Equal(t, alloc1.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assert.Equal(t, alloc1.GetReleaseCount(), 0, "released allocations should have been 0")
 	assert.Equal(t, alloc1.GetApplicationID(), appID1, "expected application app-1 to be allocated")
-	assert.Equal(t, alloc1.GetAllocationKey(), allocID, "expected ask alloc-1 to be allocated")
+	assert.Equal(t, alloc1.GetAllocationKey(), allocKey, "expected ask alloc-1 to be allocated")
 	assert.Equal(t, alloc1.GetNodeID(), nodeID1, "expected alloc-1 on node-1")
 
 	assertUserGroupResourceMaxLimits(t, getTestUserGroup(), resources.NewResourceFromMap(map[string]resources.Quantity{"vcore": 5000}), getExpectedQueuesLimitsForPreemption())
 
 	// ask 2
-	ask2 := newAllocationAskPreempt(allocID2, appID1, 1, res)
+	ask2 := newAllocationAskPreempt(allocKey2, appID1, 1, res)
 	err = app1.AddAllocationAsk(ask2)
 	assert.NilError(t, err, "failed to add ask alloc-2 to app-1")
 
@@ -2164,7 +2149,7 @@ func setupPreemption(t *testing.T) (*PartitionContext, *objects.Application, *ob
 	assert.Equal(t, alloc2.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assert.Equal(t, alloc2.GetReleaseCount(), 0, "released allocations should have been 0")
 	assert.Equal(t, alloc2.GetApplicationID(), appID1, "expected application app-1 to be allocated")
-	assert.Equal(t, alloc2.GetAllocationKey(), allocID2, "expected ask alloc-2 to be allocated")
+	assert.Equal(t, alloc2.GetAllocationKey(), allocKey2, "expected ask alloc-2 to be allocated")
 	assert.Equal(t, alloc2.GetNodeID(), nodeID2, "expected alloc-2 on node-2")
 	assertUserGroupResourceMaxLimits(t, getTestUserGroup(), resources.NewResourceFromMap(map[string]resources.Quantity{"vcore": 10000}), getExpectedQueuesLimitsForPreemption())
 
@@ -2196,7 +2181,7 @@ func setupPreemptionForRequiredNode(t *testing.T) (*PartitionContext, *objects.A
 	assert.NilError(t, err, "failed to add app-1 to partition")
 
 	// normal ask
-	ask := newAllocationAsk(allocID, appID1, res)
+	ask := newAllocationAsk(allocKey, appID1, res)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
 
@@ -2208,12 +2193,12 @@ func setupPreemptionForRequiredNode(t *testing.T) (*PartitionContext, *objects.A
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assert.Equal(t, alloc.GetReleaseCount(), 0, "released allocations should have been 0")
 	assert.Equal(t, alloc.GetApplicationID(), appID1, "expected application app-1 to be allocated")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID, "expected ask alloc-1 to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey, "expected ask alloc-1 to be allocated")
 	assertUserGroupResourceMaxLimits(t, getTestUserGroup(), resources.NewResourceFromMap(map[string]resources.Quantity{"vcore": 8000}), getExpectedQueuesLimitsForPreemptionWithRequiredNode())
-	allocationID := alloc.GetAllocationID()
+	allocationKey := alloc.GetAllocationKey()
 
 	// required node set on ask
-	ask2 := newAllocationAsk(allocID2, appID1, res)
+	ask2 := newAllocationAsk(allocKey2, appID1, res)
 	ask2.SetRequiredNode(nodeID1)
 	err = app.AddAllocationAsk(ask2)
 	assert.NilError(t, err, "failed to add ask alloc-2 to app-1")
@@ -2225,7 +2210,7 @@ func setupPreemptionForRequiredNode(t *testing.T) (*PartitionContext, *objects.A
 	}
 	// check if updated (must be after allocate call)
 	assert.Equal(t, 1, len(app.GetReservations()), "ask should have been reserved")
-	assert.Equal(t, 1, len(app.GetAskReservations(allocID2)), "ask should have been reserved")
+	assert.Equal(t, 1, len(app.GetAskReservations(allocKey2)), "ask should have been reserved")
 	assertUserGroupResourceMaxLimits(t, getTestUserGroup(), resources.NewResourceFromMap(map[string]resources.Quantity{"vcore": 8000}), getExpectedQueuesLimitsForPreemptionWithRequiredNode())
 
 	// try through reserved scheduling cycle this should trigger preemption
@@ -2238,7 +2223,7 @@ func setupPreemptionForRequiredNode(t *testing.T) (*PartitionContext, *objects.A
 	var found bool
 	for _, event := range testHandler.GetEvents() {
 		if allocRelease, ok := event.(*rmevent.RMReleaseAllocationEvent); ok {
-			found = allocRelease.ReleasedAllocations[0].AllocationKey == allocID
+			found = allocRelease.ReleasedAllocations[0].AllocationKey == allocKey
 			break
 		}
 	}
@@ -2247,7 +2232,7 @@ func setupPreemptionForRequiredNode(t *testing.T) (*PartitionContext, *objects.A
 	release := &si.AllocationRelease{
 		PartitionName:   partition.Name,
 		ApplicationID:   appID1,
-		AllocationID:    allocationID,
+		AllocationKey:   allocationKey,
 		TerminationType: si.TerminationType_PREEMPTED_BY_SCHEDULER,
 	}
 	releases, _ := partition.removeAllocation(release)
@@ -2951,7 +2936,7 @@ func TestPlaceholderSmallerThanReal(t *testing.T) {
 	assertLimits(t, getTestUserGroup(), phRes)
 
 	// add an ask which is larger than the placeholder
-	ask = newAllocationAskTG(allocID, appID1, taskGroup, tgRes, false)
+	ask = newAllocationAskTG(allocKey, appID1, taskGroup, tgRes, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app with correct TG")
 	// allocate should trigger release of placeholder nothing else
@@ -2965,7 +2950,7 @@ func TestPlaceholderSmallerThanReal(t *testing.T) {
 	release := &si.AllocationRelease{
 		PartitionName:   ph.GetPartitionName(),
 		ApplicationID:   appID1,
-		AllocationID:    ph.GetAllocationID(),
+		AllocationKey:   ph.GetAllocationKey(),
 		TerminationType: si.TerminationType_TIMEOUT,
 	}
 	assert.Equal(t, 1, partition.getPhAllocationCount(), "ph should be registered")
@@ -3019,7 +3004,7 @@ func TestPlaceholderSmallerMulti(t *testing.T) {
 	assertLimits(t, getTestUserGroup(), tgRes)
 
 	// add an ask which is larger than the placeholder
-	ask := newAllocationAskTG(allocID, appID1, taskGroup, tgRes, false)
+	ask := newAllocationAskTG(allocKey, appID1, taskGroup, tgRes, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app with correct TG")
 	// allocate should trigger release of placeholder nothing else
@@ -3037,7 +3022,7 @@ func TestPlaceholderSmallerMulti(t *testing.T) {
 		release := &si.AllocationRelease{
 			PartitionName:   ph.GetPartitionName(),
 			ApplicationID:   appID1,
-			AllocationID:    ph.GetAllocationID(),
+			AllocationKey:   ph.GetAllocationKey(),
 			TerminationType: si.TerminationType_TIMEOUT,
 		}
 		released, _ := partition.removeAllocation(release)
@@ -3086,7 +3071,7 @@ func TestPlaceholderBiggerThanReal(t *testing.T) {
 	assertLimits(t, getTestUserGroup(), phRes)
 
 	// add a new ask with smaller request and allocate
-	ask = newAllocationAskTG(allocID, appID1, taskGroup, smallRes, false)
+	ask = newAllocationAskTG(allocKey, appID1, taskGroup, smallRes, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app with correct TG")
 	alloc := partition.tryPlaceholderAllocate()
@@ -3104,7 +3089,7 @@ func TestPlaceholderBiggerThanReal(t *testing.T) {
 	release := &si.AllocationRelease{
 		PartitionName:   ph.GetPartitionName(),
 		ApplicationID:   appID1,
-		AllocationID:    ph.GetAllocationID(),
+		AllocationKey:   ph.GetAllocationKey(),
 		TerminationType: si.TerminationType_PLACEHOLDER_REPLACED,
 	}
 	released, confirmed := partition.removeAllocation(release)
@@ -3143,7 +3128,7 @@ func TestPlaceholderMatch(t *testing.T) {
 	if ph == nil {
 		t.Fatal("expected placeholder ph-1 to be allocated")
 	}
-	phAllocationID := ph.GetAllocationID()
+	phAllocationKey := ph.GetAllocationKey()
 	assert.Equal(t, phID, ph.GetAllocationKey(), "expected allocation of ph-1 to be returned")
 	assert.Equal(t, 1, len(app.GetAllPlaceholderData()), "placeholder data should be created on allocate")
 	assert.Equal(t, 1, partition.GetTotalAllocationCount(), "placeholder allocation should be registered as allocation")
@@ -3151,7 +3136,7 @@ func TestPlaceholderMatch(t *testing.T) {
 	assertLimits(t, getTestUserGroup(), phRes)
 
 	// add a new ask with an unknown task group (should allocate directly)
-	ask = newAllocationAskTG(allocID, appID1, "unknown", phRes, false)
+	ask = newAllocationAskTG(allocKey, appID1, "unknown", phRes, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-2 to app")
 	alloc := partition.tryAllocate()
@@ -3160,14 +3145,14 @@ func TestPlaceholderMatch(t *testing.T) {
 	}
 	assert.Equal(t, 2, partition.GetTotalAllocationCount(), "allocations should be registered: ph + normal")
 	assert.Equal(t, 1, partition.getPhAllocationCount(), "placeholder allocation should be registered")
-	assert.Equal(t, allocID, alloc.GetAllocationKey(), "expected allocation of alloc-1 to be returned")
+	assert.Equal(t, allocKey, alloc.GetAllocationKey(), "expected allocation of alloc-1 to be returned")
 	assert.Equal(t, 1, len(app.GetAllPlaceholderData()), "placeholder data should not be updated")
 	assert.Equal(t, int64(1), app.GetAllPlaceholderData()[0].Count, "placeholder data should show 1 available placeholder")
 	assert.Equal(t, int64(0), app.GetAllPlaceholderData()[0].Replaced, "placeholder data should show no replacements")
 	assertLimits(t, getTestUserGroup(), resources.Multiply(phRes, 2))
 
 	// add a new ask the same task group as the placeholder
-	ask = newAllocationAskTG(allocID2, appID1, taskGroup, phRes, false)
+	ask = newAllocationAskTG(allocKey2, appID1, taskGroup, phRes, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-2 to app")
 	alloc = partition.tryAllocate()
@@ -3186,7 +3171,7 @@ func TestPlaceholderMatch(t *testing.T) {
 	}
 	assert.Equal(t, 2, partition.GetTotalAllocationCount(), "allocations should be registered: ph + normal")
 	assert.Equal(t, 1, partition.getPhAllocationCount(), "placeholder allocation should be registered")
-	assert.Equal(t, allocID2, alloc.GetAllocationKey(), "expected allocation of alloc-2 to be returned")
+	assert.Equal(t, allocKey2, alloc.GetAllocationKey(), "expected allocation of alloc-2 to be returned")
 	assert.Equal(t, int64(1), app.GetAllPlaceholderData()[0].Count, "placeholder data should show 1 available placeholder")
 	assert.Equal(t, int64(0), app.GetAllPlaceholderData()[0].Replaced, "placeholder data should show no replacements yet")
 
@@ -3194,7 +3179,7 @@ func TestPlaceholderMatch(t *testing.T) {
 	release := &si.AllocationRelease{
 		PartitionName:   "test",
 		ApplicationID:   appID1,
-		AllocationID:    phAllocationID,
+		AllocationKey:   phAllocationKey,
 		TerminationType: si.TerminationType_PLACEHOLDER_REPLACED,
 	}
 	released, confirmed := partition.removeAllocation(release)
@@ -3244,14 +3229,14 @@ func TestPreemptedPlaceholderSkip(t *testing.T) {
 	if ph == nil {
 		t.Fatal("expected placeholder ph-1 to be allocated")
 	}
-	phAllocationID := ph.GetAllocationID()
+	phAllocationKey := ph.GetAllocationKey()
 	assert.Equal(t, phID, ph.GetAllocationKey(), "expected allocation of ph-1 to be returned")
 	assert.Equal(t, 1, len(app.GetAllPlaceholderData()), "placeholder data should be created on allocate")
 	assert.Equal(t, 1, partition.GetTotalAllocationCount(), "placeholder allocation should be registered as allocation")
 	assert.Equal(t, 1, partition.getPhAllocationCount(), "placeholder allocation should be registered")
 
 	// add a new ask the same task group as the placeholder
-	ask = newAllocationAskTG(allocID, appID1, taskGroup, phRes, false)
+	ask = newAllocationAskTG(allocKey, appID1, taskGroup, phRes, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app")
 	alloc := partition.tryAllocate()
@@ -3272,7 +3257,7 @@ func TestPreemptedPlaceholderSkip(t *testing.T) {
 	release := &si.AllocationRelease{
 		PartitionName:   "test",
 		ApplicationID:   appID1,
-		AllocationID:    phAllocationID,
+		AllocationKey:   phAllocationKey,
 		TerminationType: si.TerminationType_PREEMPTED_BY_SCHEDULER,
 	}
 	released, confirmed := partition.removeAllocation(release)
@@ -3289,7 +3274,7 @@ func TestPreemptedPlaceholderSkip(t *testing.T) {
 	if alloc == nil {
 		t.Fatal("expected ask to be allocated (no placeholder left)")
 	}
-	assert.Equal(t, allocID, alloc.GetAllocationKey(), "expected allocation of alloc-1 to be returned")
+	assert.Equal(t, allocKey, alloc.GetAllocationKey(), "expected allocation of alloc-1 to be returned")
 	assert.Equal(t, 1, len(app.GetAllPlaceholderData()), "placeholder data should not be updated")
 	assert.Equal(t, int64(1), app.GetAllPlaceholderData()[0].Count, "placeholder data should show 1 available placeholder")
 	assert.Equal(t, int64(0), app.GetAllPlaceholderData()[0].Replaced, "placeholder data should show no replacements")
@@ -3335,7 +3320,7 @@ func TestTryPlaceholderAllocate(t *testing.T) {
 	if alloc == nil {
 		t.Fatal("expected first placeholder to be allocated")
 	}
-	assert.Equal(t, node.GetAllocation(alloc.GetAllocationID()), alloc, "placeholder allocation not found on node")
+	assert.Equal(t, node.GetAllocation(alloc.GetAllocationKey()), alloc, "placeholder allocation not found on node")
 	assert.Assert(t, alloc.IsPlaceholder(), "placeholder alloc should return a placeholder allocation")
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "placeholder alloc should return an allocated result")
 	if !resources.Equals(app.GetPlaceholderResource(), res) {
@@ -3358,7 +3343,7 @@ func TestTryPlaceholderAllocate(t *testing.T) {
 	if alloc == nil {
 		t.Fatal("expected 2nd placeholder to be allocated")
 	}
-	assert.Equal(t, node.GetAllocation(alloc.GetAllocationID()), alloc, "placeholder allocation 2 not found on node")
+	assert.Equal(t, node.GetAllocation(alloc.GetAllocationKey()), alloc, "placeholder allocation 2 not found on node")
 	if !resources.Equals(app.GetPlaceholderResource(), resources.Multiply(res, 2)) {
 		t.Fatalf("placeholder allocation not updated as expected: got %s, expected %s", app.GetPlaceholderResource(), resources.Multiply(res, 2))
 	}
@@ -3367,7 +3352,7 @@ func TestTryPlaceholderAllocate(t *testing.T) {
 	assertLimits(t, getTestUserGroup(), resources.Multiply(res, 2))
 
 	// not mapping to the same taskgroup should not do anything
-	ask = newAllocationAskTG(allocID, appID1, "tg-unk", res, false)
+	ask = newAllocationAskTG(allocKey, appID1, "tg-unk", res, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app")
 	alloc = partition.tryPlaceholderAllocate()
@@ -3377,7 +3362,7 @@ func TestTryPlaceholderAllocate(t *testing.T) {
 	assertLimits(t, getTestUserGroup(), resources.Multiply(res, 2))
 
 	// add an ask with the TG
-	ask = newAllocationAskTG(allocID2, appID1, taskGroup, res, false)
+	ask = newAllocationAskTG(allocKey2, appID1, taskGroup, res, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-2 to app with correct TG")
 	alloc = partition.tryPlaceholderAllocate()
@@ -3389,7 +3374,7 @@ func TestTryPlaceholderAllocate(t *testing.T) {
 	assert.Equal(t, alloc.GetResult(), objects.Replaced, "result is not the expected allocated replaced")
 	assert.Equal(t, alloc.GetReleaseCount(), 1, "released allocations should have been 1")
 	assertLimits(t, getTestUserGroup(), resources.Multiply(res, 2))
-	phAllocationID := alloc.GetFirstRelease().GetAllocationID()
+	phAllocationKey := alloc.GetFirstRelease().GetAllocationKey()
 	// placeholder is not released until confirmed by the shim
 	if !resources.Equals(app.GetPlaceholderResource(), resources.Multiply(res, 2)) {
 		t.Fatalf("placeholder allocation not updated as expected: got %s, expected %s", app.GetPlaceholderResource(), resources.Multiply(res, 2))
@@ -3399,7 +3384,7 @@ func TestTryPlaceholderAllocate(t *testing.T) {
 	release := &si.AllocationRelease{
 		PartitionName:   "test",
 		ApplicationID:   appID1,
-		AllocationID:    phAllocationID,
+		AllocationKey:   phAllocationKey,
 		TerminationType: si.TerminationType_PLACEHOLDER_REPLACED,
 	}
 	released, confirmed := partition.removeAllocation(release)
@@ -3409,7 +3394,7 @@ func TestTryPlaceholderAllocate(t *testing.T) {
 	if confirmed == nil {
 		t.Fatal("confirmed allocation should not be nil")
 	}
-	assert.Equal(t, confirmed.GetAllocationID(), alloc.GetAllocationID(), "confirmed allocation has unexpected AllocationID")
+	assert.Equal(t, confirmed.GetAllocationKey(), alloc.GetAllocationKey(), "confirmed allocation has unexpected AllocationKey")
 	if !resources.Equals(app.GetPlaceholderResource(), res) {
 		t.Fatalf("placeholder allocations not updated as expected: got %s, expected %s", app.GetPlaceholderResource(), res)
 	}
@@ -3459,7 +3444,7 @@ func TestFailReplacePlaceholder(t *testing.T) {
 	}
 	assert.Equal(t, partition.GetTotalAllocationCount(), 1, "placeholder allocation should be counted as alloc")
 	assert.Equal(t, partition.getPhAllocationCount(), 1, "placeholder allocation should be counted as placeholder")
-	assert.Equal(t, node.GetAllocation(alloc.GetAllocationID()), alloc, "placeholder allocation not found on node")
+	assert.Equal(t, node.GetAllocation(alloc.GetAllocationKey()), alloc, "placeholder allocation not found on node")
 	assert.Assert(t, alloc.IsPlaceholder(), "placeholder alloc should return a placeholder allocation")
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "placeholder alloc should return an allocated result")
 	assert.Equal(t, alloc.GetNodeID(), nodeID1, "should be allocated on node-1")
@@ -3470,7 +3455,7 @@ func TestFailReplacePlaceholder(t *testing.T) {
 	node2 := setupNode(t, nodeID2, partition, tgRes)
 	assertLimits(t, getTestUserGroup(), res)
 	// add an ask with the TG
-	ask = newAllocationAskTG(allocID, appID1, taskGroup, res, false)
+	ask = newAllocationAskTG(allocKey, appID1, taskGroup, res, false)
 	err = app.AddAllocationAsk(ask)
 	assert.NilError(t, err, "failed to add ask alloc-1 to app with correct TG")
 	alloc = partition.tryPlaceholderAllocate()
@@ -3487,7 +3472,7 @@ func TestFailReplacePlaceholder(t *testing.T) {
 	assert.Assert(t, resources.Equals(node.GetAllocatedResource(), res), "node-1 allocation not updated as expected: got %s, expected %s", node.GetAllocatedResource(), res)
 	assert.Assert(t, resources.Equals(node2.GetAllocatedResource(), res), "node-2 allocation not updated as expected: got %s, expected %s", node2.GetAllocatedResource(), res)
 
-	phAllocationID := alloc.GetFirstRelease().GetAllocationID()
+	phAllocationKey := alloc.GetFirstRelease().GetAllocationKey()
 	// placeholder is not released until confirmed by the shim
 	assert.Assert(t, resources.Equals(app.GetPlaceholderResource(), res), "placeholder allocation not updated as expected: got %s, expected %s", app.GetPlaceholderResource(), resources.Multiply(res, 2))
 	assertLimits(t, getTestUserGroup(), res)
@@ -3496,7 +3481,7 @@ func TestFailReplacePlaceholder(t *testing.T) {
 	release := &si.AllocationRelease{
 		PartitionName:   "test",
 		ApplicationID:   appID1,
-		AllocationID:    phAllocationID,
+		AllocationKey:   phAllocationKey,
 		TerminationType: si.TerminationType_PLACEHOLDER_REPLACED,
 	}
 	released, confirmed := partition.removeAllocation(release)
@@ -3506,7 +3491,7 @@ func TestFailReplacePlaceholder(t *testing.T) {
 	if confirmed == nil {
 		t.Fatal("confirmed allocation should not be nil")
 	}
-	assert.Equal(t, confirmed.GetAllocationID(), alloc.GetAllocationID(), "confirmed allocation has unexpected AllocationID")
+	assert.Equal(t, confirmed.GetAllocationKey(), alloc.GetAllocationKey(), "confirmed allocation has unexpected AllocationKey")
 	assert.Assert(t, resources.IsZero(app.GetPlaceholderResource()), "placeholder resources should be zero")
 	assert.Assert(t, resources.Equals(app.GetAllocatedResource(), res), "allocations not updated as expected: got %s, expected %s", app.GetAllocatedResource(), res)
 	assert.Assert(t, resources.IsZero(node.GetAllocatedResource()), "node-1 allocated resources should be zero")
@@ -3750,7 +3735,7 @@ func TestTryAllocateMaxRunning(t *testing.T) {
 	var res *resources.Resource
 	res, err = resources.NewResourceFromConf(map[string]string{resType: "1"})
 	assert.NilError(t, err, "failed to create resource")
-	err = app.AddAllocationAsk(newAllocationAskTG(allocID, appID1, "ph1", res, true))
+	err = app.AddAllocationAsk(newAllocationAskTG(allocKey, appID1, "ph1", res, true))
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
 	// first allocation should move the app to accepted
 	assert.Equal(t, app.CurrentState(), objects.Accepted.String(), "application should have moved to accepted state")
@@ -3763,14 +3748,14 @@ func TestTryAllocateMaxRunning(t *testing.T) {
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assert.Equal(t, alloc.GetReleaseCount(), 0, "released allocations should have been 0")
 	assert.Equal(t, alloc.GetApplicationID(), appID1, "expected application app-1 to be allocated")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID, "expected ask alloc to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey, "expected ask alloc to be allocated")
 	assert.Equal(t, app.CurrentState(), objects.Accepted.String(), "application should have moved to accepted state")
 
 	// add second app to the partition
 	app2 := newApplication(appID2, "default", "root.parent.sub-leaf")
 	err = partition.AddApplication(app2)
 	assert.NilError(t, err, "failed to add app-2 to partition")
-	err = app2.AddAllocationAsk(newAllocationAsk(allocID, appID2, res))
+	err = app2.AddAllocationAsk(newAllocationAsk(allocKey, appID2, res))
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-2")
 
 	// allocation should fail max running app is reached on parent via accepted allocating
@@ -3808,7 +3793,7 @@ func TestTryAllocateMaxRunning(t *testing.T) {
 	assert.Equal(t, alloc.GetResult(), objects.Allocated, "result is not the expected allocated")
 	assert.Equal(t, alloc.GetReleaseCount(), 0, "released allocations should have been 0")
 	assert.Equal(t, alloc.GetApplicationID(), appID2, "expected application app-2 to be allocated")
-	assert.Equal(t, alloc.GetAllocationKey(), allocID, "expected ask alloc-1 to be allocated")
+	assert.Equal(t, alloc.GetAllocationKey(), allocKey, "expected ask alloc-1 to be allocated")
 }
 
 func TestNewQueueEvents(t *testing.T) {
@@ -3861,13 +3846,13 @@ func TestUserHeadroom(t *testing.T) {
 
 	err = partition.AddApplication(app1)
 	assert.NilError(t, err, "failed to add app-1 to partition")
-	err = app1.AddAllocationAsk(newAllocationAsk(allocID, appID1, res))
+	err = app1.AddAllocationAsk(newAllocationAsk(allocKey, appID1, res))
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
 
 	app2 := newApplication(appID2, "default", "root.parent.sub-leaf")
 	err = partition.AddApplication(app2)
 	assert.NilError(t, err, "failed to add app-2 to partition")
-	err = app2.AddAllocationAsk(newAllocationAsk(allocID, appID2, res))
+	err = app2.AddAllocationAsk(newAllocationAsk(allocKey, appID2, res))
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-2")
 
 	// app 1 would be allocated as there is headroom available for the user
@@ -3889,7 +3874,7 @@ func TestUserHeadroom(t *testing.T) {
 	app3 := newApplication(appID3, "default", "root.leaf")
 	err = partition.AddApplication(app3)
 	assert.NilError(t, err, "failed to add app-3 to partition")
-	err = app3.AddAllocationAsk(newAllocationAsk(allocID, appID3, res1))
+	err = app3.AddAllocationAsk(newAllocationAsk(allocKey, appID3, res1))
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-3")
 
 	// app 3 would be allocated as there is headroom available for the user
@@ -3902,7 +3887,7 @@ func TestUserHeadroom(t *testing.T) {
 	app4 := newApplication("app-4", "default", "root.leaf")
 	err = partition.AddApplication(app4)
 	assert.NilError(t, err, "failed to add app-4 to partition")
-	err = app4.AddAllocationAsk(newAllocationAsk(allocID, "app-4", res1))
+	err = app4.AddAllocationAsk(newAllocationAsk(allocKey, "app-4", res1))
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-4")
 
 	// app 4 allocation won't happen as there is no headroom for the user
@@ -3962,7 +3947,7 @@ func TestUserHeadroom(t *testing.T) {
 
 	err = partition.AddApplication(app6)
 	assert.NilError(t, err, "failed to add app-6 to partition")
-	err = app6.AddAllocationAsk(newAllocationAsk(allocID, "app-6", res))
+	err = app6.AddAllocationAsk(newAllocationAsk(allocKey, "app-6", res))
 	assert.NilError(t, err, "failed to add ask alloc-1 to app-6")
 
 	// app 6 would be allocated as headroom is nil because no limits configured for 'testuser1' user an
@@ -3996,13 +3981,13 @@ func TestPlaceholderAllocationTracking(t *testing.T) {
 	assert.NilError(t, err, "could not add ask")
 	assert.Equal(t, 0, partition.getPhAllocationCount())
 	// add & allocate real asks
-	ask4 := newAllocationAskTG(allocID, appID1, taskGroup, res, false)
+	ask4 := newAllocationAskTG(allocKey, appID1, taskGroup, res, false)
 	err = app.AddAllocationAsk(ask4)
 	assert.NilError(t, err, "failed to add ask to app")
 
 	// allocate first placeholder
 	alloc := partition.tryAllocate()
-	ph1AllocationID := alloc.GetAllocationID()
+	ph1AllocationKey := alloc.GetAllocationKey()
 	assert.Assert(t, alloc != nil, "placeholder ask should have been allocated")
 	assert.Equal(t, 1, partition.GetTotalAllocationCount(), "placeholder not counted as alloc")
 	assert.Equal(t, 1, partition.getPhAllocationCount(), "placeholder not counted as placeholder")
@@ -4013,33 +3998,33 @@ func TestPlaceholderAllocationTracking(t *testing.T) {
 
 	// allocate second placeholder
 	alloc = partition.tryAllocate()
-	ph2AllocationID := alloc.GetAllocationID()
+	ph2AllocationKey := alloc.GetAllocationKey()
 	assert.Assert(t, alloc != nil, "placeholder ask should have been allocated")
 	assert.Equal(t, 2, partition.GetTotalAllocationCount(), "placeholder not counted as alloc")
 	assert.Equal(t, 2, partition.getPhAllocationCount(), "placeholder not counted as placeholder")
 	// allocate third placeholder
 	alloc = partition.tryAllocate()
-	ph3AllocationID := alloc.GetAllocationID()
+	ph3AllocationKey := alloc.GetAllocationKey()
 	assert.Assert(t, alloc != nil, "placeholder ask should have been allocated")
 	assert.Equal(t, 3, partition.GetTotalAllocationCount(), "placeholder not counted as alloc")
 	assert.Equal(t, 3, partition.getPhAllocationCount(), "placeholder not counted as placeholder")
 
 	partition.removeAllocation(&si.AllocationRelease{
-		AllocationID:    ph1AllocationID,
+		AllocationKey:   ph1AllocationKey,
 		ApplicationID:   appID1,
 		TerminationType: si.TerminationType_PLACEHOLDER_REPLACED,
 	})
 	assert.Equal(t, 3, partition.GetTotalAllocationCount(), "placeholder not counted as alloc")
 	assert.Equal(t, 2, partition.getPhAllocationCount(), "placeholder should be removed from count")
 	partition.removeAllocation(&si.AllocationRelease{
-		AllocationID:    ph2AllocationID,
+		AllocationKey:   ph2AllocationKey,
 		ApplicationID:   appID1,
 		TerminationType: si.TerminationType_STOPPED_BY_RM,
 	})
 	assert.Equal(t, 2, partition.GetTotalAllocationCount(), "placeholder should be removed from alloc count")
 	assert.Equal(t, 1, partition.getPhAllocationCount(), "placeholder should be removed from count")
 	partition.removeAllocation(&si.AllocationRelease{
-		AllocationID:    ph3AllocationID,
+		AllocationKey:   ph3AllocationKey,
 		ApplicationID:   appID1,
 		TerminationType: si.TerminationType_TIMEOUT,
 	})
@@ -4058,17 +4043,17 @@ func TestReservationTracking(t *testing.T) {
 	// add to the partition
 	err = partition.AddApplication(app)
 	assert.NilError(t, err, "failed to add app to partition")
-	ask1 := newAllocationAsk(allocID, appID1, res)
+	ask1 := newAllocationAsk(allocKey, appID1, res)
 	ask1.SetRequiredNode(nodeID1)
 	err = app.AddAllocationAsk(ask1)
 	assert.NilError(t, err, "failed to add ask")
-	ask2 := newAllocationAsk(allocID2, appID1, res)
+	ask2 := newAllocationAsk(allocKey2, appID1, res)
 	ask2.SetRequiredNode(nodeID1)
 	err = app.AddAllocationAsk(ask2)
 	assert.NilError(t, err, "failed to add ask")
 
 	alloc := partition.tryAllocate() // ask1 occupies node1
-	allocationID := alloc.GetAllocationID()
+	allocationKey := alloc.GetAllocationKey()
 	assert.Equal(t, objects.Allocated, alloc.GetResult())
 	assert.Equal(t, "alloc-1", alloc.GetAllocationKey())
 	assert.Equal(t, 0, partition.getReservationCount())
@@ -4077,7 +4062,7 @@ func TestReservationTracking(t *testing.T) {
 	assert.Equal(t, 1, partition.getReservationCount())
 
 	partition.removeAllocation(&si.AllocationRelease{
-		AllocationID:    allocationID,
+		AllocationKey:   allocationKey,
 		ApplicationID:   appID1,
 		TerminationType: si.TerminationType_STOPPED_BY_RM,
 	}) // terminate ask1
@@ -4216,7 +4201,7 @@ func TestLimitMaxApplications(t *testing.T) {
 			app1 := newApplication(appID1, "default", defQueue)
 			err = partition.AddApplication(app1)
 			assert.NilError(t, err, "add application to partition should not have failed")
-			err = app1.AddAllocationAsk(newAllocationAsk(allocID, appID1, res))
+			err = app1.AddAllocationAsk(newAllocationAsk(allocKey, appID1, res))
 			assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
 
 			alloc := partition.tryAllocate()
@@ -4225,13 +4210,13 @@ func TestLimitMaxApplications(t *testing.T) {
 			}
 			assert.Equal(t, alloc.GetResult(), objects.Allocated, "result is not the expected allocated")
 			assert.Equal(t, alloc.GetApplicationID(), appID1, "expected application app-1 to be allocated")
-			assert.Equal(t, alloc.GetAllocationKey(), allocID, "expected ask alloc-1 to be allocated")
+			assert.Equal(t, alloc.GetAllocationKey(), allocKey, "expected ask alloc-1 to be allocated")
 
 			// add app2
 			app2 := newApplication(appID2, "default", defQueue)
 			err = partition.AddApplication(app2)
 			assert.NilError(t, err, "add application to partition should not have failed")
-			err = app2.AddAllocationAsk(newAllocationAsk(allocID2, appID2, res))
+			err = app2.AddAllocationAsk(newAllocationAsk(allocKey2, appID2, res))
 			assert.NilError(t, err, "failed to add ask alloc-2 to app-1")
 			assert.Equal(t, app2.CurrentState(), objects.Accepted.String(), "application should have moved to accepted state")
 
@@ -4372,7 +4357,7 @@ func TestLimitMaxApplicationsForReservedAllocation(t *testing.T) {
 			app1 := newApplication(appID1, "default", defQueue)
 			err = partition.AddApplication(app1)
 			assert.NilError(t, err, "add application to partition should not have failed")
-			app1AllocAsk := newAllocationAsk(allocID, appID1, res)
+			app1AllocAsk := newAllocationAsk(allocKey, appID1, res)
 			err = app1.AddAllocationAsk(app1AllocAsk)
 			assert.NilError(t, err, "failed to add ask alloc-1 to app-1")
 
@@ -4383,13 +4368,13 @@ func TestLimitMaxApplicationsForReservedAllocation(t *testing.T) {
 			}
 			assert.Equal(t, alloc.GetResult(), objects.AllocatedReserved, "result is not the expected allocated reserved")
 			assert.Equal(t, alloc.GetApplicationID(), appID1, "expected application app-1 to be allocated reserved")
-			assert.Equal(t, alloc.GetAllocationKey(), allocID, "expected ask alloc-1 to be allocated reserved")
+			assert.Equal(t, alloc.GetAllocationKey(), allocKey, "expected ask alloc-1 to be allocated reserved")
 
 			// add app2
 			app2 := newApplication(appID2, "default", defQueue)
 			err = partition.AddApplication(app2)
 			assert.NilError(t, err, "add application to partition should not have failed")
-			app2AllocAsk := newAllocationAsk(allocID2, appID2, res)
+			app2AllocAsk := newAllocationAsk(allocKey2, appID2, res)
 			err = app2.AddAllocationAsk(app2AllocAsk)
 			assert.NilError(t, err, "failed to add ask alloc-2 to app-1")
 			assert.Equal(t, app2.CurrentState(), objects.Accepted.String(), "application should have moved to accepted state")
@@ -4515,18 +4500,15 @@ func TestPlaceholderAllocationAndReplacementAfterRecovery(t *testing.T) {
 	assert.Equal(t, objects.Replaced, alloc.GetResult())
 	assert.Equal(t, "real-alloc", alloc.GetAllocationKey())
 	assert.Equal(t, "tg-1", alloc.GetTaskGroup())
-	assert.Equal(t, "real-alloc", alloc.GetAllocationID())
 
 	// remove the terminated placeholder allocation
 	released, confirmed := partition.removeAllocation(&si.AllocationRelease{
 		ApplicationID:   appID1,
 		TerminationType: si.TerminationType_PLACEHOLDER_REPLACED,
-		AllocationKey:   "real-alloc",
-		AllocationID:    "placeholder",
+		AllocationKey:   "placeholder",
 	})
 	assert.Assert(t, released == nil, "unexpected released allocation")
 	assert.Assert(t, confirmed != nil, "expected to have a confirmed allocation")
 	assert.Equal(t, "real-alloc", confirmed.GetAllocationKey())
 	assert.Equal(t, "tg-1", confirmed.GetTaskGroup())
-	assert.Equal(t, "real-alloc", confirmed.GetAllocationID())
 }
diff --git a/pkg/scheduler/tests/application_tracking_test.go b/pkg/scheduler/tests/application_tracking_test.go
index 9243b3dc..0d50497d 100644
--- a/pkg/scheduler/tests/application_tracking_test.go
+++ b/pkg/scheduler/tests/application_tracking_test.go
@@ -135,9 +135,9 @@ func TestApplicationHistoryTracking(t *testing.T) {
 
 	allocations := ms.mockRM.getAllocations()
 	assert.Equal(t, 1, len(allocations), "number of allocations")
-	var allocationID string
+	var allocationKey string
 	for key := range allocations {
-		allocationID = key
+		allocationKey = key
 	}
 
 	// terminate allocation & check events
@@ -147,7 +147,7 @@ func TestApplicationHistoryTracking(t *testing.T) {
 				{
 					ApplicationID:   appID1,
 					PartitionName:   "default",
-					AllocationID:    allocationID,
+					AllocationKey:   allocationKey,
 					TerminationType: si.TerminationType_STOPPED_BY_RM,
 				},
 			},
diff --git a/pkg/scheduler/tests/mock_rm_callback_test.go b/pkg/scheduler/tests/mock_rm_callback_test.go
index a908683d..b3f5419a 100644
--- a/pkg/scheduler/tests/mock_rm_callback_test.go
+++ b/pkg/scheduler/tests/mock_rm_callback_test.go
@@ -79,7 +79,7 @@ func (m *mockRMCallback) UpdateAllocation(response *si.AllocationResponse) error
 	m.Lock()
 	defer m.Unlock()
 	for _, alloc := range response.New {
-		m.Allocations[alloc.AllocationID] = alloc
+		m.Allocations[alloc.AllocationKey] = alloc
 		if val, ok := m.nodeAllocations[alloc.NodeID]; ok {
 			val = append(val, alloc)
 			m.nodeAllocations[alloc.NodeID] = val
@@ -90,9 +90,9 @@ func (m *mockRMCallback) UpdateAllocation(response *si.AllocationResponse) error
 		}
 	}
 	for _, alloc := range response.Released {
-		delete(m.Allocations, alloc.AllocationID)
+		delete(m.Allocations, alloc.AllocationKey)
 		if alloc.TerminationType == si.TerminationType_PLACEHOLDER_REPLACED {
-			m.releasedPhs[alloc.AllocationID] = alloc
+			m.releasedPhs[alloc.AllocationKey] = alloc
 		}
 	}
 	return nil
diff --git a/pkg/scheduler/tests/mockscheduler_test.go b/pkg/scheduler/tests/mockscheduler_test.go
index 222aa390..9031ff2d 100644
--- a/pkg/scheduler/tests/mockscheduler_test.go
+++ b/pkg/scheduler/tests/mockscheduler_test.go
@@ -146,11 +146,11 @@ func (m *mockScheduler) removeApp(appID, partition string) error {
 	})
 }
 
-func (m *mockScheduler) addAppRequest(appID, allocID string, resource *si.Resource, repeat int) error {
+func (m *mockScheduler) addAppRequest(appID, allocKeyPrefix string, resource *si.Resource, repeat int) error {
 	asks := make([]*si.AllocationAsk, repeat)
 	for i := 0; i < repeat; i++ {
 		asks[i] = &si.AllocationAsk{
-			AllocationKey: fmt.Sprintf("%s-%d", allocID, i),
+			AllocationKey: fmt.Sprintf("%s-%d", allocKeyPrefix, i),
 			ApplicationID: appID,
 			ResourceAsk:   resource,
 		}
@@ -161,13 +161,13 @@ func (m *mockScheduler) addAppRequest(appID, allocID string, resource *si.Resour
 	})
 }
 
-func (m *mockScheduler) releaseAllocRequest(appID, allocationID string) error {
+func (m *mockScheduler) releaseAllocRequest(appID, allocationKey string) error {
 	return m.proxy.UpdateAllocation(&si.AllocationRequest{
 		Releases: &si.AllocationReleasesRequest{
 			AllocationsToRelease: []*si.AllocationRelease{
 				{
 					ApplicationID: appID,
-					AllocationID:  allocationID,
+					AllocationKey: allocationKey,
 					PartitionName: m.partitionName,
 				},
 			},
diff --git a/pkg/scheduler/tests/recovery_test.go b/pkg/scheduler/tests/recovery_test.go
index 75c1f470..8b657155 100644
--- a/pkg/scheduler/tests/recovery_test.go
+++ b/pkg/scheduler/tests/recovery_test.go
@@ -483,7 +483,6 @@ func TestSchedulerRecoveryWithoutAppInfo(t *testing.T) {
 				ExistingAllocations: []*si.Allocation{
 					{
 						AllocationKey: "allocation-key-01",
-						AllocationID:  "ALLOCATIONID01",
 						ApplicationID: "app-01",
 						PartitionName: "default",
 						NodeID:        "node-1:1234",
@@ -551,7 +550,6 @@ func TestSchedulerRecoveryWithoutAppInfo(t *testing.T) {
 				ExistingAllocations: []*si.Allocation{
 					{
 						AllocationKey: "allocation-key-01",
-						AllocationID:  "ALLOCATIONID01",
 						ApplicationID: "app-01",
 						PartitionName: "default",
 						NodeID:        "node-1:1234",
@@ -864,7 +862,6 @@ partitions:
 			existingAllocations = append(existingAllocations, &si.Allocation{
 				AllocationKey:    alloc.AllocationKey,
 				AllocationTags:   alloc.AllocationTags,
-				AllocationID:     alloc.AllocationID,
 				ResourcePerAlloc: alloc.ResourcePerAlloc,
 				Priority:         alloc.Priority,
 				NodeID:           alloc.NodeID,
@@ -959,7 +956,6 @@ func TestPlaceholderRecovery(t *testing.T) { //nolint:funlen
 		NodeID:        "node-1:1234",
 		ApplicationID: appID1,
 		TaskGroupName: "tg-1",
-		AllocationID:  "ph-alloc-1-0",
 		ResourcePerAlloc: &si.Resource{
 			Resources: map[string]*si.Quantity{
 				"memory": {
@@ -1025,9 +1021,9 @@ func TestPlaceholderRecovery(t *testing.T) { //nolint:funlen
 						"vcore":  {Value: 1},
 					},
 				},
-				ApplicationID:  appID1,
-				TaskGroupName:  "tg-2",
-				Placeholder:    true,
+				ApplicationID: appID1,
+				TaskGroupName: "tg-2",
+				Placeholder:   true,
 			},
 		},
 		RmID: "rm:123",
@@ -1046,8 +1042,8 @@ func TestPlaceholderRecovery(t *testing.T) { //nolint:funlen
 						"vcore":  {Value: 1},
 					},
 				},
-				ApplicationID:  appID1,
-				TaskGroupName:  "tg-1",
+				ApplicationID: appID1,
+				TaskGroupName: "tg-1",
 			},
 			{
 				AllocationKey: "real-alloc-2",
@@ -1057,8 +1053,8 @@ func TestPlaceholderRecovery(t *testing.T) { //nolint:funlen
 						"vcore":  {Value: 1},
 					},
 				},
-				ApplicationID:  appID1,
-				TaskGroupName:  "tg-2",
+				ApplicationID: appID1,
+				TaskGroupName: "tg-2",
 			},
 		},
 		RmID: "rm:123",
@@ -1073,13 +1069,13 @@ func TestPlaceholderRecovery(t *testing.T) { //nolint:funlen
 				{
 					ApplicationID:   appID1,
 					PartitionName:   "default",
-					AllocationID:    "ph-alloc-1",
+					AllocationKey:   "ph-alloc-1",
 					TerminationType: si.TerminationType_PLACEHOLDER_REPLACED,
 				},
 				{
 					ApplicationID:   appID1,
 					PartitionName:   "default",
-					AllocationID:    "ph-alloc-2",
+					AllocationKey:   "ph-alloc-2",
 					TerminationType: si.TerminationType_PLACEHOLDER_REPLACED,
 				},
 			},
@@ -1095,13 +1091,13 @@ func TestPlaceholderRecovery(t *testing.T) { //nolint:funlen
 				{
 					ApplicationID:   appID1,
 					PartitionName:   "default",
-					AllocationID:    "real-alloc-1",
+					AllocationKey:   "real-alloc-1",
 					TerminationType: si.TerminationType_STOPPED_BY_RM,
 				},
 				{
 					ApplicationID:   appID1,
 					PartitionName:   "default",
-					AllocationID:    "real-alloc-2",
+					AllocationKey:   "real-alloc-2",
 					TerminationType: si.TerminationType_STOPPED_BY_RM,
 				},
 			},
diff --git a/pkg/scheduler/tests/reservation_test.go b/pkg/scheduler/tests/reservation_test.go
index 426093e3..3cd59c20 100644
--- a/pkg/scheduler/tests/reservation_test.go
+++ b/pkg/scheduler/tests/reservation_test.go
@@ -422,7 +422,7 @@ func TestUnReservationAndDeletion(t *testing.T) {
 	}
 	// delete existing allocations
 	for _, alloc := range ms.mockRM.getAllocations() {
-		err = ms.releaseAllocRequest(appID1, alloc.AllocationID)
+		err = ms.releaseAllocRequest(appID1, alloc.AllocationKey)
 		assert.NilError(t, err, "allocation release update failed")
 	}
 	ms.scheduler.MultiStepSchedule(5)
diff --git a/pkg/scheduler/tests/smoke_test.go b/pkg/scheduler/tests/smoke_test.go
index e25269dd..dcf6d8c1 100644
--- a/pkg/scheduler/tests/smoke_test.go
+++ b/pkg/scheduler/tests/smoke_test.go
@@ -366,7 +366,7 @@ func TestBasicScheduler(t *testing.T) {
 	// Release all allocations
 	for _, v := range ms.mockRM.getAllocations() {
 		updateRequest.Releases.AllocationsToRelease = append(updateRequest.Releases.AllocationsToRelease, &si.AllocationRelease{
-			AllocationID:  v.AllocationID,
+			AllocationKey: v.AllocationKey,
 			ApplicationID: v.ApplicationID,
 			PartitionName: v.PartitionName,
 		})
@@ -917,7 +917,7 @@ partitions:
 				allocReleases = append(allocReleases, &si.AllocationRelease{
 					PartitionName: "default",
 					ApplicationID: appID1,
-					AllocationID:  alloc.AllocationID,
+					AllocationKey: alloc.AllocationKey,
 					Message:       "",
 				})
 			}
@@ -1411,7 +1411,7 @@ func TestDupReleasesInGangScheduling(t *testing.T) {
 				{
 					PartitionName:   "default",
 					ApplicationID:   appID1,
-					AllocationID:    placeholderAlloc.GetAllocationID(),
+					AllocationKey:   placeholderAlloc.GetAllocationKey(),
 					TerminationType: si.TerminationType_PLACEHOLDER_REPLACED,
 				},
 			},
@@ -1440,7 +1440,7 @@ func TestDupReleasesInGangScheduling(t *testing.T) {
 				{
 					PartitionName:   "default",
 					ApplicationID:   appID1,
-					AllocationID:    placeholderAlloc.GetAllocationID(),
+					AllocationKey:   placeholderAlloc.GetAllocationKey(),
 					TerminationType: si.TerminationType_PLACEHOLDER_REPLACED,
 				},
 			},
@@ -1605,7 +1605,7 @@ partitions:
 	// Release all allocations
 	for _, v := range ms.mockRM.getAllocations() {
 		updateRequest.Releases.AllocationsToRelease = append(updateRequest.Releases.AllocationsToRelease, &si.AllocationRelease{
-			AllocationID:  v.AllocationID,
+			AllocationKey: v.AllocationKey,
 			ApplicationID: v.ApplicationID,
 			PartitionName: v.PartitionName,
 		})
diff --git a/pkg/scheduler/utilities_test.go b/pkg/scheduler/utilities_test.go
index 5736c524..c9fade0a 100644
--- a/pkg/scheduler/utilities_test.go
+++ b/pkg/scheduler/utilities_test.go
@@ -47,9 +47,9 @@ const (
 	taskGroup       = "tg-1"
 	phID            = "ph-1"
 	phID2           = "ph-2"
-	allocID         = "alloc-1"
-	allocID2        = "alloc-2"
-	allocID3        = "alloc-3"
+	allocKey        = "alloc-1"
+	allocKey2       = "alloc-2"
+	allocKey3       = "alloc-3"
 	maxresources    = "maxresources"
 	maxapplications = "maxapplications"
 )
diff --git a/pkg/webservice/dao/allocation_info.go b/pkg/webservice/dao/allocation_info.go
index 90925bd1..8c9ea2ff 100644
--- a/pkg/webservice/dao/allocation_info.go
+++ b/pkg/webservice/dao/allocation_info.go
@@ -24,8 +24,6 @@ type AllocationDAOInfo struct {
 	RequestTime      int64             `json:"requestTime,omitempty"`     // Allocation ask's createTime if PlaceholderUsed is false, otherwise equivalent to placeholder allocation's createTime
 	AllocationTime   int64             `json:"allocationTime,omitempty"`  // Allocation's createTime
 	AllocationDelay  int64             `json:"allocationDelay,omitempty"` // Difference between AllocationTime and RequestTime
-	UUID             string            `json:"uuid,omitempty"`            // Deprecated. Need to remove this in next major release
-	AllocationID     string            `json:"allocationID,omitempty"`    // Added to replace UUID.
 	ResourcePerAlloc map[string]int64  `json:"resource,omitempty"`
 	Priority         string            `json:"priority,omitempty"`
 	NodeID           string            `json:"nodeId,omitempty"`
diff --git a/pkg/webservice/handlers.go b/pkg/webservice/handlers.go
index cab7fb77..73c76019 100644
--- a/pkg/webservice/handlers.go
+++ b/pkg/webservice/handlers.go
@@ -219,8 +219,6 @@ func getAllocationDAO(alloc *objects.Allocation) *dao.AllocationDAOInfo {
 		RequestTime:      requestTime,
 		AllocationTime:   allocTime,
 		AllocationDelay:  allocTime - requestTime,
-		UUID:             alloc.GetAllocationID(),
-		AllocationID:     alloc.GetAllocationID(),
 		ResourcePerAlloc: alloc.GetAllocatedResource().DAOMap(),
 		PlaceholderUsed:  alloc.IsPlaceholderUsed(),
 		Placeholder:      alloc.IsPlaceholder(),
diff --git a/pkg/webservice/handlers_test.go b/pkg/webservice/handlers_test.go
index 6c908e85..bb6e38df 100644
--- a/pkg/webservice/handlers_test.go
+++ b/pkg/webservice/handlers_test.go
@@ -1302,15 +1302,11 @@ func TestGetPartitionNodes(t *testing.T) {
 		if node.NodeID == node1ID {
 			assert.Equal(t, node.NodeID, node1ID)
 			assert.Equal(t, "alloc-1", node.Allocations[0].AllocationKey)
-			assert.Equal(t, "alloc-1", node.Allocations[0].UUID)
-			assert.Equal(t, "alloc-1", node.Allocations[0].AllocationID)
 			assert.DeepEqual(t, attributesOfnode1, node.Attributes)
 			assert.DeepEqual(t, map[string]int64{"memory": 50, "vcore": 30}, node.Utilized)
 		} else {
 			assert.Equal(t, node.NodeID, node2ID)
 			assert.Equal(t, "alloc-2", node.Allocations[0].AllocationKey)
-			assert.Equal(t, "alloc-2", node.Allocations[0].UUID)
-			assert.Equal(t, "alloc-2", node.Allocations[0].AllocationID)
 			assert.DeepEqual(t, attributesOfnode2, node.Attributes)
 			assert.DeepEqual(t, map[string]int64{"memory": 30, "vcore": 50}, node.Utilized)
 		}


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org