Commit Graph

423 Commits

Author SHA1 Message Date
Joseph Doherty
96e395a113 feat(batch43): implement account resolvers and service latency tracking
Implements 37 deferred features from Batch 43:

Group A - Type methods:
- ServiceRespType.String: already existed via ToNatsString extension
- NewMapDest: already existed as MapDest.New factory
- ServiceLatency.merge → ServiceLatencyExtensions.Merge + Sanitize

Group B - Tracing headers (new TracingHeaders static class in AccountTypes.cs):
- newB3Header → TracingHeaders.NewB3Header
- newUberHeader → TracingHeaders.NewUberHeader
- newTraceCtxHeader → TracingHeaders.NewTraceCtxHeader
- shouldSample → TracingHeaders.ShouldSample

Group C - Service export timers (new extension methods in AccountTypes.cs):
- serviceImport.isRespServiceImport → ServiceImportEntryExtensions.IsRespServiceImport
- serviceExport.setResponseThresholdTimer → ServiceExportEntryExtensions.SetResponseThresholdTimer
- serviceExport.clearResponseThresholdTimer → ServiceExportEntryExtensions.ClearResponseThresholdTimer
- serviceExport.checkExpiredResponses → ServiceExportEntryExtensions.CheckExpiredResponses

Group D - Latency & client updates:
- sanitizeLatencyMetric → ServiceLatencyExtensions.SanitizeLatencyMetric
- updateAllClientsServiceExportResponseTime → ServiceExportClientHelpers.UpdateAllClientsServiceExportResponseTime
- ClientConnection.UpdateRrTrackingThreshold (helper for above)

Group E - Account resolvers (NatsServer.AccountResolvers.cs):
- authAccounts → NatsServer.AuthAccounts
- Server.SetAccountResolver + GetAccountResolver
- Server.UpdateAccountClaims + UpdateAccountClaimsWithRefresh
- buildPermissionsFromJwt → NatsServer.BuildPermissionsFromJwt (with JwtPermissions stub types)
- buildInternalNkeyUser → NatsServer.BuildInternalNkeyUser (with JwtUserClaims stub type)
- fetchAccount → NatsServer.FetchAccountFromResolverAsync
- respondToUpdate → NatsServer.RespondToUpdate (with ClaimUpdateResponse/Status/Error types)
- handleListRequest → NatsServer.HandleListRequest
- handleDeleteRequest → NatsServer.HandleDeleteRequest
- getOperatorKeys → NatsServer.GetOperatorKeys
- claimValidate → NatsServer.ClaimValidate
- removeCb → NatsServer.RemoveCb

Group F - Directory resolvers:
- Server.fetch → NatsServer.ServerFetch (stub falls back to direct resolver)
- DirAccResolver.Fetch, NewDirAccResolver, FetchTimeout already in AccountResolver.cs
- NewCacheDirAccResolver, CacheDirAccResolver.Reload already in AccountResolver.cs

Supporting changes:
- Account.cs: expose ExpiredTimeout as internal, add ReadLock/ReadUnlock/WriteLock/WriteUnlock
  helpers plus GetResponseCount/GetResponseEntries for CheckExpiredResponses
- AccountTypes.cs: add using System.Globalization for hex parsing
- NatsServerTypes.cs: add AccountClaims.Name property (JWT name tag)
2026-03-01 08:32:40 -05:00
Joseph Doherty
ecd18cf1a9 chore: re-audit all batch 16-41 features and tests after merge
Reset deferred items to unknown and re-ran Roslyn audit.
Features: 428 promoted to verified, 363 remain deferred.
Tests: 209 promoted to verified, 880 remain deferred.
Overall progress: 82.0% (5694/6942).
2026-03-01 07:56:43 -05:00
Joseph Doherty
552e58cb26 chore: update report timestamp after all batches 16-41 complete 2026-03-01 06:39:17 -05:00
Joseph Doherty
214b145d76 chore(batch35): reconcile porting.db after merge 2026-03-01 02:45:50 -05:00
Joseph Doherty
037fb4bfc8 feat(batch35): merge js-cluster-remaining 2026-03-01 02:45:38 -05:00
Joseph Doherty
6a14aa816b batch35: finalize audits, batch completion, and report 2026-03-01 02:42:45 -05:00
Joseph Doherty
788abc1702 batch35: add and verify raft test waves T2-T4 2026-03-01 02:41:03 -05:00
Joseph Doherty
9e4405c2a1 batch35: add and verify test wave T1 2026-03-01 02:37:07 -05:00
Joseph Doherty
4c3a3fad69 chore(batch25): reconcile porting.db after merge 2026-03-01 02:32:08 -05:00
Joseph Doherty
73d9871be6 feat(batch25): merge gateways 2026-03-01 02:31:54 -05:00
Joseph Doherty
8baa604dce batch35: implement and verify feature group C 2026-03-01 02:30:35 -05:00
Joseph Doherty
c6363745bc feat(batch25): complete gateways implementation and verification 2026-03-01 02:30:25 -05:00
Joseph Doherty
ee1ab96d7c feat(batch25): verify gateway features and tests 2026-03-01 02:28:43 -05:00
Joseph Doherty
015b19b6f6 test(batch25): port cross-module gateway integration tests 2026-03-01 02:26:30 -05:00
Joseph Doherty
35becf549a batch35: implement and verify feature group B 2026-03-01 02:25:57 -05:00
Joseph Doherty
6ddad39b4a test(batch25): port gateway edge, reload, and slow-consumer tests 2026-03-01 02:23:37 -05:00
Joseph Doherty
cf9f40ab0c batch35: implement and verify feature group A 2026-03-01 02:21:30 -05:00
Joseph Doherty
3412ec6d5c test(batch25): port gateway interest and service-import tests 2026-03-01 02:21:23 -05:00
Joseph Doherty
a0763cd248 test(batch25): port gateway connect and tls baseline tests 2026-03-01 02:19:11 -05:00
Joseph Doherty
0d6e040450 batch35: task1 preflight and baseline evidence 2026-03-01 02:13:45 -05:00
Joseph Doherty
e9be0751ec feat(batch25): implement gateway reply map and inbound message pipeline 2026-03-01 02:07:25 -05:00
Joseph Doherty
f0b50c0b4c chore(batch29): reconcile porting.db after merge 2026-03-01 02:03:16 -05:00
Joseph Doherty
59fa600b3c feat(batch25): implement gateway interest and outbound send logic 2026-03-01 02:00:08 -05:00
Joseph Doherty
073ee6b0ee chore(batch29): complete batch tracking and refresh status report 2026-03-01 01:58:00 -05:00
Joseph Doherty
e88f780033 test(batch29): add mapped raft node tests for batching behavior 2026-03-01 01:55:05 -05:00
Joseph Doherty
0fece7f2f3 feat(batch25): implement gateway URL and registry bookkeeping 2026-03-01 01:53:51 -05:00
Joseph Doherty
6ae023d4a7 feat(batch29): implement jetstream batching group-b validation and apply state 2026-03-01 01:51:17 -05:00
Joseph Doherty
1763304e28 feat(batch25): implement gateway handshake and gossip 2026-03-01 01:50:40 -05:00
Joseph Doherty
a83339fe71 feat(batch25): implement gateway bootstrap and solicitation 2026-03-01 01:47:07 -05:00
Joseph Doherty
02d3b610a1 feat(batch29): implement jetstream batching group-a lifecycle/store methods 2026-03-01 01:45:35 -05:00
Joseph Doherty
6cf904cc7d chore(batch29): run preflight and baseline gates 2026-03-01 01:39:31 -05:00
Joseph Doherty
93f34c4782 chore(batch39): reconcile porting.db after merge 2026-03-01 01:35:35 -05:00
Joseph Doherty
58db8adbc7 feat(batch39): merge consumer-dispatch 2026-03-01 01:35:20 -05:00
Joseph Doherty
a99fa837b2 chore(batch24): reconcile porting.db after merge 2026-03-01 01:35:03 -05:00
Joseph Doherty
8dcd582e8d chore(batch24): remove generated build artifacts 2026-03-01 01:32:08 -05:00
Joseph Doherty
3e9ad16033 feat(batch24): complete leaf nodes implementation and verification 2026-03-01 01:31:57 -05:00
Joseph Doherty
6d87a5a147 feat(batch39): complete consumer dispatch batch and verify all mappings 2026-03-01 01:31:48 -05:00
Joseph Doherty
09f73a0d2f task6(batch39): implement shutdown and signal flow paths 2026-03-01 01:30:17 -05:00
Joseph Doherty
c0ec1f3341 task5(batch39): add reply parsing and consumer identity helpers 2026-03-01 01:25:26 -05:00
Joseph Doherty
519ee6ad49 task4(batch39): add delivery and redelivery dispatch behavior 2026-03-01 01:21:16 -05:00
Joseph Doherty
f537612d7c task3(batch39): implement dispatch core and ack-floor processing 2026-03-01 01:16:27 -05:00
Joseph Doherty
ff7e674ec4 chore(batch41): reconcile porting.db after merge 2026-03-01 01:13:50 -05:00
Joseph Doherty
b5d736ce89 feat(batch41): merge mqtt-client-io 2026-03-01 01:13:32 -05:00
Joseph Doherty
0760c550b4 task2(batch39): implement group A waiting/pull dispatch and T1 tests 2026-03-01 01:13:03 -05:00
Joseph Doherty
f2b1928a94 batch41: implement mqtt reader/writer and subject conversion slice 2026-03-01 01:08:31 -05:00
Joseph Doherty
94d339148a chore(batch39): start batch and record baseline gates 2026-03-01 01:01:29 -05:00
Joseph Doherty
af732e6b12 chore(batch38): reconcile porting.db after merge 2026-03-01 00:58:33 -05:00
Joseph Doherty
2aaa38cad9 feat(batch38): merge consumer-lifecycle 2026-03-01 00:57:36 -05:00
Joseph Doherty
988ec0d60c chore(batch40): reconcile porting.db after merge 2026-03-01 00:54:23 -05:00
Joseph Doherty
0ff6e5c952 chore(batch38): complete batch and refresh porting report 2026-03-01 00:54:19 -05:00