Initial commit
This commit is contained in:
@@ -0,0 +1,184 @@
|
||||
# 其他模块待修复问题清单
|
||||
|
||||
## 📋 概述
|
||||
|
||||
Core 模块重构已完成(100%),但其他模块在使用 Core 时还存在一些编译问题需要修复。
|
||||
|
||||
---
|
||||
|
||||
## ❌ 已发现的问题
|
||||
|
||||
### 1. internal/store/sqlite/store.go
|
||||
|
||||
**问题**:引用了已删除的 `model.ServiceProvider`
|
||||
**位置**:第 42 行
|
||||
**影响**:编译失败
|
||||
|
||||
**修复方案**:
|
||||
```diff
|
||||
- &model.ServiceProvider{}, // 服务注册表(替代旧 Server)
|
||||
```
|
||||
|
||||
**状态**:✅ 已修复
|
||||
|
||||
---
|
||||
|
||||
### 2. core/proto/core_grpc.pb.go
|
||||
|
||||
**问题**:引用了未定义的消息类型
|
||||
**位置**:整个文件
|
||||
**影响**:编译失败
|
||||
|
||||
**原因**:
|
||||
- 该文件试图使用 protobuf 生成的代码风格
|
||||
- 但实际上没有 protoc 编译器生成
|
||||
- 消息类型(如 `CreateCoreRequest`)在 `core_grpc.go` 中手动定义
|
||||
|
||||
**修复方案**:
|
||||
```bash
|
||||
# 删除该文件,使用 core/grpc_service.go 中的手动实现
|
||||
rm core/proto/core_grpc.pb.go
|
||||
```
|
||||
|
||||
**状态**:✅ 已修复
|
||||
|
||||
---
|
||||
|
||||
### 3. internal/ctr/core_client.go
|
||||
|
||||
**问题**:使用旧的 proto API
|
||||
**位置**:多处(315, 326, 359 等)
|
||||
**影响**:编译失败
|
||||
|
||||
**具体问题**:
|
||||
1. `proto.PeerBinding` - proto 文件中存在,但生成的代码可能不匹配
|
||||
2. `proto.BindRequest` 字段不匹配:
|
||||
- 旧代码:`CoreId`, `Peers`
|
||||
- Proto 文件:`engine_id`, `peers`
|
||||
3. `proto.UnbindRequest` - proto 文件中不存在该方法
|
||||
4. `c.client.Unbind()` - gRPC client 没有这个方法
|
||||
|
||||
**根本原因**:
|
||||
- `internal/ctr/core_client.go` 使用的是项目根目录的 `proto/` 包
|
||||
- 该 proto 包是旧的版本(Engine 架构)
|
||||
- 而 Core 模块重构后使用了新的架构(Core 而非 Engine)
|
||||
|
||||
**修复方案**:
|
||||
|
||||
#### 方案 A:更新 proto 文件(推荐)
|
||||
1. 更新 `proto/core.proto` 以匹配新的 Core 架构
|
||||
2. 重新生成 protobuf 代码
|
||||
3. 更新 `core_client.go` 使用新 API
|
||||
|
||||
#### 方案 B:更新 core_client.go 适配现有 proto
|
||||
1. 修改 `core_client.go` 使用 `engine_id` 而非 `core_id`
|
||||
2. 删除 `Unbind` 相关调用
|
||||
3. 调整字段名称
|
||||
|
||||
**状态**:⏳ 待修复
|
||||
|
||||
---
|
||||
|
||||
## 🔧 修复建议
|
||||
|
||||
### 优先级 P0 - 阻塞编译
|
||||
|
||||
1. **删除废弃文件** ✅
|
||||
```bash
|
||||
rm core/proto/core_grpc.pb.go
|
||||
```
|
||||
|
||||
2. **修复 store.go** ✅
|
||||
```go
|
||||
// 删除 ServiceProvider 引用
|
||||
```
|
||||
|
||||
### 优先级 P1 - 应用层适配
|
||||
|
||||
3. **统一 proto 接口** ⏳
|
||||
- 确定使用 Engine 还是 Core 架构
|
||||
- 更新 proto 文件
|
||||
- 重新生成代码
|
||||
|
||||
4. **更新 core_client.go** ⏳
|
||||
- 适配新的 proto 接口
|
||||
- 更新字段名称
|
||||
- 删除废弃方法
|
||||
|
||||
---
|
||||
|
||||
## 📊 影响范围
|
||||
|
||||
### 受影响的模块
|
||||
|
||||
| 模块 | 问题数 | 严重程度 | 修复优先级 |
|
||||
|------|--------|----------|------------|
|
||||
| `core/` | 0 | - | ✅ 已完成 |
|
||||
| `internal/store/` | 1 | 高 | ✅ 已修复 |
|
||||
| `internal/ctr/` | 3 | 高 | ⏳ P1 |
|
||||
| `proto/` | 1 | 中 | ⏳ P1 |
|
||||
|
||||
### 编译状态
|
||||
|
||||
```bash
|
||||
# Core 模块
|
||||
✅ go build ./core # 通过
|
||||
✅ go build ./core/connect # 通过
|
||||
✅ go build ./core/transport # 通过
|
||||
✅ go build ./core/pool # 通过
|
||||
|
||||
# 其他模块
|
||||
❌ go build ./... # 失败
|
||||
- internal/store/sqlite # ✅ 已修复
|
||||
- internal/ctr # ⏳ 待修复
|
||||
- proto # ⏳ 待修复
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 下一步行动
|
||||
|
||||
### 立即执行(P0)
|
||||
|
||||
1. ✅ 删除 `core/proto/core_grpc.pb.go`
|
||||
2. ✅ 修复 `internal/store/sqlite/store.go`
|
||||
|
||||
### 后续完善(P1)
|
||||
|
||||
3. **确定架构方向** ⏳
|
||||
- 使用 Engine 还是 Core?
|
||||
- 统一 proto 接口定义
|
||||
|
||||
4. **更新应用层代码** ⏳
|
||||
- `internal/ctr/core_client.go`
|
||||
- 其他使用 Core 的地方
|
||||
|
||||
5. **全量编译测试** ⏳
|
||||
```bash
|
||||
go build ./...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 备注
|
||||
|
||||
### Core 模块重构完成度
|
||||
|
||||
- ✅ **Core 模块自身**:100% 完成
|
||||
- ✅ **目录结构**:完全对齐 README
|
||||
- ✅ **编译验证**:`go build ./core` 通过
|
||||
- ⏳ **应用层集成**:待适配
|
||||
|
||||
### 架构一致性
|
||||
|
||||
当前存在两个版本的 proto 定义:
|
||||
1. **旧版本**:`proto/core.proto` - Engine 架构
|
||||
2. **新版本**:`core/README.md` - Core 架构
|
||||
|
||||
需要统一为 Core 架构。
|
||||
|
||||
---
|
||||
|
||||
*更新时间:2026-03-24 04:45*
|
||||
*版本:v2.2.0*
|
||||
*状态:Core 模块 100% 完成,应用层集成待修复*
|
||||
Reference in New Issue
Block a user