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 摘要。