apache / apache/cloudstack

change types of configuration items

未關閉
#13,887 0 則留言 0 個 reaction 已指派 1 人 已被 @DaanHoogland 認領 在 GitHub 檢視
type:technical-debt
主要語言
Java
星號
3.1k
分支
1.4k
平均合併
7 天 14 小時
30 天內合併 PR
31

描述

Some older Config-enum-derived entries where the ConfigKey type is String even though every call site immediately parses it as a number, e.g. BaremetalIpmiRetryTimes (declared ConfigKey, parsed via Integer.parseInt(...) everywhere it's read). That's latent type-modeling debt worth its own cleanup pass across the codebase, not just the handful of call sites this migration touched.
Change those ConfigKey items

some occurances in claude’s words:

> Genuine type mismatches — the ConfigKey's declared type doesn't match how the value is actually used, so a bare .value() swap either won't compile or silently changes behavior:
> - StorageManagerImpl.java — 4 sites (VmDiskThrottlingBytesReadRate, VmDiskThrottlingBytesWriteRate, VmDiskThrottlingIopsReadRate, VmDiskThrottlingIopsWriteRate): each is ConfigKey but read into a Long local via Long.parseLong(…).
> - VmwareManagerImpl.java — VmwareVcenterSessionTimeout: ConfigKey but stored into an int field (_vCenterSessionTimeout), multiplied by 1000.
> - NetscalerElement.java — NCCCmdTimeOut: ConfigKey but currently forced through NumbersUtil.parseInt(...) then Long.toString(...) — an existing silent-truncation bug that .value() would actually fix, but that's a behavior change needing sign-off, not a silent slip-in.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

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

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