fix: queue-operator dropped reconcile namespace and overflowed hash-range status

main.go called Reconcile(ctx, req.Name) without req.Namespace, so the
Get against the namespaced Queue CRD always 404'd and was silently
swallowed as success -- no shard topics or Redis state were ever created.

Separately, ShardStatus.HashRangeStart/End were uint32, but controller-gen
maps that to OpenAPI format:int32, whose max (2147483647) is smaller than
FullHashRangeEnd (0xFFFFFFFF), so the apiserver rejected every status
update with the (misleadingly empty-looking) "must be of type integer with
format int32" error. Widened to int64, regenerated the CRD, and synced the
chart's bundled copy.
This commit is contained in:
riotpiaole
2026-06-22 12:23:23 -07:00
parent 173a4935ab
commit 9fa5420b22
7 changed files with 40 additions and 31 deletions
+1 -1
View File
@@ -72,7 +72,7 @@ func main() {
err = ctrl.NewControllerManagedBy(mgr).
For(&kmsvcv1.Queue{}).
Complete(reconcile.Func(func(ctx context.Context, req reconcile.Request) (reconcile.Result, error) {
if err := reconciler.Reconcile(ctx, req.Name); err != nil {
if err := reconciler.Reconcile(ctx, req.Namespace, req.Name); err != nil {
return reconcile.Result{}, err
}
return reconcile.Result{}, nil