empiredan commented on code in PR #2249: URL: https://github.com/apache/incubator-pegasus/pull/2249#discussion_r2108087726
########## src/replica/replica_2pc.cpp: ########## @@ -255,6 +260,7 @@ bool replica::need_make_idempotent(const task_spec *spec) const return false; } + // Only atomic write requests need to be made idempotent. return !spec->rpc_request_is_write_idempotent; Review Comment: Good question! The meaning of `rpc_request_is_write_idempotent` being `true` has two layers: 1. The request is a **write** operation. 2. The write operation is **idempotent**, such as a `single put`. Therefore, the key concepts here are "**write**" and "**idempotent**". On the other hand, setting a table’s `atomic_idempotent` attribute to `true` means that all **atomic** write requests (such as `incr`) to this table must be converted into inherently **idempotent** write operations like `single put`. Thus, the key concepts in this case are "**atomic**" and "**idempotent**". -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@pegasus.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pegasus.apache.org For additional commands, e-mail: dev-h...@pegasus.apache.org