Test Recovery fails with an error "SRA command 'testFailoverStart' failed. Internal system error: Cannot invoke "String.length()" because "lunIdList" is null"
search cancel

Test Recovery fails with an error "SRA command 'testFailoverStart' failed. Internal system error: Cannot invoke "String.length()" because "lunIdList" is null"

book

Article ID: 426060

calendar_today

Updated On:

Products

VMware Live Recovery

Issue/Introduction

Symptoms: 

  • During Test Recovery execution in Site Recovery Manager (SRM), the recovery plan fails with the following error:
            Failed to create snapshots of replica devices. SRA command 'testFailoverStart' failed. Internal system error: Cannot invoke "String.length()" because "lunIdList" is null
             
  •  The failure is observed consistently across all recovery plans.

 

Validation Steps : 

  • The issue started immediately after upgrading the SRA from version 2.4 to 2.6.4.

  • SRA Vendor: Huawei 
  • The problem occurs during Test Recovery workflows only.

  • LUNs are correctly presented and visible from the storage array.

  • SRA rescan and device discovery complete successfully without errors.

  • Compatibility Guide confirms that SRA 2.6.x is supported with SRM 9.0.2.

Environment

VMware Live Site recovery 9.0.2 

Cause

The SRA fails to correctly populate the list of replicated LUN identifiers during the Test Failover workflow. As a result, the internal variable lunIdList is passed as null, causing the SRA command testFailoverStart to fail with a runtime exception.

Cause Validation :

The vmware-dr.log file contains multiple entries indicating SRA command failures during Test Recovery, including:

  • dr.storage.fault.CommandFailed

  • dr.storageProvider.fault.StorageTestFailoverStartFailed

2026-01-20T09:42:18.590+03:00 trivia vmware-dr[01622] [SRM@6876 sub=R########] Received updates for connection version '6':
--> (vmodl.query.PropertyCollector.UpdateSet) {
-->    version = "51",
-->    filterSet = (vmodl.query.PropertyCollector.FilterUpdate) [
-->       (vmodl.query.PropertyCollector.FilterUpdate) {
-->          filter = 'vmodl.query.PropertyCollector.Filter:#########nId[5#######
-->          objectSet = (vmodl.query.PropertyCollector.ObjectUpdate) [
-->             (vmodl.query.PropertyCollector.ObjectUpdate) {
-->                kind = "enter",
-->                obj = 'vim.Task:######:dr.recovery.RecoveryHistoryManager.SyncResult268',
-->               
-->                   },
-->                      val = (dr.recovery.RecoveryHistoryManager.CompressedResult) {
-->                         historyKey = ####
-->                         runKey = ####
-->                         },
-->                         planName = "#####",
-->                         planDescription = "",
-->                         planUserAuthority = "#######
-->                         planCancelAuthority = <unset>,
-->                         errorCount = 3,
-->                         numXmlLines = 363,
-->                         poweredOffVms = 0,
-->                         warnings = <unset>,
-->                         errors = (vmodl.MethodFault) [
-->                            (dr.storageProvider.fault.StorageTestFailoverStartFailed) {
-->                               faultCause = (dr.storage.fault.CommandFailed) {
-->                                  faultCause = (dr.storage.fault.LocalizableAdapterFault) {
-->                                     faultCause = (vmodl.MethodFault) null,
-->                                     faultMessage = <unset>,
-->                                     code = "###########
-->                                     arg = (vim.KeyValue) [
-->                                        (vim.KeyValue) {
-->                                           key = "P1",
-->                                           value = "Cannot invoke "String.length()" because "lunIdList" is null"
-->                                        }
-->                                     ]
-->                                     msg = "Internal system error: Cannot invoke "String.length()" because "lunIdList" is null.
--> Please contact the administrator."
-->                                  },
-->                                  faultMessage = <unset>,
-->                                  commandName = "testFailoverStart"
-->                                  msg = "SRA command 'testFailoverStart' failed. Internal system error: Cannot invoke "String.length()" because "lunIdList" is null.
--> Please contact the administrator."

Resolution

Engage the storage vendor to obtain:

  • A fix or patch addressing the SRA defect related to null lunIdList handling.

  • A recommended SRA version that resolves the issue.

The issue must be addressed at the SRA adapter level.