fix(rpc): skip rule-engine notify when async update matches no row
Async RPC persistence now returns a per-write Boolean: an INSERT-on-conflict always persists (true), while an UPDATE-by-id reports false when its WHERE id = ? matched no row (RPC deleted via TTL/manual delete). TbRpcService notifies the rule engine only when the write actually persisted, restoring the findById-null skip the async refactor had dropped.
Also: drop the unused tenantId param from createAsync/updateAsync; make TbRpcService's callback-thread count constructor-injectable (removes test reflection) with a comment on why callback striping exists alongside the queue partitioning; correct the RPC batch_threads yml comment; assert the Boolean contract in JpaRpcDaoTest and add a notification-suppression unit test.
batch_size:"${SQL_RPC_BATCH_SIZE:1000}"# Batch size for persisting RPC inserts/updates
batch_size:"${SQL_RPC_BATCH_SIZE:1000}"# Batch size for persisting RPC inserts/updates
batch_max_delay:"${SQL_RPC_BATCH_MAX_DELAY_MS:50}"# Max timeout for RPC entries queue polling, in milliseconds
batch_max_delay:"${SQL_RPC_BATCH_MAX_DELAY_MS:50}"# Max timeout for RPC entries queue polling, in milliseconds
stats_print_interval_ms:"${SQL_RPC_BATCH_STATS_PRINT_MS:10000}"# Interval in milliseconds for printing RPC persistence statistic
stats_print_interval_ms:"${SQL_RPC_BATCH_STATS_PRINT_MS:10000}"# Interval in milliseconds for printing RPC persistence statistic
batch_threads:"${SQL_RPC_BATCH_THREADS:3}"# batch thread count has to be a prime number like 3 or 5 to gain perfect hash distribution
batch_threads:"${SQL_RPC_BATCH_THREADS:3}"# number of queue partitions for batched RPC persistence; writes for a given RPC always map to the same partition (by rpcId hash) so they persist in submission order
callback_threads:"${SQL_RPC_CALLBACK_THREADS:3}"# striped threads for post-persist rule-engine notifications; each rpcId maps to a single stripe, preserving per-command notification order
callback_threads:"${SQL_RPC_CALLBACK_THREADS:3}"# striped threads for post-persist rule-engine notifications; each rpcId maps to a single stripe, preserving per-command notification order
events:
events:
batch_size:"${SQL_EVENTS_BATCH_SIZE:10000}"# Batch size for persisting latest telemetry updates
batch_size:"${SQL_EVENTS_BATCH_SIZE:10000}"# Batch size for persisting latest telemetry updates