Joseph Doherty
ab71f03b46
Merge branch 'worktree-agent-ad124859'
2026-03-01 09:16:26 -05:00
Joseph Doherty
743a89fecf
feat(batch46): implement monitor endpoints — varz, connz, routez, healthz, etc.
...
Adds NatsServer.Monitor.cs with all monitoring endpoint implementations
(Connz, Routez, Subsz, Gatewayz, Leafz, AccountStatz, Accountz, Varz,
Healthz, Raftz, Expvarz, Profilez, Stacksz, IPQueuesz, Root) and updates
Monitor/MonitorTypes.cs with the full set of monitoring response types.
2026-03-01 09:16:03 -05:00
Joseph Doherty
bad323a803
Merge branch 'worktree-agent-ae787158'
2026-03-01 09:01:43 -05:00
Joseph Doherty
dff3000461
feat(batch44): implement events core dispatch — Groups A-G from events.go
...
Port 46 deferred features from server/events.go covering the internal event
system foundation:
- Group A (EventHelpers.cs): NewPubMsg/pool, RouteStat, GetHash/GetHashSize,
GetAcceptEncoding, RemoteLatencySubjectForResponse, TotalSubs, AccForClient,
IssuerForClient, ClearTimer; CompressionType enum
- Group B (NatsServerTypes.cs): ServerInfo advisory fields (Seq, Time,
Capabilities, Tags, Metadata) + capability methods (SetJetStreamEnabled,
IsJetStreamEnabled, SetBinaryStreamSnapshot, IsBinaryStreamSnapshot,
SetAccountNrg, IsAccountNrg)
- Group C (ClientTypes.cs): ForAssignmentSnap, ForProposal, ForAdvisory on
ClientInfo
- Group D (EventTypes.cs): PubMsg.ReturnToPool; PubMsg.Client typed as
ClientConnection?; InternalState.Client typed as ClientConnection?;
InternalState.Seq changed to long field for Interlocked.Increment
- Group E (ClientConnection.Events.cs): SendInternalMsg delegates to server
- Group F (Account.Events.cs): AccountTrafficStats/Set + Account.Statz()
- Group G (NatsServer.Events.cs): InternalReceiveLoop, InternalSendLoop,
SendShutdownEvent, SendInternalAccountSysMsg, SendInternalMsgLocked,
SendInternalMsg, SendInternalMsgFromClient, SendInternalResponse,
EventsRunning, EventsEnabled, Node, InitEventTracking, FilterRequest,
NoInlineCallback*, SysSubscribe*, SystemSubscribe, SysUnsubscribe,
InboxReply, NewRespInbox, WrapChk; EventFilterOptions, ServerApiResponse,
ApiError types
- Subscription.SysMsgCb field added for system subscription dispatch
2026-03-01 09:01:03 -05:00
Joseph Doherty
be301e2e5a
Merge branch 'worktree-agent-a5ce7551'
2026-03-01 08:43:24 -05:00
Joseph Doherty
4e63820e7a
feat(batch42): implement foundation helpers — msgtrace, monitor helpers, scheduler
...
Group A: Create MsgTrace.cs with TraceCompressionType, MsgTraceState (factory
methods, pipeline event helpers, sendEvent/sendEventFromJetStream, trace header
injection) and MsgTraceHelper (sample, genHeaderMapIfTraceHeadersPresent,
initAndSendIngressErrEvent, isMsgTraceEnabled, msgTraceSupport). Adds Trace field
to PublishArgument and Trace accessor to ParseContext.
Group C: Create MonitorHelpers.cs with GatewayzOptions, Gatewayz, RemoteGatewayz,
AccountGatewayz, ExtImport, ExtServiceLatency types; plus 25 standalone helper
functions (newSubsDetailList, newSubsList, createProxyInfo, makePeerCerts,
decodeBool, decodeUint64, decodeInt, decodeState, decodeSubs, newSubDetail,
newClientSubDetail, myUptime, tlsCertNotAfter, urlsToStrings, getPinnedCertsAsSlice,
getMonitorGWOptions, createOutboundRemoteGatewayz, createOutboundAccountsGatewayz,
createAccountOutboundGatewayz, createInboundAccountsGatewayz,
createInboundAccountGatewayz, ResponseHandler, handleResponse, newExtServiceLatency,
newExtImport).
Group D: Implement GetScheduledMessages in MsgScheduling; add Seq field to InMsg
for out-of-band scheduling sort. Group B (GatewayInterestMode.String) already complete.
2026-03-01 08:42:50 -05:00
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
037fb4bfc8
feat(batch35): merge js-cluster-remaining
2026-03-01 02:45:38 -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
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
35becf549a
batch35: implement and verify feature group B
2026-03-01 02:25:57 -05:00
Joseph Doherty
cf9f40ab0c
batch35: implement and verify feature group A
2026-03-01 02:21:30 -05:00
Joseph Doherty
a0763cd248
test(batch25): port gateway connect and tls baseline tests
2026-03-01 02:19:11 -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
59fa600b3c
feat(batch25): implement gateway interest and outbound send logic
2026-03-01 02:00:08 -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
58db8adbc7
feat(batch39): merge consumer-dispatch
2026-03-01 01:35:20 -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
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
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
2aaa38cad9
feat(batch38): merge consumer-lifecycle
2026-03-01 00:57:36 -05:00
Joseph Doherty
d5ab169bc5
test(batch38-t5): add perf/race/mqtt/benchmark mapped tests
2026-03-01 00:52:56 -05:00
Joseph Doherty
64048c8c51
test(batch38-t4): add engine/account lifecycle integration tests
2026-03-01 00:52:43 -05:00
Joseph Doherty
77004b0dd6
test(batch38-t3): add cluster lifecycle consistency mapped tests
2026-03-01 00:52:32 -05:00
Joseph Doherty
3d526d67a5
test(batch38-t1): add consumer filter/action/pinned mapped tests
2026-03-01 00:51:42 -05:00
Joseph Doherty
df3b44789b
task6: implement batch38 group E state snapshot and wait queue
2026-03-01 00:39:08 -05:00
Joseph Doherty
9fbcafb2a3
task5: implement batch38 group D proposal and ack flow
2026-03-01 00:35:46 -05:00
Joseph Doherty
bb9558e6a9
task4: implement batch38 group C ack and delivery state
2026-03-01 00:30:22 -05:00
Joseph Doherty
9644e4fad6
feat(batch37): merge stream-messages
2026-03-01 00:22:33 -05:00
Joseph Doherty
804bc89246
task3: implement batch38 group B lifecycle and advisories
2026-03-01 00:14:58 -05:00
Joseph Doherty
fce6bd7dca
task2: implement batch38 group A consumer lifecycle features
2026-03-01 00:11:47 -05:00
Joseph Doherty
c466127d09
batch37 task7 port wave T1 mapped tests and verify statuses
2026-03-01 00:08:35 -05:00
Joseph Doherty
797c035b2a
feat(batch34): merge js-cluster-consumers
2026-02-28 23:55:33 -05:00
Joseph Doherty
a9ccb66e35
batch37 task6 implement group E pre-ack snapshot and restore
2026-02-28 23:54:28 -05:00
Joseph Doherty
a805af1bea
batch37 task5 implement group D consumer registry and interest state
2026-02-28 23:47:48 -05:00
Joseph Doherty
6290b17a82
batch37 task4 implement group C message carriers and consumer signaling
2026-02-28 23:45:07 -05:00
Joseph Doherty
07b494544d
batch37 task3 implement group B direct-get and pipeline
2026-02-28 23:42:47 -05:00