[OpenNMS/opennms] 52d2c1: NMS-20006: bound local RPC execution with a watchd...
Marshall Massengill via opennms-cvs <[email protected]>
| Newsgroups | gmane.network.opennms.cvs |
|---|---|
| Message-ID | <OpenNMS/opennms/push/refs/heads/mm/NMS-20006-smoke/[email protected]> |
Branch: refs/heads/mm/NMS-20006-smoke
Home: https://github.com/OpenNMS/opennms
Commit: 52d2c1fe0986d62729acdae3d6cdebee409ac86b
https://github.com/OpenNMS/opennms/commit/52d2c1fe0986d62729acdae3d6cdebee409ac86b
Author: Marshall Massengill <[email protected]>
Date: 2026-07-20 (Mon, 20 Jul 2026)
Changed paths:
M core/ipc/grpc/server/src/main/java/org/opennms/core/ipc/grpc/server/OpennmsGrpcServer.java
M core/ipc/rpc/api/pom.xml
A core/ipc/rpc/api/src/main/java/org/opennms/core/rpc/api/LocalExecutionWatchdog.java
M core/ipc/rpc/api/src/main/java/org/opennms/core/rpc/api/RpcExceptionUtils.java
A core/ipc/rpc/api/src/test/java/org/opennms/core/rpc/api/LocalExecutionWatchdogTest.java
A core/ipc/rpc/api/src/test/java/org/opennms/core/rpc/api/RpcExceptionUtilsTest.java
M core/ipc/rpc/camel/src/main/java/org/opennms/core/rpc/camel/CamelRpcClientFactory.java
A core/ipc/rpc/camel/src/test/java/org/opennms/core/rpc/camel/LocalRpcWatchdogTest.java
M core/ipc/rpc/kafka/src/main/java/org/opennms/core/ipc/rpc/kafka/KafkaRpcClientFactory.java
A core/ipc/rpc/kafka/src/test/java/org/opennms/core/ipc/rpc/kafka/KafkaLocalRpcWatchdogTest.java
M core/snmp/proxy-rpc-impl/pom.xml
A core/snmp/proxy-rpc-impl/src/test/java/org/opennms/netmgt/snmp/proxy/common/SnmpRequestTtlResolutionTest.java
M docs/modules/reference/pages/configuration/ttl-rpc.adoc
A features/collection/client-rpc/src/test/java/org/opennms/netmgt/collection/client/rpc/CollectorRequestTtlResolutionTest.java
Log Message:
-----------
NMS-20006: bound local RPC execution with a watchdog decoupled from the TTL
Local (same-location) RPC execution is bounded again so a module future
that never completes cannot wedge its caller (the NMS-19951 goal), but
the bound is no longer the request TTL: it is max(floor, TTL), with the
floor configurable via the org.opennms.core.ipc.rpc.local.watchdog.timeout
system property (default 30 minutes, 0 disables). TTL values resolved
from snmp-config, service parameters, or the collection interval can
loosen the bound but never tighten it, so slow-but-completing local
operations are unaffected by configuration intended for the Minion path.
The watchdog applies uniformly to the Camel, Kafka, and gRPC client
factories' local shortcuts. Expiry fails the caller with
RequestTimedOutException (so collections report CollectionTimedOut
rather than "Unexpected exception"), cancels the module future, and
logs a warning. RpcExceptionUtils now also maps bare
java.util.concurrent.TimeoutException to onTimedOut.
Also adds TTL-resolution regression tests pinning which configured value
lands on the inner SNMP request (snmp-config ttl overrides the service
parameter) and the outer collector request (the ttl service parameter
overrides the interval; snmp-config plays no role at that layer).
To unsubscribe from these emails, change your notification settings at https://github.com/OpenNMS/opennms/settings/notifications
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-cvs mailing list
To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-cvs