Skip to content

[type:refactor] remove tars support#6309

Open
Aias00 wants to merge 12 commits intomasterfrom
codex/remove-tars
Open

[type:refactor] remove tars support#6309
Aias00 wants to merge 12 commits intomasterfrom
codex/remove-tars

Conversation

@Aias00
Copy link
Copy Markdown
Contributor

@Aias00 Aias00 commented Mar 29, 2026

Summary

  • remove Tars modules, starters, examples, and dependency wiring across the project
  • drop Tars enums, registration/response support, SQL seed data, and related release metadata
  • align remaining admin and response tests with the non-Tars upstream types and clean residual docs/comments

Test Plan

  • ./mvnw -pl shenyu-admin -am -DskipITs -DskipNativeTests -Dcheckstyle.skip -Dspotbugs.skip test -Dtest=RpcTypeEnumTest,ShenyuClientRegisterDivideServiceImplTest,ShenyuClientRegisterGrpcServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false
  • ./mvnw -pl shenyu-plugin/shenyu-plugin-response -am -DskipITs -DskipNativeTests -Dcheckstyle.skip -Dspotbugs.skip test -Dtest=ResponsePluginTest -Dsurefire.failIfNoSpecifiedTests=false

Copilot AI review requested due to automatic review settings March 29, 2026 14:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes Apache ShenYu’s Tars protocol support across starters, client, plugin, examples, enums/constants, response/transform wiring, and release metadata; it also updates related tests and DB migration/init scripts to reflect the removal.

Changes:

  • Removed Tars modules (plugin/client/starters/examples) and associated Spring Boot auto-configuration metadata.
  • Removed Tars enum/constants/adapter branches and cleaned up remaining RPC-type handling (response/transform/general-context).
  • Updated DB schemas/migrations and documentation to eliminate Tars references.

Reviewed changes

Copilot reviewed 96 out of 96 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-tars/src/test/java/org/apache/shenyu/springboot/starter/plugin/tars/TarsPluginConfigurationTest.java Removed Tars starter plugin auto-config test.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-tars/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports Removed Tars plugin starter autoconfiguration import.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-tars/src/main/resources/META-INF/spring.provides Removed Tars starter provides metadata.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-tars/src/main/resources/META-INF/spring.factories Removed Tars starter spring.factories entry.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-tars/src/main/java/org/apache/shenyu/springboot/starter/plugin/tars/TarsPluginConfiguration.java Removed Tars plugin starter configuration.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-tars/pom.xml Removed Tars plugin starter module POM.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/pom.xml Dropped tars starter plugin module from aggregator.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-tars/src/test/java/org/apache/shenyu/springboot/starter/client/tars/ShenyuTarsClientConfigurationTest.java Removed Tars client starter test.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-tars/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports Removed Tars client starter autoconfiguration import.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-tars/src/main/resources/META-INF/spring.provides Removed Tars client starter provides metadata.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-tars/src/main/resources/META-INF/spring.factories Removed Tars client starter spring.factories entry.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-tars/src/main/java/org/apache/shenyu/springboot/starter/client/tars/ShenyuTarsClientConfiguration.java Removed Tars client starter configuration.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-tars/pom.xml Removed Tars client starter module POM.
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/pom.xml Dropped tars starter client module from aggregator.
shenyu-register-center/shenyu-register-common/src/main/java/org/apache/shenyu/register/common/enums/RegisterTypeEnum.java Removed Tars register type.
shenyu-register-center/shenyu-register-common/src/main/java/org/apache/shenyu/register/common/dto/ApiDocRegisterDTO.java Removed tars from rpcType docstring list.
shenyu-plugin/shenyu-plugin-response/src/test/java/org/apache/shenyu/plugin/response/ResponsePluginTest.java Removed Tars RPC writer mapping and test case.
shenyu-plugin/shenyu-plugin-response/src/main/java/org/apache/shenyu/plugin/response/strategy/RPCMessageWriter.java Removed Tars from supported RPC writer types.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-transform/src/main/java/org/apache/shenyu/plugin/transform/RpcParamTransformPlugin.java Removed Tars from transform plugin RPC skip list.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/test/java/org/apache/shenyu/plugin/tars/util/PrxInfoUtilTest.java Removed Tars plugin unit tests.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/test/java/org/apache/shenyu/plugin/tars/handler/TarsPluginDataHandlerTest.java Removed Tars plugin unit tests.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/test/java/org/apache/shenyu/plugin/tars/handler/TarsMetaDataHandlerTest.java Removed Tars plugin unit tests.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/test/java/org/apache/shenyu/plugin/tars/cache/ApplicationConfigCacheTest.java Removed Tars plugin unit tests.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/test/java/org/apache/shenyu/plugin/tars/TarsPluginTest.java Removed Tars plugin unit tests.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/util/ReturnValueResolver.java Removed Tars plugin runtime code.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/util/PrxInfoUtil.java Removed Tars plugin runtime code.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/proxy/TarsInvokePrxList.java Removed Tars plugin runtime code.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/proxy/TarsInvokePrx.java Removed Tars plugin runtime code.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/handler/TarsPluginDataHandler.java Removed Tars plugin runtime code.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/handler/TarsMetaDataHandler.java Removed Tars plugin runtime code.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/exception/ShenyuTarsPluginException.java Removed Tars-specific exception type.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/context/TarsShenyuContextDecorator.java Removed Tars context decorator.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/cache/ApplicationConfigCache.java Removed Tars plugin cache/bytecode proxy logic.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/src/main/java/org/apache/shenyu/plugin/tars/TarsPlugin.java Removed Tars plugin implementation.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-tars/pom.xml Removed Tars plugin module POM.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-general-context/src/main/java/org/apache/shenyu/plugin/general/context/GeneralContextPlugin.java Removed Tars from general context supported RPC types.
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/pom.xml Dropped shenyu-plugin-tars from RPC plugin aggregator.
shenyu-plugin/shenyu-plugin-api/src/main/java/org/apache/shenyu/plugin/api/result/ShenyuResultEnum.java Removed Tars-specific result enums/messages.
shenyu-kubernetes-controller/src/main/java/org/apache/shenyu/k8s/common/IngressConstants.java Cleaned up comments that still referenced Tars.
shenyu-integrated-test/pom.xml Removed Tars client version property.
shenyu-examples/shenyu-examples-tars/src/main/resources/test.tars Removed Tars example IDL.
shenyu-examples/shenyu-examples-tars/src/main/resources/application.yml Removed Tars example config.
shenyu-examples/shenyu-examples-tars/src/main/resources/ShenyuExampleServer.ShenyuExampleApp.config.conf Removed Tars example server config.
shenyu-examples/shenyu-examples-tars/src/main/java/org/apache/shenyu/examples/tars/servant/testapp/impl/UserServantImpl.java Removed Tars example implementation.
shenyu-examples/shenyu-examples-tars/src/main/java/org/apache/shenyu/examples/tars/servant/testapp/impl/OrderServantImpl.java Removed Tars example implementation.
shenyu-examples/shenyu-examples-tars/src/main/java/org/apache/shenyu/examples/tars/servant/testapp/impl/HelloServantImpl.java Removed Tars example implementation.
shenyu-examples/shenyu-examples-tars/src/main/java/org/apache/shenyu/examples/tars/servant/testapp/UserServant.java Removed generated Tars example interface.
shenyu-examples/shenyu-examples-tars/src/main/java/org/apache/shenyu/examples/tars/servant/testapp/OrderServant.java Removed generated Tars example interface.
shenyu-examples/shenyu-examples-tars/src/main/java/org/apache/shenyu/examples/tars/servant/testapp/HelloServant.java Removed generated Tars example interface.
shenyu-examples/shenyu-examples-tars/src/main/java/org/apache/shenyu/examples/tars/ShenyuTestTarsApplication.java Removed Tars example application entrypoint.
shenyu-examples/shenyu-examples-tars/src/main/http/tars-test-api.http Removed Tars example HTTP requests.
shenyu-examples/shenyu-examples-tars/pom.xml Removed Tars example module POM.
shenyu-examples/shenyu-examples-tars/README.md Removed Tars example README.
shenyu-examples/pom.xml Dropped shenyu-examples-tars from examples aggregator.
shenyu-e2e/shenyu-e2e-common/src/main/java/org/apache/shenyu/e2e/model/Plugin.java Removed TARS from e2e plugin list enum.
shenyu-dist/shenyu-bootstrap-dist/src/main/release-docs/licenses/LICENSE-tars.txt Removed Tars license file from distribution docs.
shenyu-dist/shenyu-bootstrap-dist/src/main/release-docs/README.txt Removed “Tars” from supported protocols list.
shenyu-dist/shenyu-bootstrap-dist/src/main/release-docs/LICENSE Removed Tars dependencies from bundled license list.
shenyu-dist/shenyu-admin-dist/src/main/release-docs/README.txt Removed “Tars” from supported protocols list.
shenyu-common/src/test/java/org/apache/shenyu/common/enums/RpcTypeEnumTest.java Updated enum tests to reflect Tars removal.
shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/selector/TarsUpstreamTest.java Removed Tars upstream unit test.
shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/plugin/TarsRegisterConfigTest.java Removed Tars config unit test.
shenyu-common/src/main/java/org/apache/shenyu/common/utils/PluginNameAdapter.java Removed RpcType->Plugin mapping for Tars.
shenyu-common/src/main/java/org/apache/shenyu/common/enums/RpcTypeEnum.java Removed TARS enum and support lists entries.
shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginEnum.java Removed TARS plugin enum and upstream name list entry.
shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/TarsUpstream.java Removed Tars upstream DTO.
shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/TarsRegisterConfig.java Removed Tars register config DTO.
shenyu-common/src/main/java/org/apache/shenyu/common/constant/Constants.java Removed Tars “empty result” constant.
shenyu-client/shenyu-client-tars/src/test/java/org/apache/shenyu/client/tars/TarsServiceBeanPostProcessorTest.java Removed Tars client module tests.
shenyu-client/shenyu-client-tars/src/test/java/org/apache/shenyu/client/tars/TarsRpcExtTest.java Removed Tars client module tests.
shenyu-client/shenyu-client-tars/src/main/java/org/apache/shenyu/client/tars/common/dto/TarsRpcExt.java Removed Tars client RPC ext DTO.
shenyu-client/shenyu-client-tars/src/main/java/org/apache/shenyu/client/tars/common/annotation/ShenyuTarsService.java Removed Tars client annotations.
shenyu-client/shenyu-client-tars/src/main/java/org/apache/shenyu/client/tars/common/annotation/ShenyuTarsClient.java Removed Tars client annotations.
shenyu-client/shenyu-client-tars/src/main/java/org/apache/shenyu/client/tars/TarsServiceBeanEventListener.java Removed Tars client registration listener.
shenyu-client/shenyu-client-tars/pom.xml Removed Tars client module POM.
shenyu-client/pom.xml Dropped shenyu-client-tars from client aggregator.
shenyu-bootstrap/pom.xml Removed Tars starter/dependency wiring from bootstrap distribution.
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterTarsServiceImplTest.java Removed admin-side Tars registration tests.
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterGrpcServiceImplTest.java Updated grpc tests to use grpc upstream DTO types (no Tars reuse).
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterDivideServiceImplTest.java Updated divide tests to use divide upstream DTO types (no Tars reuse).
shenyu-admin/src/main/resources/sql-script/h2/schema.sql Updated seed schema to remove Tars plugin data and adjust rpc_type comment.
shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/CommonUpstreamUtils.java Removed helpers that constructed Tars upstream objects.
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterTarsServiceImpl.java Removed admin-side Tars client register service implementation.
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/converter/TarsSelectorHandleConverter.java Removed admin-side Tars selector handle converter.
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/ApiVO.java Removed “tars” from rpcType docstring list.
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/entity/ApiDO.java Removed “tars” from rpcType docstring list.
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/dto/ApiDTO.java Removed “tars” from rpcType docstring list.
pom.xml Removed Tars dependency management entry.
db/upgrade/2.7.0-upgrade-2.7.1-pg.sql Added upgrade steps to delete Tars plugin data during upgrade.
db/upgrade/2.7.0-upgrade-2.7.1-mysql.sql Added upgrade steps to delete Tars plugin data during upgrade.
db/init/oracle/schema.sql Updated rpc_type comment and removed Tars seed records.
db/init/mysql/schema.sql Updated rpc_type comment and removed Tars seed records.
README.md Removed “TARS” from feature list.
Comments suppressed due to low confidence (1)

db/init/mysql/schema.sql:1353

  • In MySQL init seed data, most loggingRabbitMQ (plugin_id=45) plugin_handle rows (host/port/username/password/exchangeName/etc) appear to have been removed, even though the plugin itself is still seeded in the plugin table. This will leave MySQL installs without the handle metadata needed to configure the plugin in the admin UI. Please restore the removed plugin_handle rows for plugin_id=45 (only remove Tars-related rows).
INSERT INTO `plugin_handle` VALUES ('1678997557628272642', '15', 'loadBalance', 'loadBalance', 3, 2, 3, '{\"required\":\"0\",\"defaultValue\":\"random\",\"rule\":\"\"}', '2023-09-05 18:02:53', '2023-09-05 18:02:53');

INSERT INTO `plugin_handle` VALUES ('1678997557628272643', '44', 'defaultHandleJson', 'defaultHandleJson', 2, 3, 2,  '{\"required\":\"0\",\"defaultValue\":\"{\\\"authorization\\\":\\\"test:test123\\\"}\",\"placeholder\":\"\"}', '2022-05-25 18:02:53', '2022-05-25 18:02:53');



INSERT INTO `plugin_handle` VALUES ('1722804548510507009', '33', 'topic', 'topic', 2, 1, 1, '{\"required\":\"0\",\"defaultValue\":\"\",\"placeholder\":\"optional\"}', '2022-05-25 18:02:53', '2022-05-25 18:02:53');
INSERT INTO `plugin_handle` VALUES ('1722804548510507010', '33', 'sampleRate', 'sampleRate', 2, 1, 2, '{\"required\":\"0\",\"defaultValue\":\"\",\"placeholder\":\"optional,0,0.01~1\"}', '2022-05-25 18:02:53', '2022-05-25 18:02:53');

INSERT INTO `plugin_handle` VALUES ('1722804548510507011', '45', 'sampleRate', 'sampleRate', 2, 3, 4, '{\"required\":\"0\",\"defaultValue\":\"1\",\"placeholder\":\"optional,0,0.01~1\"}', '2022-07-04 22:00:00', '2022-07-04 22:00:00');
INSERT INTO `plugin_handle` VALUES ('1722804548510507012', '45', 'sampleRate', 'sampleRate', 2, 1, 2, '{\"required\":\"0\",\"defaultValue\":\"\",\"placeholder\":\"optional,0,0.01~1\"}', '2022-05-25 18:02:53', '2022-05-25 18:02:53');

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 96 out of 96 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +99 to 100
// The configuration key to specify the Motan service name for the plugin, in string
public static final String PLUGIN_MOTAN_SREVICE_NAME = "shenyu.apache.org/plugin-motan-service-name";
Copy link

Copilot AI Mar 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PLUGIN_MOTAN_SREVICE_NAME is misspelled ("SREVICE"). Since this constant is used in MotanIngressParser, consider adding a correctly spelled alias (e.g., PLUGIN_MOTAN_SERVICE_NAME) and migrating internal usages to it while keeping the misspelled constant deprecated for backward compatibility.

Copilot uses AI. Check for mistakes.
@moremind moremind added this to the 2.7.1 milestone Apr 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants