AWS ClockBound client for Go (update)
2025-01-27
A week ago I published a short blog about clockbound-client-go. After some testing, turns out there’s an issue in reading the actual time from ClockBound’s shared memory segment; it seems to provide only the elapsed time since boot. However, using the Rust client and the FFI bindings produce the correct results. Either there is a problem in the code that reads the shared memory segment, or the SHM contents are wrong. Or, the contents are actually correct, but the expectation is for the implementing client to figure out the bounded time from the available values.
Either way, this is unusable for me at the moment. Instead of spending time debugging this, I wrote another client, called clockbound-ffi-go, utilizing the provided FFI (meaning, requiring CGO). So far, it works well, as expected. I would have preferred to not use CGO but I need a working version as soon as possible. I’ll come back on this when I have the time.
Related blogs:
- AWS ClockBound client for Go
- This blog post
- Distributed locking on AWS (ClockBound)
- Cluster membership management on AWS
- Static-linked CGO binaries using musl and Zig