- MqttTransportHealthChecker.echoRpcRequest: wrap body in try/catch so a
malformed payload or transient publish failure can no longer propagate
back into Paho's IMqttMessageListener dispatcher (matches the existing
CoAP handleRpcNotification pattern).
- Bump monitoring.rest.request_timeout_ms default 5000 -> 8000 so the
out-of-the-box LwM2M RPC default (6000) does not trip the fail-fast
invariant in TransportHealthChecker.initialize().
- Improve the fail-fast IllegalStateException message to name both the
REST_REQUEST_TIMEOUT_MS env var and the per-target YAML key/env var
the operator should reach for.
- HttpTransportHealthChecker: replace the placeholder 1ms inter-poll
delay with POLL_TIMEOUT_MS / 4 so tight-spin on immediate returns
(204, bodyless 200, 408) is bounded; document SHUTDOWN_TIMEOUT_MS
bound vs POLL_TIMEOUT_MS + slack.
- CoapTransportHealthChecker.postRpcResponse: move CoapClient ctor
inside the try block with a null-guarded shutdown() in finally to
prevent socket leaks if a future Californium ctor change does I/O.
- Annotate package-private fields and bridge overrides with
com.google.common.annotations.VisibleForTesting; consolidate the
bridge-rationale comment to a single Javadoc on
TransportHealthChecker.doRpcCheck.
- Extract RpcInfo.RPC_SUFFIX so tests assert against the constant
rather than a duplicated " RPC" literal.
- Replace Thread.sleep(...) in HttpTransportHealthCheckerRpcTest with
Mockito#after(...).never() to make the destroy/disabled-poller
assertions deterministic on slow CI runners.
- Move Lwm2mTransportHealthChecker.READ_RESOURCE_PATH to the field
block.