Conversation
There was a problem hiding this comment.
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 theplugintable. 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.
There was a problem hiding this comment.
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.
| // 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"; |
There was a problem hiding this comment.
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.
…into codex/remove-tars
…into codex/remove-tars
Summary
Test Plan