Skip to content
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
1534 commits
Select commit Hold shift + click to select a range
adeade1
fix: 调整执行阶段
mayinrain Mar 11, 2025
06f0d29
Merge pull request #769 from mayinrain/dev-1.12.0-webank
mayinrain Mar 11, 2025
a701cfa
code optimization (#770)
kinsanities Mar 11, 2025
3a25381
update python version
kinsanities Mar 11, 2025
9d7dccf
update ldap expire time to 20m
kinsanities Mar 12, 2025
c6a252d
update conf
kinsanities Mar 12, 2025
ba3f275
code optimization
kinsanities Mar 13, 2025
df91ac5
update progress
kinsanities Mar 13, 2025
e8b62ce
update code
kinsanities Mar 13, 2025
323920c
update progress
kinsanities Mar 13, 2025
2c33baa
code optimization
kinsanities Mar 13, 2025
e957b7a
code optimization
kinsanities Mar 14, 2025
0bc7f7b
Code optimization (#771)
v-kkhuang Mar 14, 2025
0032dec
print dynamic param
kinsanities Mar 14, 2025
e667ddd
Merge branch 'dev-1.12.0-webank' of https://github.com/WeDataSphere/l…
kinsanities Mar 14, 2025
ebe21ec
code review fix
kinsanities Mar 14, 2025
d55988f
code optimization
kinsanities Mar 17, 2025
c39bc26
code optimization
kinsanities Mar 17, 2025
7fa2a9f
code optimization
kinsanities Mar 18, 2025
012ee23
Security work order repair (#772)
v-kkhuang Mar 18, 2025
a087ade
code optimization
kinsanities Mar 19, 2025
315e76d
code optimization
kinsanities Mar 19, 2025
25c8e19
update max executors
kinsanities Mar 20, 2025
727aab3
Add Spark 3 default (#774)
v-kkhuang Mar 20, 2025
1819803
bug fix (#775)
v-kkhuang Mar 20, 2025
9464038
revent spring-webflux (#776)
v-kkhuang Mar 20, 2025
6d42456
Security work order repair (#777)
v-kkhuang Mar 20, 2025
e1503cb
add spark conf dir (#778)
v-kkhuang Mar 21, 2025
cc274cc
Dev 1.12.0 code review fix (#779)
v-kkhuang Mar 21, 2025
519819e
velocity exclusion (#780)
v-kkhuang Mar 25, 2025
ebba22a
update thymeleaf version (#781)
v-kkhuang Mar 26, 2025
cd3d634
update version to 1.13.0
kinsanities Apr 2, 2025
0e89a8b
Code optimization (#786)
v-kkhuang Apr 14, 2025
fb0b98f
优化 Hive 和 Spark 配置重置逻辑 (#785)
v-kkhuang Apr 14, 2025
f754dc5
HDFS file system request to add retry mechanism (#783)
v-kkhuang Apr 14, 2025
5acad6b
Spark supports forced conversion: user configuration, department conf…
v-kkhuang Apr 14, 2025
bedcfc6
[1.13.0]Python code adds exception command check (#784)
v-kkhuang Apr 15, 2025
a4f972e
[1.13.0]add datasource rpc GetInfoPublishedByUserIpPortAction (#787)
v-kkhuang Apr 15, 2025
9daf20c
[1.13.0]Spark supports forced conversion: user configuration, departm…
v-kkhuang Apr 15, 2025
f96b60a
Dev 1.13.0 webank temp (#789)
kinsanities Apr 15, 2025
d87ed6e
code optimization
kinsanities Apr 16, 2025
c81ff1e
code format
kinsanities Apr 16, 2025
86ce276
support conn param execute task (#792)
kinsanities Apr 16, 2025
eb993f5
[1.13.0]Data source supports automated publishing (#791)
v-kkhuang Apr 16, 2025
0260d55
fix compile error
kinsanities Apr 16, 2025
24226da
Merge branch 'dev-1.13.0-webank' of https://github.com/WeDataSphere/l…
kinsanities Apr 16, 2025
f9b8f7c
code optimization
kinsanities Apr 16, 2025
d102160
some code retry optimization
kinsanities Apr 17, 2025
2c0a0a3
upd: 样式优化
mayinrain Apr 17, 2025
8e6b43e
upd: 样式优化 (#794)
mayinrain Apr 17, 2025
c1fbe63
Dev 1.13.0 bug fix (#793)
v-kkhuang Apr 17, 2025
a2c0319
code optimization
kinsanities Apr 18, 2025
8e55a58
[1.13.0]code opmitization (#795)
v-kkhuang Apr 18, 2025
4cbcd6b
update jdbc
kinsanities Apr 18, 2025
538823d
upd: 依赖升级
mayinrain Apr 18, 2025
e6afbce
upd: 高度计算逻辑修改
mayinrain Apr 18, 2025
488df91
fix: handle conflict
mayinrain Apr 18, 2025
124d5c3
Merge pull request #796 from mayinrain/dev-1.13.0-webank
mayinrain Apr 18, 2025
2498bba
code optimization
kinsanities Apr 18, 2025
0474967
upd: 放大样式修改
mayinrain Apr 18, 2025
8d54b77
Merge branch 'dev-1.13.0-webank' of github.com:WeDataSphere/linkis in…
mayinrain Apr 18, 2025
afca287
Merge pull request #797 from mayinrain/dev-1.13.0-webank
mayinrain Apr 18, 2025
c99c172
compile error fix
kinsanities Apr 18, 2025
42eb462
upd: height adjustment
mayinrain Apr 18, 2025
a15f488
Merge branch 'dev-1.13.0-webank' of github.com:WeDataSphere/linkis in…
mayinrain Apr 18, 2025
a36a0f2
Merge pull request #798 from mayinrain/dev-1.13.0-webank
mayinrain Apr 18, 2025
865e166
code optimization
kinsanities Apr 21, 2025
f561b5e
Merge branch 'dev-1.13.0-webank' of https://github.com/WeDataSphere/l…
kinsanities Apr 21, 2025
448c44a
Dev 1.13.0 bug fix (#799)
v-kkhuang Apr 22, 2025
b73ce96
template conf optimization
kinsanities Apr 22, 2025
00513f4
classcastexception fix
kinsanities Apr 22, 2025
4a6ab9f
code optimization & format
kinsanities Apr 22, 2025
22b302b
code optimization
kinsanities Apr 23, 2025
772b45d
params optimization
kinsanities Apr 23, 2025
e29e89a
code optimization
kinsanities Apr 23, 2025
ca3a16e
fix: 逻辑兜底
mayinrain Apr 24, 2025
c5127e3
Merge branch 'dev-1.13.0-webank' of github.com:WeDataSphere/linkis in…
mayinrain Apr 24, 2025
e4234b5
Merge pull request #801 from mayinrain/dev-1.13.0-webank
mayinrain Apr 24, 2025
45b67f1
task error receiver sync
kinsanities Apr 24, 2025
2feb8ee
Merge branch 'dev-1.13.0-webank' of https://github.com/WeDataSphere/l…
kinsanities Apr 24, 2025
519b4e0
code optimization
kinsanities Apr 28, 2025
58d23a4
Dev 1.13.0 bug fix (#800)
v-kkhuang Apr 28, 2025
20156ef
add log
kinsanities Apr 28, 2025
74c2d1d
code update
kinsanities Apr 28, 2025
0497d34
add switch
kinsanities Apr 28, 2025
71e6cdd
update code to status rpc
kinsanities Apr 28, 2025
75a677a
add log
kinsanities Apr 29, 2025
63d7c8a
bug fix
kinsanities Apr 29, 2025
83f6f0c
code review fix
kinsanities May 7, 2025
304974b
code review fix (#802)
v-kkhuang May 7, 2025
5eb1a3e
Dev 1.13.0 code review fix (#803)
v-kkhuang May 9, 2025
80cd394
code optimization
kinsanities May 9, 2025
38144bf
add conf retry switch
kinsanities May 12, 2025
8fc7968
code uptate
kinsanities May 12, 2025
429e108
update code add retry code
kinsanities May 14, 2025
82f1fbe
Dev 1.13.0 code review fix (#804)
v-kkhuang May 14, 2025
f469b06
Dev 1.13.0 code review fix (#805)
v-kkhuang May 15, 2025
5b0a89e
Update version to 1.14.0
casionone May 15, 2025
a78fc70
close python safe check (#808)
v-kkhuang Jun 5, 2025
8859ad2
fix resource reset error (#807)
v-kkhuang Jun 5, 2025
901ea56
【1.14.0】Add Doctor functionality and support for switching between AI…
v-kkhuang Jun 5, 2025
282323c
Add BML client connection information retrieval function (#809)
v-kkhuang Jun 5, 2025
02508e4
support change engine type for aisql (#810)
casionone Jun 5, 2025
9682d87
fix todo & adjust interceptor (#811)
casionone Jun 5, 2025
12ffb45
Dev 1.14.0 ai sql support (#812)
v-kkhuang Jun 10, 2025
33284de
Fix resource statistics logic to correctly handle empty resources (#813)
v-kkhuang Jun 12, 2025
92cb02d
Dev 1.14.0 bug fix (#814)
v-kkhuang Jun 16, 2025
31b198d
Dev 1.14.0 bug fix (#815)
v-kkhuang Jun 17, 2025
2ec8fa2
code review fix (#816)
casionone Jun 17, 2025
540af07
Dev 1.14.0 bug fix (#817)
v-kkhuang Jun 17, 2025
ef3bf78
Dev 1.14.0 bug fix (#818)
v-kkhuang Jun 18, 2025
c9be3d4
Dev 1.14.0 bug fix (#819)
v-kkhuang Jun 19, 2025
19c5799
Dev 1.14.0 bug fix (#820)
v-kkhuang Jun 19, 2025
0ff28ab
Update version to 1.15.0-wds
casionone Jun 26, 2025
c0317e1
在JobHistory的搜索和查询接口中添加了runType参数,允许根据运行类型筛选作业历史记录 (#823)
v-kkhuang Jul 16, 2025
a2a50da
【1.15.0】Dev 1.15.0 sys user login (#822)
v-kkhuang Jul 18, 2025
ae34839
【1.15.0】Linkis token rsa (#821)
v-kkhuang Jul 18, 2025
f408749
spark3 dynamic params (#825)
v-kkhuang Jul 18, 2025
6adab49
linkis keytab (#824)
v-kkhuang Jul 18, 2025
17de8d7
upd: 令牌管理新增token查看;全局历史优化
mayinrain Jul 23, 2025
38e7760
Merge pull request #826 from mayinrain/dev-1.15.0-webank
mayinrain Jul 23, 2025
361a334
fix: 初始化问题修复
mayinrain Jul 23, 2025
3073448
Merge pull request #827 from mayinrain/dev-1.15.0-webank
mayinrain Jul 23, 2025
aa04987
upd: 格式化
mayinrain Jul 23, 2025
f26718a
Merge pull request #828 from mayinrain/dev-1.15.0-webank
mayinrain Jul 23, 2025
f3755ba
update conf & code format (#829)
casionone Jul 23, 2025
111bd88
Code optimization (#830)
v-kkhuang Jul 23, 2025
165d38f
i18n optimization
mayinrain Jul 25, 2025
cedd09e
Merge pull request #831 from mayinrain/dev-1.15.0-webank
mayinrain Jul 25, 2025
fb55a58
fix: 新增不禁用名字输入
mayinrain Jul 29, 2025
c60b8a8
Merge pull request #833 from mayinrain/dev-1.15.0-webank
mayinrain Jul 29, 2025
daf0f3c
Dev 1.15.0 code review fix (#832)
v-kkhuang Jul 30, 2025
7a0ba00
fix: has specific task id, ignore runtype
mayinrain Jul 31, 2025
ae90c04
Merge pull request #835 from mayinrain/dev-1.15.0-webank
mayinrain Jul 31, 2025
f7e96dc
Dev 1.15.0 code review fix (#834)
v-kkhuang Jul 31, 2025
a63330d
Dev 1.15.0 webank spark3 (#836)
casionone Jul 31, 2025
c82c5e2
add log for reuse engine
kinsanities Aug 4, 2025
5e8d559
add log
kinsanities Aug 5, 2025
f1a6a4e
update log
kinsanities Aug 5, 2025
ba729e7
update shuff
kinsanities Aug 5, 2025
9b08845
Dev 1.15.0 code review fix (#837)
v-kkhuang Aug 8, 2025
6b6f500
The openfile interface supports masking field information (#839)
v-kkhuang Aug 11, 2025
8da600e
Code optimization (#843)
v-kkhuang Aug 11, 2025
f5a82b9
update version to 1.8.0
casionone Aug 13, 2025
dac7e73
Upgrade `LINKIS_VERSION` to `1.8.0` to Fix Integration Test Failure i…
kazutoiris Aug 20, 2025
a29882a
entrance and linkismanager performance optimization (#853)
casionone Aug 21, 2025
7b6522c
add cache for ec reuse (#854)
casionone Aug 21, 2025
a2689d0
Dev 1.15.0 code review fix (#852)
v-kkhuang Aug 21, 2025
b03a4ce
update lock timeout
kinsanities Aug 21, 2025
27bcbd9
Dev 1.15.0 code review fix (#855)
v-kkhuang Aug 27, 2025
4ee7ea4
Fix KIND image loading, script typo, and cache directory creation (#5…
kazutoiris Aug 29, 2025
fc11506
Dev 1.15.0 code review fix (#856)
v-kkhuang Aug 29, 2025
8baf63a
Dev 1.15.0 code review fix (#857)
v-kkhuang Sep 1, 2025
75f23a1
chore: prepare to release 1.8.0 (#5254)
kazutoiris Sep 2, 2025
6da2f69
Dev 1.15.0 code review fix (#858)
v-kkhuang Sep 2, 2025
298e50f
Update version to 1.16.0
casionone Sep 8, 2025
d997570
add ai prompt base rule
kinsanities Sep 10, 2025
38dd1b2
[1.16.0]sensetive sql check (#860)
v-kkhuang Sep 12, 2025
3a30ffb
[1.16.0]feat: 历史任务信息获取接口添加brief参数优化 (#859)
v-kkhuang Sep 12, 2025
3a3ca19
feat: 从get接口读查openEngineLog用的参数 (#861)
daflyinbed Sep 12, 2025
d13d382
[1.16.0] get support engine log (#862)
v-kkhuang Sep 12, 2025
71c9d8e
refactor(web): remove request /ecrHistoryList (#863)
daflyinbed Sep 15, 2025
71b56c9
fix(web): 显示引擎日志的时候才显示UDF日志 (#864)
daflyinbed Sep 15, 2025
feadd39
Code optimization
v-kkhuang Sep 16, 2025
97b0c43
Merge pull request #865 from WeDataSphere/dev-1.16.0-code-review-fix
wushengyeyouya Sep 16, 2025
9a3d2f8
Code optimization
v-kkhuang Sep 17, 2025
cf96291
Code optimization
v-kkhuang Sep 17, 2025
39f99e7
Code optimization
v-kkhuang Sep 17, 2025
1d2eb9a
Code optimization
v-kkhuang Sep 17, 2025
370955e
Code optimization
v-kkhuang Sep 17, 2025
2bc4acc
Code optimization (#866)
v-kkhuang Sep 17, 2025
4148e73
Merge branch 'dev-1.16.0-webank' into dev-1.16.0-code-review-fix
v-kkhuang Sep 17, 2025
6e483c9
Code optimization
v-kkhuang Sep 17, 2025
7da37d6
Code optimization
v-kkhuang Sep 18, 2025
6db7f22
Dev 1.16.0 code review fix (#867)
v-kkhuang Sep 18, 2025
3fbc439
fix(web): 兼容老接口 (#868)
daflyinbed Sep 19, 2025
9a6c91f
Merge branch 'dev-1.16.0-webank' into dev-1.16.0-code-review-fix
v-kkhuang Sep 22, 2025
e406663
Code optimization
v-kkhuang Sep 22, 2025
8462339
Code optimization
v-kkhuang Sep 22, 2025
3eae827
Dev 1.16.0 code review fix (#869)
v-kkhuang Sep 22, 2025
7697578
support azure (#5214)
v-kkhuang Sep 22, 2025
872a492
chore(web): update axios (#870)
daflyinbed Sep 22, 2025
30a6af7
Merge branch 'dev-1.16.0-webank' into dev-1.16.0-code-review-fix
v-kkhuang Sep 23, 2025
db841d9
Code optimization
v-kkhuang Sep 23, 2025
37278bc
Merge pull request #871 from WeDataSphere/dev-1.16.0-code-review-fix
wushengyeyouya Sep 24, 2025
ffff2a4
Safety Work Order Repair
v-kkhuang Sep 25, 2025
bc68fac
Merge pull request #872 from WeDataSphere/dev-1.16.0-code-review-fix
wushengyeyouya Sep 25, 2025
7d58d35
Add OAuth2 authentication support (#5253)
kazutoiris Sep 28, 2025
59c29d7
fix azure compile error (#5264)
aiceflower Sep 30, 2025
feb03e5
remove default token (#5265)
aiceflower Oct 7, 2025
049ad8e
fix token security (#5266)
aiceflower Oct 8, 2025
cf6bc34
Merge upstream changes and apply additional improvements (#5279)
kazutoiris Oct 30, 2025
7a63e0f
docs(readme): remove underlines between badges (#5283)
kazutoiris Oct 31, 2025
2a3d1b1
feat(ci): add support for spark and hive engine integration tests (#5…
kazutoiris Nov 21, 2025
e0409b8
Merge Apache improvements to WDS linkis-commons (#913)
casionone Dec 26, 2025
b77404d
Merge computation governance to wds (#914)
casionone Dec 26, 2025
a441633
merge engineconn plugins (#915)
casionone Dec 26, 2025
2bc389d
merge pes (#917)
casionone Dec 29, 2025
610b7b5
merge linkis-mg (#918)
casionone Dec 29, 2025
a957dca
code merge
aiceflower Dec 30, 2025
8e781e2
fix compile error
kinghao007 Dec 31, 2025
9ec5d81
merge presto ec. scala to java
aiceflower Dec 31, 2025
f1b17dd
fix sparkMeasure support spark2 & spark3
kinghao007 Dec 31, 2025
1e76a0d
sparkMeasure support spark3
kinghao007 Dec 31, 2025
85e15c5
fix code compile error
kinghao007 Dec 31, 2025
46a9ec3
merge seatunnel
aiceflower Dec 31, 2025
e01fe24
Merge branch 'wds-master' of https://github.com/WeDataSphere/linkis i…
aiceflower Dec 31, 2025
a8ef133
code compile optimization
kinghao007 Dec 31, 2025
68d8c10
fix conflict
aiceflower Jan 4, 2026
25d8994
fix compile (#921)
casionone Jan 13, 2026
153cd49
feat(ci): add support for parallel build (#5330)
kazutoiris Mar 7, 2026
8d1ade2
#AI COMMIT# 增强 quick-build.sh 脚本版本自定义能力
kinghao007 Mar 10, 2026
b454d46
#AI COMMIT# fix: Update flatten-maven-plugin mode to oss
kinghao007 Mar 16, 2026
8769ef9
#AI commit# feat: Align default versions with dev-1.18.0-webank branch
kinghao007 Mar 20, 2026
7f01a24
#AI commit# fix: Add hbase-shims-1.2.1 module for default HBase 1.2.1…
kinghao007 Mar 20, 2026
ebacf49
update linkis gateway dependency
kinghao007 Mar 20, 2026
99c0f63
#AI COMMIT# update compile
kinghao007 Mar 23, 2026
5701485
#AI COMMIT# refactor: 优化 quick-build.sh 去除重复编译配置
aiceflower Mar 25, 2026
8851737
merge conflict
aiceflower Mar 25, 2026
115884b
#AI COMMIT# refactor: 优化代码结构和修复问题
aiceflower Mar 25, 2026
652e053
#AI COMMIT# refactor: 移除 known-dependencies.txt 中的注释
aiceflower Mar 25, 2026
b94c86c
#AI COMMIT# refactor: 更新 pom.xml 和 quick-build.sh
aiceflower Mar 25, 2026
395d06c
#AI COMMIT# fix: 更新 known-dependencies.txt 添加缺失的依赖
aiceflower Mar 25, 2026
de07000
#AI COMMIT# fix: 添加缺失的依赖到 known-dependencies.txt
aiceflower Mar 25, 2026
d8dce3f
Merge pull request #5345 from WeDataSphere/origin/dev-1.9.0
aiceflower Mar 26, 2026
744290a
Fix and update metrics information exception bug (#5296)
v-kkhuang Mar 26, 2026
2759fdc
The result set supports field truncation (#5297)
v-kkhuang Mar 26, 2026
e540d6e
Provide an interface for accessing available data sources (#5295)
v-kkhuang Mar 26, 2026
86f88c1
Merge branch 'master' into dev-1.9.0
aiceflower Mar 26, 2026
9847911
Fix mockito version property reference in pom.xml
aiceflower Mar 26, 2026
16b5183
#AI COMMIT# Refactor: simplify logger.error calls in engine services
aiceflower Mar 26, 2026
833afdc
#AI commit# feat: 优化bmlClient连接池参数 (#5359)
v-kkhuang Mar 26, 2026
3481d18
[feat][Linkis] integrate BES application server for domestic localiza…
aiceflower Mar 26, 2026
b245569
#AI commit# feat: AISQL支持starrocks切换 (#5363)
aiceflower Mar 26, 2026
6c553bd
[feat][Linkis] integrate BES application server for domestic localiza…
aiceflower Mar 26, 2026
8e196ad
#AI commit# feat: 优化bmlClient连接池参数 (#5366)
aiceflower Mar 26, 2026
3c0d6bf
#AI commit# 开发阶段:优化jdbc堆栈日志不全,monitor 清理定时任务时间优化,manager线程池优化 (#5368)
aiceflower Mar 26, 2026
177fc01
[feat][PES][datasource] add support for getting published datasource …
aiceflower Mar 26, 2026
2937222
#AI commit# 优化:解决引擎创建和复用时指标更新的空指针异常 (#5372)
aiceflower Mar 26, 2026
c6e38ac
#AI commit# 优化: AI规约文档提交,Linkis日志打印优化 (#5374)
aiceflower Mar 26, 2026
17af4ba
[feature][PES][datasource] add support for getting published datasour…
aiceflower Mar 26, 2026
7b130d9
#AI commit# perf: 优化引擎创建和复用服务性能 (#5378)
aiceflower Mar 26, 2026
cf2cbf3
#AI commit# feat: hadoop用户禁止登录管理台 (#5380)
aiceflower Mar 26, 2026
2354bd1
[feature][COM][commons] add log level filtering capability (#5382)
aiceflower Mar 26, 2026
0ec73b1
#AI commit# feat: 添加spark超时任务诊断功能和优化配置 (#5384)
aiceflower Mar 26, 2026
6085ce7
#AI commit# feat: 实现starrocks任务重试机制 (#5386)
aiceflower Mar 26, 2026
03e86df
#AI commit# feat: 添加批量队列资源获取功能 (#5388)
aiceflower Mar 26, 2026
f7a1822
#AI COMMIT# refactor: 代码格式化调整
aiceflower Mar 26, 2026
a9ef58d
#AI COMMIT# refactor: 移除 bes 相关依赖包
aiceflower Mar 26, 2026
f93a847
#AI COMMIT# ci: 更新 build-backend.yml 适配实际 Maven profile 配置
aiceflower Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,7 @@ target/
# log folder
*.log
logs/
nohup.out
nohup.out

#claude
.claude
378 changes: 378 additions & 0 deletions docs/ai-prompt/base-rule.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,378 @@
# Apache Linkis AI IDE 开发规约

## 角色定位
你是Apache Linkis项目的资深后端开发专家,熟练掌握:
- **核心技术栈**:Spring Boot 2.7 + Spring Cloud 2021.0.8 + MyBatis-Plus 3.5.7
- **编程语言**:Java 8 + Scala 2.12(混合开发模式)
- **数据库**:MySQL 8.0 + Hive(通过JDBC)
- **微服务架构**:Eureka服务发现 + Gateway网关 + Feign远程调用
- **大数据引擎**:Spark、Hive、Flink、Python、Shell等多引擎支持

---

# 项目核心信息

## 基础配置
- **项目根目录**:linkis
- **基础包名**:org.apache.linkis
- **版本信息**:Apache Linkis 1.x
- **构建工具**:Maven 3.5+
- **JDK版本**:1.8
- **字符编码**:统一使用StandardCharsets.UTF_8

## 关键组件
- **统一返回体**:`org.apache.linkis.server.Message`
- **统一异常**:`org.apache.linkis.common.exception.LinkisException`
- **配置管理**:`org.apache.linkis.common.conf.CommonVars`
- **数据库脚本**:
- DDL:`linkis-dist/package/db/linkis_ddl.sql`
- DML:`linkis-dist/package/db/linkis_dml.sql`

---

# 系统架构设计

## 三层架构模式
Linkis采用微服务架构,按功能职责划分为三大服务类别:

### 1. 微服务治理服务(基础设施层)
负责微服务的基础设施支撑,包括服务发现、网关路由、配置管理等。
- Spring Cloud Gateway:API网关服务
- Eureka:服务注册与发现中心
- Open Feign:声明式HTTP客户端

### 2. 计算治理服务(核心业务层)
负责计算任务的生命周期管理,从任务提交到执行完成的全流程控制。
- Entrance:任务提交入口服务
- JobHistory:任务历史记录服务
- LinkisManager:资源管理服务
- EngineConnManager:引擎连接管理服务
- EngineConn:引擎连接器

### 3. 公共增强服务(支撑服务层)
提供跨服务的公共能力,如文件管理、数据源管理、配置管理等。
- PublicService:公共服务
- BML:大数据物料库
- DataSource:数据源管理
- Configuration:配置管理
- ContextServer:上下文服务
- Monitor:监控服务

## 服务交互模式
```
上层应用 -> Gateway -> Entrance -> Manager -> ECM -> EngineConn -> 底层引擎
公共增强服务(BML、DataSource、Configuration等)
```

## 各服务模块说明
### 微服务治理服务
Spring Cloud Gateway
功能:API网关服务,负责请求路由转发、负载均衡、安全认证等
主类入口:org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
模块路径:linkis-spring-cloud-services/linkis-service-gateway/linkis-spring-cloud-gateway

Eureka
功能:服务注册与发现中心,管理微服务实例的注册、发现和健康检查
主类入口:org.apache.linkis.eureka.SpringCloudEurekaApplication
模块路径:linkis-spring-cloud-services/linkis-service-discovery/linkis-eureka

Open Feign
功能:声明式HTTP客户端,简化微服务间的远程调用
主类入口:集成在各个微服务模块中,无独立启动类
模块路径:集成在linkis-commons/linkis-rpc等公共模块中

### 计算治理服务
Entrance
功能:任务提交入口服务,负责任务调度、状态管控、任务信息推送等核心功能
主类入口:org.apache.linkis.entrance.LinkisEntranceApplication
模块路径:linkis-computation-governance/linkis-entrance

JobHistory
功能:任务历史记录服务,提供任务执行历史的查询、统计和管理功能
主类入口:org.apache.linkis.jobhistory.LinkisJobHistoryApp
模块路径:linkis-public-enhancements/linkis-jobhistory

LinkisManager
功能:计算治理层的管理服务,包含AppManager、ResourceManager、LabelManager等管理控制服务
主类入口:org.apache.linkis.manager.LinkisManagerApplication
模块路径:linkis-computation-governance/linkis-manager/linkis-application-manager

EngineConnManager
功能:引擎连接器管理服务,负责控制EngineConn的生命周期(启动、停止)
主类入口:org.apache.linkis.ecm.server.LinkisECMApplication
模块路径:linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server

EngineConn
功能:引擎连接器,负责接收任务并提交到Spark、Hive、Flink等底层引擎执行
主类入口:org.apache.linkis.engineconn.LinkisEngineConnApplication
模块路径:linkis-computation-governance/linkis-engineconn

### 公共增强服务
PublicService
功能:公共服务模块,提供统一配置管理、微服务管理等基础服务能力
主类入口:org.apache.linkis.filesystem.LinkisPublicServiceApp
模块路径:linkis-public-enhancements/linkis-pes-publicservice

BML
功能:大数据物料库服务(BigData Material Library),提供文件上传、下载、版本管理等功能
主类入口:org.apache.linkis.bml.LinkisBMLApplication
模块路径:linkis-public-enhancements/linkis-bml-server

DataSource
功能:数据源管理服务,提供统一的数据源连接、管理和元数据服务
主类入口:org.apache.linkis.metadata.LinkisDataSourceApplication(数据源服务)
模块路径:linkis-public-enhancements/linkis-datasource

Configuration
功能:配置管理服务,提供系统级、用户级、引擎级等多层次的配置管理
主类入口:org.apache.linkis.configuration.LinkisConfigurationApp
模块路径:linkis-public-enhancements/linkis-configuration

ContextServer
功能:上下文服务,支持跨引擎的资源共享、变量传递和会话管理
主类入口:org.apache.linkis.cs.server.LinkisCSApplication
模块路径:linkis-public-enhancements/linkis-cs-server

Monitor
功能:监控服务,提供系统性能监控、告警和运维管理功能,包括任务监控、资源监控、用户模式监控等
主类入口:org.apache.linkis.monitor.LinksMonitorApplication
模块路径:linkis-extensions/linkis-et-monitor

---

# 开发规范与约束

## 代码边界约束

### 🚫 禁止操作
- **数据库结构**:除非明确指定,严禁修改现有表结构
- **第三方依赖**:不允许引入新的第三方依赖库
- **核心接口**:不得修改现有公共接口的签名

### ✅ 允许操作
- **新增功能**:在不破坏现有逻辑的前提下扩展功能
- **新增配置**:在现有配置文件中新增配置项
- **新增表字段**:在现有表基础上新增字段

## 技术规范

### 编程语言使用
- **Java**:主要用于REST API、Service层、Entity类、配置类
- **Scala**:主要用于计算逻辑、RPC通信、复杂业务处理

### 日志规范
```java
// 必须使用统一的Logger
private static final Logger logger = LoggerFactory.getLogger(ClassName.class);

// 日志级别使用:
// ERROR: 系统错误、业务异常
// WARN: 警告信息、降级处理
// INFO: 关键业务节点、状态变更
// DEBUG: 详细调试信息

logger.info("User {} starts processing task {}", username, taskId);
logger.error("Failed to process task {} for user {}", taskId, username, e);
```

### 配置管理规范
- 所有配置统一使用`org.apache.linkis.common.conf.CommonVars`
- 参考示例:`org.apache.linkis.jobhistory.conf.JobhistoryConfiguration`
- 所有新需求必须添加配置开关,默认设置false
- 配置存放位置:当前模块的conf目录,一般为xxxConfiguration类

### 字符编码规范
```java
// 统一使用StandardCharsets.UTF_8,禁止使用字符串"UTF-8"
import java.nio.charset.StandardCharsets;

String content = new String(bytes, StandardCharsets.UTF_8);
Files.write(path, content.getBytes(StandardCharsets.UTF_8));
```

### API设计规范
```java
@Api(tags = "module operation")
@RestController
@RequestMapping(path = "/api/rest_j/v1/module")
public class ModuleRestfulApi {

@ApiOperation(value = "operation", notes = "description", response = Message.class)
@RequestMapping(path = "/operation", method = RequestMethod.POST)
public Message operation(HttpServletRequest req, @RequestBody JsonNode jsonNode) {
String username = ModuleUserUtils.getOperationUser(req, "operation");
// 业务逻辑处理
return Message.ok("success").data("result", data);
}
}
```

### 异常处理规范
```java
// 统一使用LinkisException及其子类
try {
// 业务逻辑
} catch (Exception e) {
logger.error("Operation failed", e);
throw new YourModuleException("Error message", e);
}
```

---

# 开发模板与示例

## 新功能开发模板

### 1. REST接口层
```java
@Api(tags = "功能模块操作")
@RestController
@RequestMapping(path = "/api/rest_j/v1/module")
public class ModuleRestfulApi {

@Autowired
private ModuleService moduleService;

@ApiOperation(value = "功能操作", response = Message.class)
@RequestMapping(path = "/action", method = RequestMethod.POST)
public Message action(HttpServletRequest req, @RequestBody JsonNode jsonNode) {
String username = ModuleUserUtils.getOperationUser(req, "action");

// 参数解析和验证
String param = jsonNode.get("param").asText();
if (StringUtils.isBlank(param)) {
return Message.error("参数不能为空");
}

try {
Object result = moduleService.performAction(param, username);
return Message.ok("操作成功").data("result", result);
} catch (Exception e) {
logger.error("操作失败", e);
return Message.error("操作失败:" + e.getMessage());
}
}
}
```

### 2. 服务层
```java
@Service
public class ModuleServiceImpl implements ModuleService {

private static final Logger logger = LoggerFactory.getLogger(ModuleServiceImpl.class);

@Autowired
private ModuleMapper moduleMapper;

@Override
@Transactional(rollbackFor = Exception.class)
public Object performAction(String param, String username) {
logger.info("User {} starts action with param: {}", username, param);

// 业务逻辑处理
ModuleEntity entity = new ModuleEntity();
entity.setParam(param);
entity.setCreateUser(username);

moduleMapper.insert(entity);

logger.info("User {} completed action successfully", username);
return entity.getId();
}
}
```

### 3. 数据访问层
```java
@Mapper
public interface ModuleMapper {

@Insert("INSERT INTO linkis_module_table (param, create_user, create_time) " +
"VALUES (#{param}, #{createUser}, NOW())")
@Options(useGeneratedKeys = true, keyProperty = "id")
void insert(ModuleEntity entity);

@Select("SELECT * FROM linkis_module_table WHERE id = #{id}")
ModuleEntity selectById(@Param("id") Long id);
}
```

### 4. 配置类
```scala
object ModuleConfiguration {
val MODULE_FEATURE_ENABLE = CommonVars("linkis.module.feature.enable", false)
val MODULE_TIMEOUT = CommonVars("linkis.module.timeout", 30000L)
val MODULE_BATCH_SIZE = CommonVars("linkis.module.batch.size", 1000)
}
```

---

# 需求开发流程

## 需求分析模板

### 【背景说明】
描述业务场景、现有问题或痛点、期望解决的目标

### 【验收标准】
- 功能验收点(具体、可测量)
- 性能要求(响应时间、并发数等)
- 安全要求(权限控制、数据保护)
- 兼容性要求(向后兼容)

## 开发交付清单

### 变更清单
- 新增/修改的文件路径列表
- 数据库变更脚本(DDL/DML)
- 配置文件变更

### 测试验证
- 单元测试代码
- 集成测试用例
- 手动测试命令(curl等)

### 质量检查
- [ ] 代码符合项目规范
- [ ] 异常处理完整
- [ ] 日志记录充分
- [ ] 单元测试覆盖
- [ ] 配置开关完整
- [ ] 向后兼容性检查

---

# AI IDE开发提示

## 开发技巧
1. **优先查看现有代码**:在新增功能前,先查看相似功能的实现方式
2. **遵循现有模式**:保持与现有代码风格一致
3. **充分测试**:编写充分的单元测试和集成测试
4. **考虑边界情况**:处理各种异常和边界条件

## 常见问题及解决方案

### 1. 字符编码问题
**问题**:HTTP传输过程中出现中文乱码
**解决**:统一使用`StandardCharsets.UTF_8`

### 2. 配置热更新问题
**问题**:配置修改后需要重启服务
**解决**:使用`CommonVars`并配合`@RefreshScope`注解

### 3. 性能优化问题
**问题**:大批量数据处理性能差
**解决**:采用分页处理,单次处理不超过5000条

---

**📝 重要提示**
1. 严格遵循现有架构设计,不得随意修改核心组件
2. 新增功能必须考虑向后兼容性
3. 关键业务逻辑必须有完整的异常处理和日志记录
4. 所有配置项必须有合理的默认值
5. 代码提交前必须通过本地测试验证
2 changes: 1 addition & 1 deletion docs/configuration/linkis-storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@
|linkis-storage|wds.linkis.fs.hdfs.impl.disable.cache| false |disable.cache |true|
|linkis-storage|wds.linkis.hdfs.rest.errs| |rest.errs|true|
|linkis-storage|wds.linkis.resultset.row.max.str | 2m | max.str |true|
|linkis-storage|wds.linkis.storage.file.type | dolphin,sql,scala,py,hql,python,out,log,text,sh,jdbc,ngql,psql,fql,tsql | file.type |true|
|linkis-storage|wds.linkis.storage.file.type | dolphin,sql,scala,py,hql,python,out,log,text,sh,jdbc,ngql,psql,fql,tsql,txt | file.type |true|
Loading
Loading