hubcio commented on code in PR #4092:
URL: https://github.com/apache/iggy/pull/4092#discussion_r3983321741
##########
core/shard/src/router.rs:
##########
@@ -285,6 +286,15 @@ where
Journal<Entry = Message<PrepareHeader>, Header = PrepareHeader>,
M: RestorableMetadataStm,
{
Review Comment:
added drop counters for full and disconnected completion queues.
##########
core/shard/src/lib.rs:
##########
@@ -7381,6 +7416,24 @@ where
// spreads over every group instead of replaying the same prefix.
rotate_sweep_to_cursor(namespace_scratch,
self.partition_walk_cursor.get());
+ let mut persistence_metrics =
partitions::PersistenceMetrics::default();
Review Comment:
let's measure wide-partition recovery before changing the sweep.
##########
core/server/src/consumer_group.rs:
##########
@@ -169,6 +169,9 @@ where
let mut in_flight = Vec::new();
let mut stale_clears = Vec::new();
for (partition_id, ns, reply) in results {
+ if let Some(PartitionReadReply::Rejected(error)) = reply {
Review Comment:
retry tests pass; rejected joins leave ownership unchanged.
##########
core/server/src/consumer_group.rs:
##########
@@ -117,7 +117,7 @@ async fn gather_in_flight<B, MJ, S, SB>(
stream_id: &WireIdentifier,
Review Comment:
documented recovery rejection and tested retry and ownership.
##########
core/partitions/src/state_transfer.rs:
##########
@@ -56,26 +60,9 @@ use std::path::{Path, PathBuf};
use std::rc::Rc;
use std::sync::atomic::Ordering;
-/// Framing marker for the consumer-offsets wire artifact, "ICO2". Bumped with
-/// the version when the dedup section was appended, so the magic alone tells
-/// the two layouts apart.
-pub(crate) const CONSUMER_OFFSETS_MAGIC: [u8; 4] = *b"ICO2";
-
-/// Version byte following the magic.
-///
-/// Any layout change bumps this, INCLUDING appended fields: the decoder
-/// deliberately fails closed on unknown versions and on trailing bytes,
-/// because a v2 field can change the meaning of fields v1 already read.
-pub(crate) const CONSUMER_OFFSETS_VERSION: u8 = 2;
-
-/// The previous framing, "ICO1" at version 1: the same layout without the
-/// dedup section. Still decoded so a rolling upgrade works in both orders --
-/// an upgraded replica rejoining behind the repair floor of an un-upgraded
-/// primary installs its artifact with an empty slice (dedup for that window
-/// degrades to at-least-once, exactly the pre-dedup behaviour) instead of
-/// refusing it and re-pulling forever.
-pub(crate) const CONSUMER_OFFSETS_MAGIC_V1: [u8; 4] = *b"ICO1";
-const CONSUMER_OFFSETS_VERSION_V1: u8 = 1;
+/// Current state-transfer offsets format, including the prepare-chain anchor.
+pub(crate) const CONSUMER_OFFSETS_MAGIC: [u8; 4] = *b"ICO1";
Review Comment:
keeping ico1; this format hasn't shipped yet.
--
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]