apache / apache/cloudstack

copySnapshot between zones fails with: Timeout waiting for response from storage host

未關閉
#13,900 2 則留言 0 個 reaction 已指派 1 人 已被 @harikrishna-patnala 認領 在 GitHub 檢視
component:secondary-storage component:vmware Severity:Major type:bug
主要語言
Java
星號
3.1k
分支
1.4k
平均合併
6 天 19 小時
30 天內合併 PR
32

描述

### Problem
`copySnapshot` between zones fails with:
`Timeout waiting for response from storage host`

The destination SSVM actually finishes the HTTP download (vmdk/nvram/ovf) in seconds.
Files are present on destination secondary storage, but the management server never
marks the copy as successful.

### Versions
4.22.1.0 (also present on current main)
Hypervisor: VMware
Reproduced 5+ times, always ~90s timeout.

### Root cause

`DownloadListener.getAccountIdForDataObject()` handles TEMPLATE and VOLUME only.
For SNAPSHOT it returns null, then:

```java
Long accountId = getAccountIdForDataObject();
Account account = _accountMgr.getAccount(accountId);
```

Copying a **template** between the same zones works.
### Steps to reproduce
1. VMware zone A + zone B, NFS secondary in both
2. Create a volume snapshot, wait until BackedUp
3. `copySnapshot` from zone A to zone B
4. Dest SSVM log: `Download Completion ... status=DOWNLOAD_FINISHED`
5. MS log: timeout after ~90s — UI: Failed to copy snapshot
### Expected
Snapshot Ready on destination image store, `snapshot_zone_ref` updated.
### Actual
Job failed. No `snapshot_store_ref` row on dest store. Orphan files may remain on dest NFS.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。