已合并
feat(worker): 下沉 QueryAndGet 支持元数据亲和直读 #2143
feat(worker): 下沉 QueryAndGet 支持元数据亲和直读 #2143
已合并
yangxiaogang14创建于 3 天前
yangxiaogang14成员
3 天前

这是什么类型的PR?

/kind feat


1. 问题背景 / 问题现象

当前 enableLocalCache=falseKVClient::Get 由 Client 向元数据归属 Worker 发起读取,但原有
QueryAndGet 实际由 Master 服务处理。元数据归属 Worker 本地已经持有对象时,Client 仍需先查询位置、
再发起一次独立数据 RPC,增加了一次请求跳转,也无法复用同机 SHM 和跨机 UB 的直接读取能力。

本 PR 关联 RFC #1101,将 QueryAndGet 下沉到元数据归属 Worker:本地命中时直接返回数据,本地 miss
时只查询对象位置并继续复用现有 ReplicaReader 读取数据,减少快路径 RPC 和数据拷贝,并保持
KVClient::Get 对外语义不变。

2. 修改方案 / 解决方案

  • Client 按元数据归属 Worker 分组调用 WorkerOCService.QueryAndGet,并根据拓扑选择 SHM、UB 或 TCP:
    同机优先 SHM;SHM 不可用且开启 URMA 时尝试 UB;未开启 URMA 或数据面不可用时回退 TCP。
  • 元数据归属 Worker 仅探测本地已驻留对象。本地命中时通过 SHM 描述、UB 预注册 buffer 或受限 TCP
    attachment 返回数据;本地 miss 时调用无副作用的 PureQueryMeta 获取位置,不触发订阅、拉取、
    placeholder、L2 加载或缓存写入。
  • 响应严格与请求 key 顺序一一对应。无 data_result 表示快路径未命中,由 Client 继续走现有
    ReplicaReader;批量请求可以同时包含本地内联数据和二阶段副本读取结果。
  • SHM 请求在响应发送失败时回滚新增引用;UB 使用每个 key 独立的预注册接收 buffer;TCP 校验 payload
    索引、累计大小和单请求总大小,避免越界或错误拼装。
  • Worker 新增 QueryAndGet access 日志和分阶段慢日志,记录本地探测、数据编码、miss 元数据查询、响应
    发送等耗时;诊断脚本同步识别新的 Worker RPC 名称。
  • Proto/RPC 变更:从 master_object.proto 删除 Master 侧 QueryAndGet 消息和 RPC,在
    object_posix.proto 新增 Worker 侧请求、按序结果、位置、SHM 描述以及 TCP/UB/SHM transport oneof,
    并在 WorkerOCService 注册 unary socket、attachment 和 URMA 能力。WorkerRpcClient 改为调用
    Worker control stub,Master 的业务实现与本地数据读取逻辑一并移除。
sequenceDiagram
    participant Client
    participant Owner as Metadata owner Worker
    participant Master
    participant Data as Data Worker
    Client->>Owner: QueryAndGet with transport
    alt Local object hit
        Owner->>Client: Inline SHM UB or TCP data
    else Local object miss
        Owner->>Master: PureQueryMeta
        Master->>Owner: Object locations
        Owner->>Client: Ordered locations
        Client->>Data: Existing replica read
        Data->>Client: SHM UB or TCP data
    end

修改文件清单:

文件 变更说明
src/datasystem/protos/object_posix.proto 新增 Worker QueryAndGet 消息、三种数据通道描述及 RPC
src/datasystem/protos/master_object.proto 删除 Master QueryAndGet 消息和 RPC
src/datasystem/client/transport/metadata/object_metadata_client.* 构造 SHM/UB/TCP 请求,处理有界重试、回退和按序结果
src/datasystem/client/transport/object_read/object_read_flow.cpp 将读上下文传入元数据归属 Worker 快路径
src/datasystem/client/transport/rpc/worker_rpc_client.* QueryAndGet 改为调用 Worker control stub
src/datasystem/client/transport/data_plane/shm_* 复用并失效 SHM session,构造直接读取结果
src/datasystem/worker/object_cache/service/worker_query_and_get_impl.* 实现 Worker 本地探测、三通道编码、miss 查询、日志和回滚
src/datasystem/worker/object_cache/service/worker_oc_service_get_impl.* 复用无副作用本地读和 PureQueryMeta 位置查询能力
src/datasystem/master/object_cache/* 删除 Master QueryAndGet 处理及数据面耦合逻辑
src/datasystem/common/log/access_point.def 新增 Worker QueryAndGet access 记录点
scripts/ds_trace_bottleneck.py 将 QueryAndGet 性能归因更新到 Worker RPC
tests/ut/client/transport_test.cpp 覆盖请求编码、回退、重试、顺序和异常响应
tests/st/client/kv_cache/kv_client_transport_get_test.cpp 覆盖 SHM、UB、TCP、metadata miss 与混合批量路径
src/datasystem/worker/object_cache/{BUILD.bazel,CMakeLists.txt} 纳入新增 Worker 实现及依赖
.repo_context/modules/{client/client-sdk.md,runtime/worker-runtime.md} 同步直读链路和 Worker 职责说明

3. 验证方案

  • 编译:本地 CMake TCP 构建验证;Bazel 与 URMA 构建由 CI 或 UB 环境执行。
  • 部署:ST 使用 ExternalCluster 启动同版本 Master、Worker 和 Client;非 URMA 环境验证 SHM/TCP,
    URMA 环境验证跨节点 UB。基础连通性由用例 Set/Get 前置步骤确认。
  • 测试:以前 6 个新增 ST 为重点,对比 master baseline 的独立数据 RPC,检查元数据归属 Worker
    QueryAndGet 次数、SHM/UB/TCP 编码注入点、二阶段数据 RPC 次数、返回内容和批量顺序。

4. 验证结果

验证项 结果
CMake TCP 编译 PASS,用户本地环境已完成
新增非 UB ST 5 PASS / 0 FAIL,用户本地环境已完成
UB 专项 ST 1 PASS
git diff --check upstream/master...HEAD PASS
python3 scripts/ai_context/validate_module_metadata.py PASS,18 个模块元数据文件
Bazel 编译 未执行,等待 CI

非 UB 环境通过的场景包括:同机元数据归属 Worker SHM 命中、跨机 TCP 命中、metadata miss 后同机
SHM 读取、metadata miss 后跨机 TCP 读取、混合批量路径保持输入顺序。
UB 内联命中需在 URMA 环境验证通过
image.png

5. 自检清单

构建

正确性

内存

并发

安全

可观测性

日志

对外接口变更


Fixes #1101

likedislike
Pull Request已成功合入, 合并人@openeuler-ci-bot
(感谢 yangxiaogang14 的贡献)
Yyangxiaogang14成员
3 天前 创建了 pull request,commit bf053ffd
Yyangxiaogang14成员
3 天前 关联了issue:[RFC] 元数据亲和Get流程重构优化
atomgit-bot
atomgit-bot
3 天前 评论:

变更摘要

本 PR 将 QueryAndGet 从 Master 服务下沉到元数据归属 Worker(关联 RFC #1101):Client 按元数据归属 Worker 分组调用 WorkerOCService.QueryAndGet,本地命中时通过 SHM、UB 或 TCP 内联直读数据,本地 miss 时仅返回对象位置、由 Client 继续复用现有 ReplicaReader 二阶段读取,从而减少快路径 RPC 跳转和数据拷贝,同时保持 KVClient::Get 对外语义不变。对应地,Proto/RPC 定义从 master_object.proto 迁移到 object_posix.proto,Master 侧的查询处理与本地数据读取逻辑被移除,WorkerRpcClient 改走 Worker control stub,并新增 Worker 端 access 日志、分阶段慢日志及配套 UT/ST 用例。

主要改动

  • Proto/RPC 下沉到 Workermaster_object.proto 删除 Master 侧 QueryAndGetReqPb/QueryAndGetRspPb 及其 RPC,object_posix.proto 新增 Worker 侧按序结果、位置、SHM 描述(QueryAndGetShmInfoPb)以及 TCP/UB/SHM transport oneof,并在 WorkerOCService 注册带 unary socket、attachment 与 URMA 能力的 QueryAndGet RPC;WorkerRpcClientInvokeQueryAndGetmasterStub_ 改为调用 controlStub_
  • Client 端三通道选择与回退object_metadata_client.cpp 按拓扑在 InitializeInlineRequest 中优先构造 SHM 请求(PrepareShmInlineRequest),SHM 不可用且开启 URMA 时尝试 UB,否则回退 TCP(SwitchInlineRequestToTcp);TCP 内联数据新增 payload 索引、累计大小与对象大小一致性校验,UB 按 key 分配独立接收 buffer;shm_connection.* 新增 BuildQueryAndGetResultshm_transporter.h 新增 AcquireSession/InvalidateSession 用于会话复用与失效。
  • Worker 端实现:新增 worker_query_and_get_impl.* 实现本地驻留对象探测、TCP/UB/SHM 三通道编码、miss 位置查询、分阶段慢日志,以及响应未送达时 SHM 引用回滚;worker_oc_service_get_impl.* 新增无副作用的 TryAcquireLocalObject 和基于 PureQueryMetaQueryObjectLocations(含 QueryPureMetadataGroup 与重定向处理)。
  • Master 侧清理master_oc_service_impl.*oc_metadata_manager.* 删除 Master QueryAndGet 处理及本地数据读取逻辑;worker_worker_oc_api.* 删除 GetObjectRemoteForQueryAndGetworker_worker_oc_service_impl.* 移除贯穿 GetObjectRemote/LoadPayloadAndFillResponse/LoadSpilledObjectDataisQueryAndGet 分支参数。
  • 可观测性与测试access_point.def 新增 DS_POSIX_QUERY_AND_GET access 记录点;ds_trace_bottleneck.py 及对应测试脚本将 QueryAndGet 超时归因从 MasterOCService.QueryAndGet 更新为 WorkerOCService.QueryAndGet;ST 新增同机 SHM 命中、跨机 UB/TCP 命中、metadata miss 与混合批量保序路径,UT 覆盖请求编码、回退、重试与异常响应。
likedislike
atomgit-bot
atomgit-bot
3 天前 评论:

代码审查

✅ 未发现问题

likedislike
openeuler-ci-botopeneuler-ci-bot成员
3 天前 将luozhancheng,liangyi1234,yuchaow,yche-huawei,slichengsong,iewauh,tianyi-huawei设为审查人
此处折叠了98条消息 查看更多
openeuler-ci-bot
openeuler-ci-bot成员
2 天前 评论:

Review Code Feedback

  • The label lgtm, approved was added to this pull request. It means that yche-huawei reviewed the code changes. 👋
Tips
  • If this pull request is not merged while all conditions are met, comment /check-pr to try again. 😄
likedislike
openeuler-ci-botopeneuler-ci-bot成员
2 天前 关闭了关联的issue
openeuler-ci-botopeneuler-ci-bot成员
2 天前 合入了pull request,合并节点 SHA:55bd903f88cf48feb98aefb5014b292ceb80c155
yuanrong-ci-robot
2 天前 评论:

【OpenYuanRong PROCESS 部署 Actor 冒烟 · PR验证报告】

✅ 总结论:通过

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PR 信息
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
仓库:yuanrong-datasystem
PR 编号:#2143
分支:master
提交:13caa6db5898e78e6a51eb17fa164a132b159645
作者:yangxiaogang14@huawei.com
操作:merge

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
分语言汇总
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
语言 总用例 成功 失败 跳过 通过率
C++ 43 43 0 0 100.0%
Python 90 90 0 0 100.0%
Java 26 26 0 0 100.0%
合计 159 159 0 0 100.0%


Jenkins 构建: http://jenkins.openyuanrong.com/job/openyuanrong/job/OpenYR_Actor_Smoke_Process_X86/613/

likedislike
yuanrong-ci-robot
2 天前 评论:

【OpenYuanRong K8S 部署 Actor 冒烟 · PR验证报告】

❌ 总结论:未通过(成功率低于10%: Java(0.0%))

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PR 信息
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
仓库:yuanrong-datasystem
PR 编号:#2143
分支:master
提交:13caa6db5898e78e6a51eb17fa164a132b159645
作者:yangxiaogang14@huawei.com
操作:merge

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
分语言汇总
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
语言 总用例 成功 失败 跳过 通过率
C++ 39 11 28 0 28.2%
Python 54 49 5 0 90.7%
Java 31 0 31 0 0.0%
合计 124 60 64 0 48.4%

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
失败类型分布
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
测试用例问题:0 例
代码BUG:64 例
环境问题:0 例

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
代码BUG失败用例
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【C++】共 28 例:

  1. GetEnvTest.cpp_yr_workdir_instanceid_1
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  2. GetEnvTest.cpp_yr_workdir_instanceid_4
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  3. GetEnvTest.cpp_instance_dir_disk_quota_1
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  4. GetEnvTest.cpp_instance_dir_disk_quota_2
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  5. WaitTest.cpp_wait_partial_call_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  6. WaitTest.cpp_wait_call_between_functions
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  7. InvokeTest.cpp_invoke_oncloud_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  8. InvokeTest.cpp_invoke_onclond_multilevel_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  9. TenantIdTest.cpp_tenantid_128_size
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  10. AddAffinityTest.cpp_task_label_rpa_leo_2
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  11. AddAffinityTest.cpp_actor_label_rpa_lnio
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong-functionsystem
  12. AddAffinityTest.cpp_actor_label_rraaa_lio
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong-functionsystem
  13. AntiOtherLabelsTest.cpp_task_antiotherlabels_label_rpa_leo_2
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  14. AntiOtherLabelsTest.cpp_actor_antiotherlabels_label_rpa_lnio
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong-functionsystem
  15. AntiOtherLabelsTest.cpp_actor_antiotherlabels_label_rraaa_lio
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong-functionsystem
  16. InstanceNodeAffinityTest.cpp_instance_node_affinity_required
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  17. MaxTaskInstancesTest.cpp_instances_largethan_configuration1
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  18. TeminateTest.cpp_teminate_uncloud
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  19. TeminateTest.cpp_teminate_oncloud
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  20. StatefulTest.cpp_stateful_invoke_modifystate_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  21. StatefulTest.cpp_stateful_invoke_acallb_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  22. AsyncTerminateTest.cpp_asyncterminate_uncloud_get
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  23. AsyncTerminateTest.cpp_syncterminate_uncloud_get
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  24. NamedInstanceTest.cpp_get_named_instance_001
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  25. ShutdownHandlerTest.cpp_shutdownhandler_001
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  26. SaveStateTest.cpp_savestate_001
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  27. AlwaysLocalModeTest.cpp_task_alwayslocalmode_true_1
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  28. StreamTest.cpp_stream_cloud_003
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong

【Python】共 5 例:

  1. test_other.py::test_passing_args_by_value_outer
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  2. test_yr_resource.py::test_yr_resource_003
    错误:AttributeError: Can't get attribute '_function_setstate' on <module 'cloudpickle.cloudpickle' from '/opt/buildtools/python3.11/lib/python3.11/site-...
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  3. test_yr_api.py::test_passing_args_by_value_outer_api
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  4. test_config_init.py::test_invoke_remote
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  5. test_config_init.py::test_cloud_recycle_time
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong

【Java】共 31 例:

  1. GangScheduleTest.test_gang_schedule_cloud_003
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  2. GracefulShutdownTest.test_graceful_shutdown_001
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  3. KVTest.test_kv_set_get_mutil_notexist_undercloude
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  4. KVTest.test_kv_get_single_key_timeout_forever1
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  5. KVTest.test_kv_set_get_del_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  6. KVTest.test_kv_set_get_oncloud
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  7. KVTest.test_java_getwithparam_003
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  8. ObjectStoreTest.test_get_remote_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong-datasystem
  9. AntiothersAffinityTest.test_antiothers_actor_label_rpa_leo_02
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  10. GroupPenetrationTest.test_init_invoke_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  11. PutGetTest.test_init_put_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  12. PutGetTest.test_finalize_get_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  13. PutGetTest.test_put_get_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  14. PutGetTest.test_put_invoke_multi_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  15. MultiThreadingTest.test_invoke_concurrency_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  16. AffinityTest.test_actor_label_rpa_leo_2
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  17. InstanceTest.test_create_and_call_instance
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  18. BaseTest.test_init_invoke_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  19. BaseTest.test_actor_invoke_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  20. BaseTest.test_task_invoke_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  21. BaseTest.test_cloud_invoke_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  22. BaseTest.test_nested_function_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  23. BaseTest.test_return_empty_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  24. InvokeTest.test_invoke_multiple_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  25. InvokeTest.test_invoke_remote_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  26. InvokeTest.test_cloud_invoke_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  27. SaveStateTest.test_save_load_state_001
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  28. FinalizeTest.test_finalize_invoke_smoke
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  29. ChangeContextTest.test_change_context_003
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  30. ChangeContextTest.test_change_context_010
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong
  31. RequiredPriorityTest.test_actor_requiredpriority_001
    根因:LLM 根因分析未执行或失败,请结合失败日志人工补全
    ⚠️ 待手动提交Issue → openeuler/yuanrong

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
成功率异常提醒
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚨 【测试人员 & 开发人员请排查】

以下测试模块成功率低于10%:

  • Java: 成功率 0.0% (0成功/31失败/0跳过)

请检查:

  1. 测试环境配置是否正常
  2. 测试数据/依赖是否完整
  3. 代码是否有环境兼容性问题
  4. 服务/中间件是否正常运行

Jenkins 构建: http://jenkins.openyuanrong.com/job/openyuanrong/job/k8s-daily-pr/63/

likedislike