diff --git a/docs/design_docs/milvus_timesync_en.md b/docs/design_docs/milvus_timesync_en.md index 80379ec6c9..7f5831803d 100644 --- a/docs/design_docs/milvus_timesync_en.md +++ b/docs/design_docs/milvus_timesync_en.md @@ -34,7 +34,7 @@ Ideally, `u2` expects `C0` to be empty at `t2`, and could only see `A1` at `t7`; It's easy to achieve this in a `single-node` database. But for a `Distributed System`, such as `Milvus`, it's a little difficult; the following problems need to be solved: 1. If `u1` and `u2` are on different nodes, and their time clock is not synchronized. To give an extreme example, suppose that the time of `u2` is 24 hours later than `u1`, then all the operations of `u1` can't be seen by `u2` until the next day. -2. Network latency. If `u2` starts the `Search on C0` at `t17`, then how can it be guaranteed that all the `events` before `t17` have been processed? If the events of `delete A1 from C0` have been delayed due to the network latency, then it would lead to incorrect state: `u2` would see both `A1` and `A2` at `t17`. +2. Network latency. If `u2` starts the `Search on C0` at `t17`, then how can it be guaranteed that all the `events` before `t17` have been processed? If the events of `delete A1 from C0` have been delayed due to the network latency, then it would lead to an incorrect state: `u2` would see both `A1` and `A2` at `t17`. `Time synchronization system` is used to solve the above problems.