krishvishal commented on code in PR #3786:
URL: https://github.com/apache/iggy/pull/3786#discussion_r3706456542
##########
core/shard/src/lib.rs:
##########
@@ -1841,23 +2331,74 @@ where
if partitions.contains(&namespace) {
return ParkOutcome::Deliver(message);
}
+ // Read the committed revision before taking the borrow below: the
frame
+ // is stamped with the incarnation it was addressed to, so a later
drain
+ // can tell it apart from a same-key replacement.
+ let epoch = self
+ .plane
+ .metadata()
+ .mux_stm
+ .streams()
+ .created_revision_for_namespace(namespace);
Review Comment:
Confirmed, and the window is reachable exactly as you describe. I took the
second option for now: recorded as a `TODO(krishna)` in the module docs and
softened the bullet's absolute, since the stamp is re-derived on re-entry
rather than carried. A real fix needs the frame to carry its provenance through
the inbox instead of re-reading committed metadata on arrival, which is more
than this PR should take on. Leaving this thread open rather than resolving it,
since the gap is documented but not closed.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]