Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ISSUE#12994]Optimize config operation. #13002

Open
wants to merge 16 commits into
base: develop
Choose a base branch
from

Conversation

KiteSoar
Copy link
Contributor

What is the purpose of the change

its close #12994

Brief changelog

XX

Verifying this change

XXXX

Follow this checklist to help us incorporate your contribution quickly and easily:

  • Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
  • Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
  • Run mvn -B clean package apache-rat:check findbugs:findbugs -Dmaven.test.skip=true to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test to make sure integration-test pass.

Copy link

Thanks for your this PR. 🙏
Please check again for your PR changes whether contains any usage/api/configuration change such as Add new API , Add new configuration, Change default value of configuration.
If so, please add or update documents(markdown type) in docs/next/ for repository nacos-group/nacos-group.github.io


感谢您提交的PR。 🙏
请再次查看您的PR内容,确认是否包含任何使用方式/API/配置参数的变更,如:新增API新增配置参数修改默认配置等操作。
如果是,请确保在提交之前,在仓库nacos-group/nacos-group.github.io中的docs/next/目录下添加或更新文档(markdown格式)。

@wuyfee
Copy link

wuyfee commented Dec 30, 2024

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

@KiteSoar KiteSoar marked this pull request as draft December 31, 2024 01:21
@codecov-commenter
Copy link

codecov-commenter commented Jan 1, 2025

Codecov Report

Attention: Patch coverage is 70.60932% with 82 lines in your changes missing coverage. Please review.

Project coverage is 72.34%. Comparing base (1e889ea) to head (eb7cfcc).

Files with missing lines Patch % Lines
...cos/config/server/controller/ConfigController.java 60.25% 26 Missing and 5 partials ⚠️
...config/server/aspect/CapacityManagementAspect.java 77.14% 11 Missing and 5 partials ⚠️
...a/nacos/config/server/aspect/RequestLogAspect.java 77.08% 7 Missing and 4 partials ⚠️
...nacos/config/server/aspect/ConfigChangeAspect.java 80.39% 6 Missing and 4 partials ⚠️
.../config/server/service/ConfigOperationService.java 25.00% 5 Missing and 1 partial ⚠️
...java/com/alibaba/nacos/api/model/v2/ErrorCode.java 50.00% 4 Missing ⚠️
...a/nacos/config/server/model/ConfigRequestInfo.java 60.00% 4 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##             develop   #13002      +/-   ##
=============================================
+ Coverage      72.27%   72.34%   +0.06%     
- Complexity     10032    10037       +5     
=============================================
  Files           1310     1310              
  Lines          42016    42057      +41     
  Branches        4416     4424       +8     
=============================================
+ Hits           30367    30425      +58     
+ Misses          9555     9531      -24     
- Partials        2094     2101       +7     
Files with missing lines Coverage Δ
...libaba/nacos/config/server/constant/Constants.java 76.92% <ø> (ø)
...onfig/server/controller/v2/ConfigControllerV2.java 79.62% <100.00%> (+0.38%) ⬆️
...ba/nacos/config/server/monitor/MetricsMonitor.java 87.17% <ø> (+11.56%) ⬆️
...fig/server/remote/ConfigPublishRequestHandler.java 87.03% <100.00%> (+0.24%) ⬆️
...nfig/server/remote/ConfigRemoveRequestHandler.java 100.00% <100.00%> (+24.13%) ⬆️
...java/com/alibaba/nacos/api/model/v2/ErrorCode.java 92.15% <50.00%> (-7.85%) ⬇️
...a/nacos/config/server/model/ConfigRequestInfo.java 54.05% <60.00%> (+5.77%) ⬆️
.../config/server/service/ConfigOperationService.java 75.20% <25.00%> (-3.93%) ⬇️
...nacos/config/server/aspect/ConfigChangeAspect.java 73.79% <80.39%> (-10.78%) ⬇️
...a/nacos/config/server/aspect/RequestLogAspect.java 83.58% <77.08%> (+83.58%) ⬆️
... and 2 more

... and 4 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1e889ea...eb7cfcc. Read the comment docs.

@wuyfee
Copy link

wuyfee commented Jan 1, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

@KiteSoar KiteSoar marked this pull request as ready for review January 1, 2025 12:54
@wuyfee
Copy link

wuyfee commented Jan 1, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

@KiteSoar KiteSoar marked this pull request as draft January 2, 2025 23:49
@Dario-s-j
Copy link

Dario-s-j commented Jan 3, 2025 via email

@shiyiyue1102
Copy link
Collaborator

shiyiyue1102 commented Jan 6, 2025

change capacity aspect cutpoint to ConfigOperationService

@Dario-s-j
Copy link

Dario-s-j commented Jan 6, 2025 via email

@KiteSoar KiteSoar marked this pull request as ready for review January 10, 2025 02:34
@wuyfee
Copy link

wuyfee commented Jan 10, 2025

$\color{red}{FAILURE}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
❌ - e2e-java-test (standalone & cluster & standalone_auth): failure
❌ - e2e-go-test (standalone & cluster): failure
✅ - e2e-cpp-test (standalone & cluster): success
❌ - e2e-csharp-test (standalone & cluster): failure
❌ - e2e-nodejs-test (standalone & cluster): failure
❌ - e2e-python-test (standalone & cluster): failure
✅ - clean (standalone & cluster & standalone_auth): success

@wuyfee
Copy link

wuyfee commented Jan 10, 2025

$\color{red}{FAILURE}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
❌ - e2e-java-test (standalone & cluster & standalone_auth): failure
❌ - e2e-go-test (standalone & cluster): failure
✅ - e2e-cpp-test (standalone & cluster): success
❌ - e2e-csharp-test (standalone & cluster): failure
❌ - e2e-nodejs-test (standalone & cluster): failure
❌ - e2e-python-test (standalone & cluster): failure
✅ - clean (standalone & cluster & standalone_auth): success

@KiteSoar KiteSoar marked this pull request as draft January 10, 2025 05:48
@KiteSoar KiteSoar marked this pull request as ready for review January 10, 2025 06:22
@wuyfee
Copy link

wuyfee commented Jan 10, 2025

$\color{red}{FAILURE}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
❌ - e2e-java-test (standalone & cluster & standalone_auth): failure
❌ - e2e-go-test (standalone & cluster): failure
✅ - e2e-cpp-test (standalone & cluster): success
❌ - e2e-csharp-test (standalone & cluster): failure
❌ - e2e-nodejs-test (standalone & cluster): failure
❌ - e2e-python-test (standalone & cluster): failure
✅ - clean (standalone & cluster & standalone_auth): success

/**
* Deletes configuration information based on the IDs list.
*/
public Boolean deleteConfigs(List<Long> ids, String srcIp, String srcUser) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

deleteConfigs should check capacity , or can we split deleteConfigs operation to serval single deleteConfig operation in ConfigController?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

Copy link
Collaborator

Choose a reason for hiding this comment

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

if we have already split batch operations on controllers, method deteConfigs should be removed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

/**
* Batch insert or update configuration information.
*/
public Map<String, Object> batchInsertOrUpdate(List<ConfigAllInfo> configInfoList, String srcUser, String srcIp,
Copy link
Collaborator

Choose a reason for hiding this comment

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

all batch operation invoked ConfigOperationService single operation interface, all aspects works at single config publish & delete interface of ConfigOperationService

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

Copy link
Collaborator

Choose a reason for hiding this comment

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

if we have already split batch operations on controllers, method batchInsertOrUpdate should be removed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@KiteSoar KiteSoar force-pushed the optimize-config-operation branch from 8a6e38c to 2fab31d Compare February 15, 2025 09:55
@wuyfee
Copy link

wuyfee commented Feb 15, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

@wuyfee
Copy link

wuyfee commented Feb 18, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

@wuyfee
Copy link

wuyfee commented Feb 18, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

@KiteSoar KiteSoar force-pushed the optimize-config-operation branch from a48001e to a1b8222 Compare February 18, 2025 13:53
@wuyfee
Copy link

wuyfee commented Feb 18, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

LOGGER.info("[CapacityManagement] Intercepting publishConfig operation for dataId: {}, group: {}, namespaceId: {}",
dataId, group, namespaceId);

if (StringUtils.isBlank(betaIps) && StringUtils.isBlank(tag)) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

add skip check for grayName

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok,but current grayName is set in the publish method, grayName in the aspect before entering the method is all null, unless we set grayName before entering the publish method later.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

LOGGER.info("[CapacityManagement] Intercepting deleteConfig operation for dataId: {}, group: {}, namespaceId: {}", dataId, group,
namespaceId);

ConfigInfo configInfo = configInfoPersistService.findConfigInfo(dataId, group, namespaceId);
Copy link
Collaborator

@shiyiyue1102 shiyiyue1102 Feb 19, 2025

Choose a reason for hiding this comment

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

should check gray delete skip here like publish config?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

gray delete will not use this interface. Instead com.alibaba.nacos.config.server.controller.ConfigController#stopBeta

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok. I just saw the changes of this PR develop-optimize-table #13119.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

// Execute whether to callback based on the sql operation result.
doResult(counterMode, response, group, tenant, result, hasTenant);
return result;
return pjp.proceed();
Copy link
Collaborator

Choose a reason for hiding this comment

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

should rollback capacity when proceed return false?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, in the case of batch import, false may be returned.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@@ -376,34 +381,11 @@ private boolean isOverSize(String group, String tenant, int currentSize, int max
return false;
}

private void doResult(CounterMode counterMode, HttpServletResponse response, String group, String tenant,
Copy link
Collaborator

Choose a reason for hiding this comment

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

result check has been deleted?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

because the aspect was acting on the ConfigController#publishConfig method before, the HttpServletResponse object could be obtained. However, after changing to the configOperationService#publishConfig method, the HttpServletResponse object cannot be obtained.

Copy link

Choose a reason for hiding this comment

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

😀

Copy link
Collaborator

@shiyiyue1102 shiyiyue1102 Feb 20, 2025

Choose a reason for hiding this comment

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

because the aspect was acting on the ConfigController#publishConfig method before, the HttpServletResponse object could be obtained. However, after changing to the configOperationService#publishConfig method, the HttpServletResponse object cannot be obtained.

but we should rollback capacity when returning false or throw exception

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Change to this,capacity can be rolled back when returning false or throwing an exception.

    private Object getResult(ProceedingJoinPoint pjp, String group, String namespaceId, CounterMode counterMode, boolean hasTenant) throws Throwable {
        try {
            // Execute operation actually.
            Boolean result = (Boolean) pjp.proceed();
            if (!result) {
                rollbackUsage(counterMode, group, namespaceId, hasTenant);
            }
            return result;
        } catch (Throwable throwable) {
            LOGGER.warn("[capacityManagement] inner operation throw exception, rollback, group: {}, namespaceId: {}", group,
                    namespaceId, throwable);
            rollbackUsage(counterMode, group, namespaceId, hasTenant);
            throw throwable;
        }
    }

final String configTags = configForm.getConfigTags();
final String requestIpApp = configRequestInfo.getRequestIpApp();
final String scrIp = configRequestInfo.getSrcIp();
final String scrType = configRequestInfo.getSrcType();
Copy link
Collaborator

Choose a reason for hiding this comment

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

config change aspect should distinguish beta, tag ,gray ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think it's okay. It can be like this.

        String grayName = null;
        String grayRuleExp = null;
        if (StringUtils.isNotBlank(betaIps)) {
            grayName =  BetaGrayRule.TYPE_BETA;
            grayRuleExp = betaIps;
        } else if (StringUtils.isNotBlank(tag)) {
            grayName = TagGrayRule.TYPE_TAG + "_" + configForm.getTag();
            grayRuleExp = tag;
        }

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

*/
@DeleteMapping(params = "delType=ids")
@Secured(action = ActionTypes.WRITE, signType = SignType.CONFIG)
public RestResult<Boolean> deleteConfigs(HttpServletRequest request, @RequestParam(value = "ids") List<Long> ids) {
if (CollectionUtils.isEmpty(ids)) {
return RestResultUtils.failed("The ids cannot be empty.");
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

empty check here is no need , param is required for default

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, I will correct

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

String persistEvent = ConfigTraceService.PERSISTENCE_EVENT;
String grayName = "";
if (StringUtils.isBlank(tag)) {
configInfoPersistService.removeConfigInfo(dataId, group, namespaceId, clientIp, srcUser);
} else {
persistEvent = ConfigTraceService.PERSISTENCE_EVENT_TAG + "-" + tag;
persistEvent = ConfigTraceService.PERSISTENCE_EVENT_TAG + "_" + tag;
Copy link
Collaborator

@shiyiyue1102 shiyiyue1102 Feb 19, 2025

Choose a reason for hiding this comment

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

why changing split "-" to "_"?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is when the deletion configuration method on the SDK side is changed to call the deletion method of ConfigOperationService. In order to maintain consistency with the original format on the SDK side, as shown in the following figure.
image

Copy link
Collaborator

Choose a reason for hiding this comment

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

all right , if delete config using "" and publish config using "-", it will be more proper to change "" to "-" in delete config.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done,Has been changed to "-".

@@ -70,6 +70,8 @@ public class ConfigForm implements Serializable {

private String schema;

private Boolean updateForExist = Boolean.TRUE;
Copy link
Collaborator

Choose a reason for hiding this comment

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

it seems that moving this param to ConfigRequestInfo may be more proper

Copy link
Contributor Author

Choose a reason for hiding this comment

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

My understanding is updateForExist means whether to update when the configuration already exists. It should be part of business logic. The ConfigRequestInfo class belong to request metadata. Irrelevant to business operations,so it seems appropriate to put it in Conform?

Copy link
Collaborator

Choose a reason for hiding this comment

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

As you said, "updateForExist means whether to update when the configuration already exists", it is not a part of config itself. Conform contains things about config.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok, it has been moved to the ConfigRequestInfo class.

@wuyfee
Copy link

wuyfee commented Feb 20, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

@KiteSoar KiteSoar force-pushed the optimize-config-operation branch from 3c22682 to 1abdaa8 Compare February 24, 2025 02:10
@wuyfee
Copy link

wuyfee commented Feb 24, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

if (limitType != null) {
return response4Limit(request, response, limitType);
throw new NacosException(ErrorCode.SERVER_ERROR.getCode(),
Copy link
Collaborator

Choose a reason for hiding this comment

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

should return different error code for different limit type

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@wuyfee
Copy link

wuyfee commented Feb 24, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

@KiteSoar KiteSoar force-pushed the optimize-config-operation branch from 572a3eb to 1b9d0be Compare February 24, 2025 03:49
@wuyfee
Copy link

wuyfee commented Feb 24, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

@KiteSoar KiteSoar force-pushed the optimize-config-operation branch from 1b9d0be to eb7cfcc Compare February 24, 2025 05:46
@wuyfee
Copy link

wuyfee commented Feb 24, 2025

$\color{green}{SUCCESS}$
DETAILS
✅ - docker: success
✅ - deploy (standalone & cluster & standalone_auth): success
✅ - e2e-java-test (standalone & cluster & standalone_auth): success
✅ - e2e-go-test (standalone & cluster): success
✅ - e2e-cpp-test (standalone & cluster): success
✅ - e2e-csharp-test (standalone & cluster): success
✅ - e2e-nodejs-test (standalone & cluster): success
✅ - e2e-python-test (standalone & cluster): success
✅ - clean (standalone & cluster & standalone_auth): success

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.

Server Config Operation Interface Refactor(Optimize)
6 participants