If you only want to send a mutation and immediately commit it, you can send a “Commit-Now” header during mutation.
That would incur only a single HTTP call. @peter is adding that part in the documentation.
lin_read enables linearizable reads. This is not something that we expect our users to care about or understand, it’s meant to be hidden away in the client code. The raw HTTP, OTOH, would enable a contributor to build a client in a new language, hence that section explains what to do with it. Basically, the idea is that every time you get back the lin read map, that needs to be merged back into the txn lin reads map, and the client lin reads map, taking the max value for each entry. And that lin reads map must be passed into the queries. This would allow a replica which might be behind the leader, to catch up to the read index, before it replies back. This is important in a replicated setup, if you wish to see your updates made to leader, which might not have been yet applied to the follower.
You can ignore all that if you don’t have a replicated setup. Something that we’ll a note about in the docs.
We’re doing one more change to simplify the HTTP interaction. @pawan is working on that. Expect that to be out by end of day today.