Skip to content

Conversation

@epoberezkin
Copy link
Member

@epoberezkin epoberezkin commented Nov 7, 2025

Agent:

Agent tests:

  • test that counts and hashes match, and new events are received.
  • test migration of client to and from services, and that delivery works for all queues.
  • possibly, test additional certificate signature

SMP server

  • maintain hashes in STM in-memory storage for NTF and RCV services
  • remove option to accept service credentials, always allow them by default
  • stats for service subscriptions and count/hash differences
  • remove delivery threads when service is unsubscribed/client disconnected (CSADecreaseSubs)
  • possibly, include service subscriptions in control port commands?
  • finalize subscriptions to message services - compare counts and hashes; deliver subscription errors
  • possibly, maintain IDs hash in session states
  • correctly handle when old clients do not provide IDs hash in requests
  • possibly, remove "proxyServer" flag from SMP transport handshake

NTF service improvements:

  • validate that subscription counts and hashes match in NTF server, log warnings otherwise
  • stats for service subscriptions and count/hash differences in NTF server
  • resubscribe queues after errors (NSErr and NSService)

Questions:

  • allow individual subscriptions within service session to handle errors?

* smp server: refactor message delivery to always respond SOK to subscriptions

* refactor ntf subscribe

* cancel subscription thread and reduce service subscription count when queue is deleted

* subscribe rcv service, deliver sent messages to subscribed service

* subscribe rcv service to messages (TODO delivery on subscription)

* WIP

* efficient initial delivery of messages to subscribed service

* test: delivery to client with service certificate

* test: upgrade/downgrade to/from service subscriptions

* remove service association from agent API, add per-user flag to use the service

* agent client (WIP)

* service certificates in the client

* rfc about drift detection, and SALL to mark end of message delivery

* fix test

* fix test

* add function for postgresql message storage

* update migration
…1668)

* servers: maintain xor-hash of all associated queue IDs in PostgreSQL (#1615)

* ntf server: maintain xor-hash of all associated queue IDs via PostgreSQL triggers

* smp server: xor hash with triggers

* fix sql and using pgcrypto extension in tests

* track counts and hashes in smp/ntf servers via triggers, smp server stats for service subscription, update SMP protocol to pass expected count and hash in SSUB/NSSUB commands

* agent migrations with functions/triggers

* remove agent triggers

* try tracking service subs in the agent (WIP, does not compile)

* Revert "try tracking service subs in the agent (WIP, does not compile)"

This reverts commit 59e9081.

* comment

* agent database triggers

* service subscriptions in the client

* test / fix client services

* update schema

* fix postgres migration

* update schema

* move schema test to the end

* use static function with SQLite to avoid dynamic wrapper
* agent: use server keyhash when loading service record

* agent: process queue/service associations with delayed subscription results

* agent: service subscription events
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant