Skip to content

Proposal & RoadMap: Extend cache runtime interface for full data lifecycle#79

Open
xliuqq wants to merge 5 commits intofluid-cloudnative:masterfrom
xliuqq:extend_cache_runtime
Open

Proposal & RoadMap: Extend cache runtime interface for full data lifecycle#79
xliuqq wants to merge 5 commits intofluid-cloudnative:masterfrom
xliuqq:extend_cache_runtime

Conversation

@xliuqq
Copy link
Contributor

@xliuqq xliuqq commented Mar 11, 2026

Add Proposal & RoadMap for 'Extend cache runtime interface for full data lifecycle'.

The work tasks are described as follows:

  • Curvine Integration:Implement working reference adapters for Curvine;
  • DataOperation Support :Implement DataOperation interface including DataLoad and DataOperation for cache runtime;
  • In-Place upgrade and rebuild:Implement in-place upgrade for engine version update and in-place cache rebuild after node failure or config change.

…cycle

Signed-off-by: xliuqq <xlzq1992@gmail.com>
@xliuqq xliuqq changed the title Proposal & RoadMap Extend cache runtime interface for full data lifecycle Proposal & RoadMap: Extend cache runtime interface for full data lifecycle Mar 11, 2026
Signed-off-by: xliuqq <xlzq1992@gmail.com>
@xliuqq xliuqq force-pushed the extend_cache_runtime branch 2 times, most recently from f4ff48a to 39064cf Compare March 12, 2026 10:02
Signed-off-by: xliuqq <xlzq1992@gmail.com>
@xliuqq xliuqq force-pushed the extend_cache_runtime branch from 39064cf to 64729e4 Compare March 13, 2026 09:16
Signed-off-by: xliuqq <xlzq1992@gmail.com>
@xliuqq xliuqq force-pushed the extend_cache_runtime branch from 69d09b0 to 09724fe Compare March 14, 2026 14:47
@xliuqq xliuqq marked this pull request as ready for review March 14, 2026 14:48
@xliuqq
Copy link
Contributor Author

xliuqq commented Mar 14, 2026

@cheyang @Syspretor Please help review this. Thanks!

}
type LifeCycleHook struct {
// 挂载 UFS 的 hook 操作,针对 Master-Slave 架构,需要在 Master 中执行
MountUfs *MountUfs `json:"mountUfs,omitempty"`
Copy link
Member

Choose a reason for hiding this comment

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

This API snippet seems internally inconsistent:Since this proposal is describing the interface contract, could we clean up this example first so it can be used as a reliable implementation reference?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

rename it to "ExecutionEntries", these entries are executing at Runtime Master/Worker(if no Master) Pod to support out-of-tree integration for different cache systems.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a design proposal + roadmap for extending Fluid’s CacheRuntime interface to cover a full data lifecycle, including Curvine integration, standardized DataOperation support, and in-place upgrade/rebuild capabilities.

Changes:

  • Added a proposal document describing the target interface changes, flows, and implementation tasks.
  • Added diagrams referenced by the proposal (Curvine integration flow, state transition, in-place upgrade flow).

Reviewed changes

Copilot reviewed 2 out of 5 changed files in this pull request and generated 8 comments.

File Description
proposals/runtime/v1.1.0_extend_cache_runtime/full_cache_runtime.md Proposal & roadmap document outlining Curvine integration, DataOperation API, and in-place upgrade/rebuild design.
proposals/runtime/v1.1.0_extend_cache_runtime/pics/state_transform.jpeg Diagram referenced by the proposal for operation state transitions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: xliuqq <xlzq1992@gmail.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a new proposal document describing how to extend Fluid’s generic CacheRuntime to support full data lifecycle management (Curvine integration, standardized DataOperation, and in-place upgrade/rebuild), along with supporting diagrams.

Changes:

  • Add proposal markdown describing Curvine integration flow and required CacheRuntimeClass extensions.
  • Propose a DataOperation capability model and runtime-side operator interfaces.
  • Add lifecycle diagrams (state transform, in-place upgrade/rebuild flow, Curvine integration).

Reviewed changes

Copilot reviewed 2 out of 5 changed files in this pull request and generated 7 comments.

File Description
proposals/runtime/v1.1.0_extend_cache_runtime/full_cache_runtime.md New proposal document outlining API/flow changes for full lifecycle support.
proposals/runtime/v1.1.0_extend_cache_runtime/pics/state_transform.jpeg Adds a state transition diagram referenced by the proposal.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

[master]
meta_dir = "testing/meta"

# masta HA raft configuration.
/app/curvine/lib/curvine-fuse --conf curvine-cluster.toml
```

Curvine 挂载底层文件文件时,需要等缓存系统启动完成后,显式通过命令`cv mount`执行。

Curvine 挂载底层文件文件时,需要等缓存系统启动完成后,显式通过命令`cv mount`执行。

### 1.2 扩展 CaceRuntime 的流程定义
}
type ExecutionEntries struct {
// 挂载 UFS 的操作,针对 Master-Slave 架构,需要在 Master 中执行
MountUfs *ExecutionCommonEntry `json:"mountUfs,omitempty"`
```go
type CacheRuntimeClass struct {
// 当前 Cache System 支持哪些数据操作
DataOperation []DataOperationSpec `json:"dataOperationSpec,omitempty"`

为了保证与 TemplateEngine 的状态及处理逻辑一致,仍使用五种状态(None/Pending/Executing/Complete/Failed),其状态转换逻辑如下:

<img src="pics/state_transform.jpeg" alt="img" style="zoom:80%;" />



### 3. 支持 In-Place Upgrade 和 ReBuild
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.

4 participants