feat: complete jetstream deep operational parity closure

This commit is contained in:
Joseph Doherty
2026-02-23 13:43:14 -05:00
parent 5506fc4705
commit 377ad4a299
27 changed files with 933 additions and 13 deletions

View File

@@ -67,3 +67,23 @@
| RAFT runtime parity closure | ported | `RaftConsensusRuntimeParityTests.*`, `RaftSnapshotTransferRuntimeParityTests.*`, `RaftMembershipRuntimeParityTests.*` |
| JetStream cluster governance + cross-cluster runtime closure | ported | `JetStreamClusterGovernanceRuntimeParityTests.*`, `JetStreamCrossClusterRuntimeParityTests.*` |
| MQTT listener/connection/parser baseline parity | ported | `MqttListenerParityTests.*`, `MqttPublishSubscribeParityTests.*` |
## JetStream Truth Matrix
| Feature | Differences Row | Evidence Status | Test Evidence |
|---|---|---|---|
| Internal JetStream client lifecycle | JETSTREAM (internal) | verified | `JetStreamInternalClientTests.*`, `JetStreamInternalClientRuntimeTests.*` |
| Stream retention semantics (`Limits`/`Interest`/`WorkQueue`) | Retention (Limits/Interest/WorkQueue) | verified | `JetStreamRetentionPolicyTests.*`, `JetStreamRetentionRuntimeParityTests.*` |
| Stream runtime policy and dedupe window | Duplicates dedup window | verified | `JetStreamStreamPolicyParityTests.*`, `JetStreamDedupeWindowParityTests.*` |
| Consumer deliver policy cursor semantics | DeliverPolicy (All/Last/New/StartSeq/StartTime) | verified | `JetStreamConsumerDeliverPolicyParityTests.*`, `JetStreamConsumerDeliverPolicyLongRunTests.*` |
| Ack/redelivery/backoff state-machine semantics | AckPolicy.All | verified | `JetStreamConsumerBackoffParityTests.*`, `JetStreamAckRedeliveryStateMachineTests.*` |
| Flow control, rate limiting, and replay timing | Flow control | verified | `JetStreamConsumerFlowControlParityTests.*`, `JetStreamFlowControlReplayTimingTests.*` |
| Replay timing parity under burst load | Replay policy | verified | `JetStreamFlowReplayBackoffTests.*`, `JetStreamFlowControlReplayTimingTests.*` |
| FileStore durable block/index semantics | Block-based layout (64 MB blocks) | verified | `JetStreamFileStoreBlockParityTests.*`, `JetStreamFileStoreDurabilityParityTests.*` |
| FileStore encryption/compression contracts | AES-GCM / ChaCha20 encryption | verified | `JetStreamFileStoreCryptoCompressionTests.*`, `JetStreamFileStoreCompressionEncryptionParityTests.*` |
| RAFT append/commit quorum safety | Log append + quorum | verified | `RaftConsensusAdvancedParityTests.*`, `RaftAppendCommitParityTests.*` |
| RAFT next-index/snapshot/membership convergence | Log mismatch resolution (NextIndex) | verified | `RaftSnapshotTransferParityTests.*`, `RaftOperationalConvergenceParityTests.*` |
| RAFT snapshot transfer behavior | Snapshot network transfer | verified | `RaftSnapshotTransferParityTests.*`, `RaftOperationalConvergenceParityTests.*` |
| RAFT membership changes | Membership changes | verified | `RaftMembershipParityTests.*`, `RaftOperationalConvergenceParityTests.*` |
| JetStream meta/replica governance behavior | Meta-group governance | verified | `JetStreamClusterGovernanceParityTests.*`, `JetStreamClusterGovernanceBehaviorParityTests.*` |
| Cross-cluster JetStream runtime behavior | Cross-cluster JetStream (gateways) | verified | `JetStreamCrossClusterGatewayParityTests.*`, `JetStreamCrossClusterBehaviorParityTests.*` |

View File

@@ -133,3 +133,48 @@ Result:
- Failed: `0`
- Skipped: `0`
- Duration: `~1m 15s`
## Deep Operational Parity Gate (2026-02-23)
Command:
```bash
dotnet test tests/NATS.Server.Tests --filter "FullyQualifiedName~JetStream|FullyQualifiedName~Raft|FullyQualifiedName~Gateway|FullyQualifiedName~Leaf|FullyQualifiedName~Route|FullyQualifiedName~DifferencesParityClosureTests|FullyQualifiedName~JetStreamParityTruthMatrixTests" -v minimal
```
Result:
- Passed: `121`
- Failed: `0`
- Skipped: `0`
- Duration: `~15s`
Command:
```bash
dotnet test -v minimal
```
Result:
- Passed: `842`
- Failed: `0`
- Skipped: `0`
- Duration: `~1m 15s`
Focused deep-operational evidence:
- `JetStreamParityTruthMatrixTests.Jetstream_parity_rows_require_behavior_test_and_docs_alignment`
- `JetStreamParityTruthMatrixTests.Jetstream_differences_notes_have_no_contradictions_against_status_table_and_truth_matrix`
- `JetStreamInternalClientRuntimeTests.Internal_jetstream_client_is_created_bound_to_sys_account_and_used_by_jetstream_service_lifecycle`
- `JetStreamRetentionRuntimeParityTests.Workqueue_and_interest_retention_apply_correct_eviction_rules_under_ack_and_interest_changes`
- `JetStreamDedupeWindowParityTests.Dedupe_window_expires_entries_and_allows_republish_after_window_boundary`
- `JetStreamConsumerDeliverPolicyLongRunTests.Deliver_policy_last_per_subject_and_start_time_resolve_consistent_cursor_under_interleaved_subjects`
- `JetStreamAckRedeliveryStateMachineTests.Ack_all_and_backoff_redelivery_follow_monotonic_floor_and_max_deliver_rules`
- `JetStreamFlowControlReplayTimingTests.Push_flow_control_and_rate_limit_frames_follow_expected_timing_order_under_burst_load`
- `JetStreamFileStoreDurabilityParityTests.File_store_recovers_block_index_map_after_restart_without_full_log_scan`
- `JetStreamFileStoreCompressionEncryptionParityTests.Compression_and_encryption_roundtrip_is_versioned_and_detects_wrong_key_corruption`
- `RaftAppendCommitParityTests.Leader_commits_only_after_quorum_and_rejects_conflicting_log_index_term_sequences`
- `RaftOperationalConvergenceParityTests.Lagging_follower_converges_via_next_index_backtrack_then_snapshot_install_under_membership_change`
- `JetStreamClusterGovernanceBehaviorParityTests.Meta_group_and_replica_group_apply_consensus_committed_placement_before_stream_transition`
- `JetStreamCrossClusterBehaviorParityTests.Cross_cluster_jetstream_replication_propagates_committed_stream_state_not_just_forward_counter`