Files
natsdotnet/docs/plans/2026-02-23-jetstream-remaining-parity-verification.md
2026-02-23 12:11:19 -05:00

5.0 KiB

JetStream Remaining Parity Verification (2026-02-23)

Targeted Gate

Command:

dotnet test tests/NATS.Server.Tests --filter "FullyQualifiedName~JetStream|FullyQualifiedName~Raft|FullyQualifiedName~Route|FullyQualifiedName~Gateway|FullyQualifiedName~Leaf" -v minimal

Result:

  • Passed: 69
  • Failed: 0
  • Skipped: 0
  • Duration: ~10s

Full Suite Gate

Command:

dotnet test -v minimal

Result:

  • Passed: 768
  • Failed: 0
  • Skipped: 0
  • Duration: ~1m 11s

Focused Scenario Evidence

  • JetStreamApiProtocolIntegrationTests.Js_api_request_over_pub_reply_returns_response_message
  • JetStreamStreamMessageApiTests.Stream_msg_get_delete_and_purge_change_state
  • JetStreamDirectGetApiTests.Direct_get_returns_message_without_stream_info_wrapper
  • JetStreamSnapshotRestoreApiTests.Snapshot_then_restore_reconstructs_messages
  • JetStreamConsumerNextApiTests.Consumer_msg_next_respects_batch_request
  • JetStreamPushConsumerContractTests.Ack_all_advances_floor_and_clears_pending_before_sequence
  • RaftSafetyContractTests.Follower_rejects_stale_term_vote_and_append
  • JetStreamClusterControlApiTests.Stream_leader_stepdown_and_meta_stepdown_endpoints_return_success_shape
  • JetStreamAccountControlApiTests.Account_and_server_control_subjects_are_routable
  • JetStreamClusterControlExtendedApiTests.Peer_remove_and_consumer_stepdown_subjects_return_success_shape
  • RouteWireSubscriptionProtocolTests.RSplus_RSminus_frames_propagate_remote_interest_over_socket
  • RouteRmsgForwardingTests.Publish_on_serverA_reaches_remote_subscriber_on_serverB_via_RMSG
  • RoutePoolTests.Route_manager_establishes_default_pool_of_three_links_per_peer
  • GatewayProtocolTests.Gateway_link_establishes_and_forwards_interested_message
  • LeafProtocolTests.Leaf_link_propagates_subscription_and_message_flow
  • JetStreamStreamPolicyRuntimeTests.Discard_new_rejects_publish_when_max_bytes_exceeded
  • JetStreamStorageSelectionTests.Stream_with_storage_file_uses_filestore_backend
  • JetStreamConsumerSemanticsTests.Consumer_with_filter_subjects_only_receives_matching_messages
  • JetStreamFlowReplayBackoffTests.Replay_original_respects_message_timestamps_with_backoff_redelivery
  • JetStreamMirrorSourceAdvancedTests.Stream_with_multiple_sources_aggregates_messages_in_order
  • RaftTransportPersistenceTests.Raft_node_recovers_log_and_term_after_restart
  • MonitorClusterEndpointTests.Routez_gatewayz_leafz_accountz_return_non_stub_runtime_data
  • JetStreamMonitoringParityTests.Jsz_and_varz_include_expanded_runtime_fields
  • JetStreamIntegrationMatrixTests.Integration_matrix_executes_real_server_scenarios

Post-Baseline Gate (2026-02-23)

Command:

dotnet test tests/NATS.Server.Tests --filter "FullyQualifiedName~JetStream|FullyQualifiedName~Raft|FullyQualifiedName~Route|FullyQualifiedName~Gateway|FullyQualifiedName~Leaf|FullyQualifiedName~Account" -v minimal

Result:

  • Passed: 130
  • Failed: 0
  • Skipped: 0
  • Duration: ~15s

Command:

dotnet test -v minimal

Result:

  • Passed: 786
  • Failed: 0
  • Skipped: 0
  • Duration: ~1m 36s

Focused post-baseline evidence:

  • InterServerAccountProtocolTests.Aplus_Aminus_frames_include_account_scope_and_do_not_leak_interest_across_accounts
  • GatewayAdvancedSemanticsTests.Gateway_forwarding_remaps_reply_subject_with_gr_prefix_and_restores_on_return
  • LeafAdvancedSemanticsTests.Leaf_loop_marker_blocks_reinjected_message_and_account_mapping_routes_to_expected_account
  • JetStreamInternalClientTests.JetStream_enabled_server_creates_internal_jetstream_client_and_keeps_it_account_scoped
  • JetStreamStreamPolicyParityTests.Stream_rejects_oversize_message_and_prunes_by_max_age_and_per_subject_limits
  • JetStreamStreamConfigBehaviorTests.Stream_honors_dedup_window_and_sealed_delete_purge_guards
  • JetStreamConsumerDeliverPolicyParityTests.Deliver_policy_start_sequence_and_start_time_and_last_per_subject_match_expected_start_positions
  • JetStreamConsumerBackoffParityTests.Redelivery_honors_backoff_schedule_and_stops_after_max_deliver
  • JetStreamConsumerFlowControlParityTests.Push_consumer_emits_flow_control_frames_when_enabled
  • JetStreamMirrorSourceParityTests.Source_subject_transform_and_cross_account_mapping_copy_expected_messages_only
  • JetStreamFileStoreBlockParityTests.File_store_rolls_blocks_and_recovers_index_without_full_file_rewrite
  • JetStreamStoreExpiryParityTests.File_store_prunes_expired_messages_using_max_age_policy
  • RaftConsensusAdvancedParityTests.Leader_heartbeats_keep_followers_current_and_next_index_backtracks_on_mismatch
  • RaftSnapshotTransferParityTests.Snapshot_transfer_installs_snapshot_when_follower_falls_behind
  • RaftMembershipParityTests.Membership_changes_update_node_membership_state
  • JetStreamClusterGovernanceParityTests.Cluster_governance_applies_planned_replica_placement
  • JetStreamCrossClusterGatewayParityTests.Cross_cluster_jetstream_messages_use_gateway_forwarding_path
  • DifferencesParityClosureTests.Differences_md_has_no_remaining_jetstream_baseline_or_n_rows