alibaba / alibaba/otter

希望提供关于各项配置的执行顺序和生命周期的解释

Open
#968 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
8.1k
Forks
2.5k
PR merge metrics
No merged PRs in 30d

Description

## 概要
希望提供各`channel`,`pipeline`,`映射`,`Processor`等的执行方式说明。当优先级高的`pipeline`执行失败或者未执行的时候,优先级低的`pipeline`会怎么处理?`Processor`中的配置和`pipeline`中定义的映射配置的关系是什么?

## 案例

### 数据结构
- 源数据`T1`,字段`id`,`name`
- 目标数据`T2`,字段`id`,`title`,`remark`

### 同步方案
- `T1.id` -> `T2.id`
- `T1.name` -> `T2.title`
- `[生成值]` -> `T2.remark`

### 配置情况
- 使用网页配置可以直接同步的数据 _有效_
- 自定义Processor处理新增数据 _无效_

### 代码片段
```java
EventColumn remarkCol = new EventColumn();
remarkCol.setColumnName("remark");
remarkCol.setColumnType(Types.VARCHAR);
remarkCol.setColumnValue("最后一次同步于:" + now);
eventData.getColumns().add(remarkCol);
```
打印的日志中新增信息`EventColumn[index=0,columnType=12,columnName=remark,columnValue=最后一次同步于:2020-11-12 12:01:08,isNull=false,isKey=false,isUpdate=true]`,但是目标数据中没有该字段的值,网页日志中未发现相关异常

@agapple 望解答

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the channel, pipeline, mapping, and Processor concepts described in the issue, along with the Java EventColumn example. Document their execution order and lifecycle, explain how Processor and pipeline mappings interact and how failed or skipped pipelines affect lower-priority ones, and clarify why the generated remark value is not reaching the target.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.