Description:
In version 1.6.3, the Layer 7 Multiplexer (Mux) does not seem to be batching operations correctly when configured with mode: full.
Despite the "full" mode setting, which should aggregate multiple operations into a single request to reduce overhead and improve throughput, the logs indicate that each operation is still being dispatched individually as a single-item batch.
Environment:
Repository: therealaleph/MasterHttpRelayVPN-RUST
Version: 1.6.3
Mode : full
Observed Behavior:
The logs show a consistent batch: 1 ops pattern, even when there is high concurrency. This suggests that the batching logic is either being bypassed or the buffer is flushing prematurely for every single operation.
Log Snippet:
Plaintext
2026-04-26T01:38:55.541875Z INFO batch: 1 ops → AKfycbxp, rtt=6.3120355s
2026-04-26T01:38:55.571687Z INFO batch: 1 ops → AKfycbw8, rtt=6.8808537s
2026-04-26T01:38:57.898685Z INFO batch: 1 ops → AKfycbw4, rtt=2.6011732s
2026-04-26T01:38:58.449425Z INFO batch: 1 ops → AKfycbzd, rtt=7.1758694s
2026-04-26T01:38:58.803319Z INFO batch: 1 ops → AKfycbzd, rtt=2.7483455s
2026-04-26T01:38:59.737390Z INFO batch: 1 ops → AKfycbym, rtt=6.5280243s
2026-04-26T01:39:00.011447Z INFO batch: 1 ops → AKfycbxp, rtt=7.0884253s
2026-04-26T01:39:00.017353Z INFO batch: 1 ops → AKfycbw8, rtt=2.1185466s
Expected Behavior:
Under mode: full, multiple operations (ops) should be combined into a single request (e.g., batch: 5 ops or batch: 10 ops) to minimize the impact of RTT and improve efficiency across the HTTP relay.
Suggested Areas for Review:
Mux Logic: Check the logic in the L7 muxer to ensure the full mode flag is being correctly interpreted.
Buffering/Timer: Investigate if there is a racing condition or a very short timeout that triggers a flush() before the batch can fill up.
Description:
In version 1.6.3, the Layer 7 Multiplexer (Mux) does not seem to be batching operations correctly when configured with mode: full.
Despite the "full" mode setting, which should aggregate multiple operations into a single request to reduce overhead and improve throughput, the logs indicate that each operation is still being dispatched individually as a single-item batch.
Environment:
Repository: therealaleph/MasterHttpRelayVPN-RUST
Version: 1.6.3
Mode : full
Observed Behavior:
The logs show a consistent batch: 1 ops pattern, even when there is high concurrency. This suggests that the batching logic is either being bypassed or the buffer is flushing prematurely for every single operation.
Log Snippet:
Plaintext
2026-04-26T01:38:55.541875Z INFO batch: 1 ops → AKfycbxp, rtt=6.3120355s
2026-04-26T01:38:55.571687Z INFO batch: 1 ops → AKfycbw8, rtt=6.8808537s
2026-04-26T01:38:57.898685Z INFO batch: 1 ops → AKfycbw4, rtt=2.6011732s
2026-04-26T01:38:58.449425Z INFO batch: 1 ops → AKfycbzd, rtt=7.1758694s
2026-04-26T01:38:58.803319Z INFO batch: 1 ops → AKfycbzd, rtt=2.7483455s
2026-04-26T01:38:59.737390Z INFO batch: 1 ops → AKfycbym, rtt=6.5280243s
2026-04-26T01:39:00.011447Z INFO batch: 1 ops → AKfycbxp, rtt=7.0884253s
2026-04-26T01:39:00.017353Z INFO batch: 1 ops → AKfycbw8, rtt=2.1185466s
Expected Behavior:
Under mode: full, multiple operations (ops) should be combined into a single request (e.g., batch: 5 ops or batch: 10 ops) to minimize the impact of RTT and improve efficiency across the HTTP relay.
Suggested Areas for Review:
Mux Logic: Check the logic in the L7 muxer to ensure the full mode flag is being correctly interpreted.
Buffering/Timer: Investigate if there is a racing condition or a very short timeout that triggers a flush() before the batch can fill up.