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:
@@ -218,13 +218,16 @@ spec:
|
||||
format: date-time
|
||||
type: string
|
||||
hashRangeEnd:
|
||||
format: int32
|
||||
format: int64
|
||||
type: integer
|
||||
hashRangeStart:
|
||||
description: |-
|
||||
HashRangeStart/HashRangeEnd define the [start, end) murmur2 hash range
|
||||
this shard owns over the 32-bit key space.
|
||||
format: int32
|
||||
this shard owns over the 32-bit key space. Stored as int64 (not uint32)
|
||||
because controller-gen maps Go uint32 to OpenAPI format:int32, whose max
|
||||
(2147483647) is smaller than FullHashRangeEnd (0xFFFFFFFF) and the
|
||||
apiserver rejects the status update.
|
||||
format: int64
|
||||
type: integer
|
||||
id:
|
||||
description: ID is the shard's identifier, used in its topic
|
||||
|
||||
Reference in New Issue
Block a user