VM operations or storage policy updates fail with "ObjectNotFoundException: No row with the given identifier exists" in VMware Cloud Director
search cancel

VM operations or storage policy updates fail with "ObjectNotFoundException: No row with the given identifier exists" in VMware Cloud Director

book

Article ID: 448602

calendar_today

Updated On:

Products

VMware Cloud Director

Issue/Introduction

When attempting to perform virtual machine (VM) updates (such as modifying hard disk sizes) or editing storage policies within an Organization VDC, the operation fails with an HTTP 500 Internal Server Error.

  • The API responses or Cloud Director logs display a trimmed stack trace similar to the following:

    majorErrorCode="500" minorErrorCode="INTERNAL_SERVER_ERROR"
    message="No row with the given identifier exists: [com.vmware.vcloud.common.model.logicalresource.StorageClassProviderVdcLogicalResourceModel#<ORPHANED_STORAGE_POLICY_ID>]"

  • The /opt/vmware/vcloud-director/logs/vcloud-container-debug.log on the Cloud Director Cells show errors of the form:

org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.vmware.vcloud.common.model.logicalresource.StorageClassProviderVdcLogicalResourceModel#3cec3190-0593-4540-808b-7f72d6b461a2]
    at org.hibernate.impl.SessionFactoryImpl$2.handleEntityNotFound(SessionFactoryImpl.java:409)
    at com.vmware.vcloud.common.model.logicalresource.StorageClassProviderVdcLogicalResourceModel_$$_jvstbc6_91.getStorageClassSettings
    at com.vmware.ssdc.backend.dao.impl.VdcStorageClassSettingsDaoImpl.getPvdcStorageClassSettings(VdcStorageClassSettingsDaoImpl.java:100)

 

Environment

VMware Cloud Director 10.x

Cause

This issue occurs due to a race condition during the storage policy deletion workflow.

  1. When a storage policy is deleted from a Provider VDC, the system runs an initial safety check to confirm it is not actively assigned to any Org VDC.

  2. While the safety check passes, actual removal from the database happens as a background task moments later.

  3. If an administrator or tenant assigns that same storage policy to an Org VDC during this brief microsecond window, a new reference is created right before the background task purges the core policy record.

  4. This leaves behind dangling/orphaned references in the vdc_logical_resource table pointing to a non-existent Provider VDC logical resource ID. Subsequent read operations on the affected Org VDCs then trigger the ObjectNotFoundException.

Resolution

This issue is officially resolved in future release of VMware Cloud Director.

For assistance, contact technical support and note this Knowledge Article ID (448602) in the problem description. For more information, see How to Submit a Support Request.