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

Reply via email to