Currently the TTLs of a record are based on expiration following a certain timespan after the last update.
The 1 second granularity of TTLs can lead to a race condition where a record will never expire when undergoing lots of writes. It would be helpful to either have a way to set expiration based on an actual timestamp or an option to mark writes as not resetting the existing TTL value.
On further reflection on your question, you could do this by reading the record ttl and generation first, then update it with the needed bin updates, using the remaining TTL as the record TTL and EXPECT_GEN_EQUAL write policy.
However, what is your use case for updating a record while not refreshing its TTL? For example, if you have only 1 second life left on the record, why would you update the record without refreshing its TTL? Could you kindly share your use case?