Add SNMPv2c SET sink connector
Added the sink half of SeaTunnel's SNMP connector, mapping pipeline rows to SNMP4J variable bindings and sending SNMPv2c SET requests through the standard Connector-V2 lifecycle.
apache/seatunnel · #12011
Infrastructure connector feature
SeaTunnel pipelines can now send typed SNMPv2c SET operations with configurable retries, validation, credential masking, and at-least-once delivery.
Problem
SeaTunnel could poll SNMP-managed infrastructure but could not write values back. A sink needed strict field and OID validation, support for source-compatible SMI types, bounded retry behavior, safe handling of community credentials, and registration through the real engine path.
Approach
Introduces a configurable SNMP sink, typed row conversion, target and request abstractions, explicit error handling, distribution registration, and bilingual documentation. The implementation preserves the existing source and serialization contract while documenting at-least-once retransmission behavior.
Impact and scope
- Completes bidirectional SNMPv2c integration for operational and infrastructure automation pipelines.
- Supports the SNMP4J types emitted by the existing source, including counters, gauges, object identifiers, and formatted time ticks.
- Protects deployment quality through configuration constraints, credential masking, loopback protocol tests, and an engine-level E2E path.
Validation
- Added focused coverage for configuration, target creation, row conversion, responses, timeouts, retries, source compatibility, and legacy source-state restoration.
- All 38 connector tests passed on Java 8 and Java 11, alongside connector packaging, Spotless, and loopback SNMP communication checks.
- A SeaTunnel reviewer confirmed all six requested follow-ups were addressed and the final build was green; the GitHub-verified merge commit credits Goutam Adwant.