Skip to content

fix: remove mongodb advanced options and ignore legacy params - #654

Open
LordofAvernus wants to merge 1 commit into
mainfrom
dev-decathlon-mongo-odc-visibility
Open

fix: remove mongodb advanced options and ignore legacy params#654
LordofAvernus wants to merge 1 commit into
mainfrom
dev-decathlon-mongo-odc-visibility

Conversation

@LordofAvernus

@LordofAvernus LordofAvernus commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

User description

关联的 issue

https://github.com/actiontech/dms-ee/issues/941

描述你的变更

  • 移除 MongoDB 数据源高级参数(auth_mechanism / tls / tls_skip_verify / direct_connection)并在后端忽略遗留四键
  • 统一形态展示口径;插件 meta 仅保留 auth_source / replica_set / seed_hosts
  • sql_workbench / 测连路径不再下发或因四键报错

确认项(pr提交后操作)

Tip

请在指定复审人之前,确认并完成以下事项,完成后✅


  • 我已完成自测
  • 我已记录完整日志方便进行诊断
  • 我已在关联的issue里补充了实现方案
  • 我已在关联的issue里补充了测试影响面
  • 我已确认了变更的兼容性,如果不兼容则在issue里标记 not_compatible
  • 我已确认了是否要更新文档,如果要更新则在issue里标记 need_update_doc


Description

  • 在 DBService 中过滤 MongoDB 过时参数

  • 新增 mongo_legacy_params.go 辅助过滤逻辑

  • SQL Workbench 移除 legacy 参数处理逻辑

  • 更新单元测试验证过滤行为


Diagram Walkthrough

flowchart LR
  A["DBService更新过滤逻辑"] -- "调用" --> B["mongo_legacy_params.go新功能"]
  B -- "支持" --> C["SQL Workbench忽略旧参数"]
  C -- "验证" --> D["测试验证"]
Loading

File Walkthrough

Relevant files
Bug fix
db_service.go
增加 MongoDB 参数过滤逻辑                                                                               

internal/dms/service/db_service.go

  • 添加过滤 MongoDB 过时参数逻辑
  • 修改 UpdateDBService、CheckDBServiceIsConnectableById、AddDBService 及
    AddDBServiceV2
+12/-0   
sql_workbench_service.go
移除 SQL Workbench legacy 参数处理                                                         

internal/sql_workbench/service/sql_workbench_service.go

  • 移除 auth_mechanism、tls、direct_connection、tls_skip_verify 处理
  • 调整 buildMongoDatasourceOptions 函数逻辑
+4/-23   
Enhancement
mongo_legacy_params.go
新增 MongoDB 过滤辅助模块                                                                               

internal/dms/service/mongo_legacy_params.go

  • 新增辅助文件定义过时参数列表
  • 实现 isDeprecatedMongoAdditionalParam 函数
+19/-0   
Tests
sql_workbench_service_test.go
更新单元测试验证参数过滤                                                                                         

internal/sql_workbench/service/sql_workbench_service_test.go

  • 修改测试用例传入旧参数键值
  • 加强对被忽略参数的验证检查
+22/-15 

@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown

PR Reviewer Guide 🔍

(Review updated until commit 0a1dc97)

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 PR contains tests
🔒 No security concerns identified
⚡ No major issues detected

@github-actions

Copy link
Copy Markdown

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
General
统一参数名称大小写

建议对参数名称进行统一的大小写处理,以避免因大小写不统一导致过滤失效。可以将传入的 name 转换为小写,再做 map
查找。此修改可以减少因用户传递参数大小写不同而引起的意外过滤问题。

internal/dms/service/mongo_legacy_params.go [13-19]

 func isDeprecatedMongoAdditionalParam(dbType, name string) bool {
 	if !strings.EqualFold(dbType, "MongoDB") {
 		return false
 	}
-	_, ok := deprecatedMongoAdditionalParams[name]
+	_, ok := deprecatedMongoAdditionalParams[strings.ToLower(name)]
 	return ok
 }
Suggestion importance[1-10]: 6

__

Why: The suggestion adds a lowercase conversion for the parameter name, which improves robustness against case differences. However, it is a minor enhancement on an already functional filter, hence a moderate score.

Low

@sjjian
sjjian force-pushed the dev-decathlon-mongo-odc-visibility branch from b41a649 to 0a1dc97 Compare July 27, 2026 08:29
@github-actions

Copy link
Copy Markdown

Persistent review updated to latest commit 0a1dc97

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