Skip to content

[MOD-12003] - Serialize and deserialize slot information#7129

Closed
JoanFM wants to merge 109 commits intomasterfrom
joan-asm-slot-serialization
Closed

[MOD-12003] - Serialize and deserialize slot information#7129
JoanFM wants to merge 109 commits intomasterfrom
joan-asm-slot-serialization

Conversation

@JoanFM
Copy link
Collaborator

@JoanFM JoanFM commented Oct 22, 2025

Describe the changes in the pull request

Serialize and deserialize slot information into private internal commands


Note

Adds slot-range (binary and human-readable) serialization and wires coordinator slot ranges from topology into commands/iterators and through FT parsers, with debug parsing tweaks and extensive tests.

  • Slot Ranges Core:
    • Add binary serialize/deserialize helpers and size calc in slot_ranges.{c,h}.
    • Add RedisModuleSlotRangeArray_FromClusterShardsReply to build ranges from CLUSTER SHARDS.
  • Coordinator/Topology:
    • Store per-shard slotRanges in MRClusterShard; clone/free updated in cluster_topology.
    • Parse slot ranges from cluster reply in redis_cluster.c.
  • Command/Iterator Wiring:
    • New helpers MRCommand_AddSlotRangeInfo and _HumanReadable to append _RANGE_SLOTS_BINARY/_RANGE_SLOTS_HR.
    • Iterators attach slot-range info to each shard command in rmr.c.
  • Query Parsing (Aggregate/Hybrid):
    • Support _RANGE_SLOTS_BINARY and _RANGE_SLOTS_HR args; plumb via ParseAggPlanContext/HybridParseContext into AREQ->coordSlotRanges; free on request cleanup.
    • Update structs (aggregate.h, hybrid parse) and compile paths to handle coord slot ranges.
  • Debug/Exec:
    • Adjust DEBUG_PARAMS_COUNT parsing to allow presence/absence of slot-range args; propagate count in exec paths.
  • Tests:
    • Add C++ tests for command slot-range appending/round-trip, slot-range (de)serialization and comparisons, and aggregate compile with slot-range args.

Written by Cursor Bugbot for commit 5509994. This will update automatically on new commits. Configure here.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@JoanFM JoanFM force-pushed the joan-asm-slot-serialization branch from 2b00f50 to c93d884 Compare October 29, 2025 12:45
@JoanFM JoanFM force-pushed the joan-asm-slot-serialization branch from 63cb1ef to c8e2483 Compare October 29, 2025 13:51
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@JoanFM JoanFM requested a review from GuyAv46 October 29, 2025 16:00
cursor[bot]

This comment was marked as outdated.

@JoanFM JoanFM force-pushed the joan-asm-slot-serialization branch from 958e8b0 to 115ce0f Compare October 30, 2025 08:37
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@JoanFM JoanFM marked this pull request as draft November 6, 2025 15:02
@GuyAv46
Copy link
Collaborator

GuyAv46 commented Nov 8, 2025

moved to #7253

@GuyAv46 GuyAv46 closed this Nov 8, 2025
@GuyAv46 GuyAv46 deleted the joan-asm-slot-serialization branch November 8, 2025 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants