Skip to content

[Pipe] Move OPC UA sink to pipe library - #18464

Open
Caideyipi wants to merge 1 commit into
apache:masterfrom
Caideyipi:cp/move-opc-ua-sink-to-pipe-library
Open

[Pipe] Move OPC UA sink to pipe library#18464
Caideyipi wants to merge 1 commit into
apache:masterfrom
Caideyipi:cp/move-opc-ua-sink-to-pipe-library

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

Description

This PR ports TimechoDB MR !6798 to the latest Apache IoTDB master.

Move OPC UA sink out of the server

  • Move the OPC UA sink implementation and example into the new library-pipe reactor module.
  • Remove OPC UA from the built-in Pipe plugin registry and DataNode dependencies.
  • Build an isolated fat JAR and package Pipe library artifacts in a dedicated distribution ZIP.
  • Register the external OPC UA plugin explicitly in integration tests.

Preserve shared behavior

  • Share tablet-event transfer logic between the OPC DA sink and the external OPC UA sink.
  • Preserve server/client reuse while guarding reference counts against failed customization and repeated close calls.
  • Keep Milo dependency management local to library-pipe.

Apache compatibility

  • Exclude TimechoDB-only initial-fetch and remote-sink features.
  • Exclude private Maven coordinates, signing configuration, and branding.
  • Update binary license information for the packaged Bouncy Castle dependency.

Validation

  • mvn test -pl library-pipe/opc-ua-sink (19 tests)
  • mvn verify -pl library-pipe/opc-ua-sink -DskipTests
  • mvn test -pl iotdb-core/datanode -Dtest=PipeSinkTest,PipeSinkSubtaskManagerTest (23 tests)
  • mvn test-compile -pl integration-test -P with-integration-tests -DskipTests (858 test sources)
  • Fat JAR contents and signature metadata inspected

This PR has:

  • been self-reviewed.
  • added documentation for new or modified features or behaviors.
  • added or updated license information.
  • added unit tests or modified existing tests to cover new code paths.
  • added integration test coverage.
Key changed/added classes (or packages if there are too many classes)
  • library-pipe/opc-ua-sink
  • PipeTabletEventTransferUtils
  • BuiltinPipePlugin
  • IoTDBPipeOPCUAIT
  • distribution/src/assembly/library-pipe.xml

(cherry picked from commit a9007d652e8ceb2a9ea9813e03b18090bcd8d919)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant