atharvalade opened a new issue, #2982: URL: https://github.com/apache/iggy/issues/2982
Same root cause as the `CreateUser` issue. The Rust wire format for `UpdatePermissions` always includes `permissions_len:u32_le` on the wire regardless of `has_permissions` (see [update_permissions.rs#L37-L39](https://github.com/apache/iggy/blob/master/core/binary_protocol/src/requests/users/update_permissions.rs#L37-L39) and the decoder at [lines 64-65](https://github.com/apache/iggy/blob/master/core/binary_protocol/src/requests/users/update_permissions.rs#L64-L65)). In the Go SDK (`foreign/go/internal/command/user.go`), the nil-permissions path writes only the flag byte: ``` } else { bytes[position] = 0 // missing permissions_len after this } ``` Note: #2973 partially fixes this function — it adds +1 to the base length to prevent a panic when permissions are nil. But the output is still 4 bytes short of what the server expects. Fix: Change the base length from len(userIdBytes) + 1 to len(userIdBytes) + 1 + 4, and write 4 zero bytes for permissions_len in the else branch. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
