[OpenNMS/opennms] 9b9dd9: 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: 9b9dd9acbcbe023b9e902add1669654318220dc1
      https://github.com/OpenNMS/opennms/commit/9b9dd9acbcbe023b9e902add1669654318220dc1
  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 docs/modules/reference/pages/configuration/ttl-rpc.adoc

  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.



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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.