A timeout on read can be different from a timeout on write, and a timeout on client side can be different from a timeout on server. so understand the exact meaning is sometimes important.
timeout on client for write:
→ i will only wait for this amount of time for the server’s response. and in that ase I don’t know if the write actually succeeds or not
timeout on server for write:
→ i will only allocate this amount of time for this write task, and if it times out, i will try to cancel it (some databases do this, some don’t) if possible. But the write may still succeed eventually (cancelling an async operation is difficult).