# [KB] TiCDC Panic unsigned value not in type uint64

## Key Words

unsigned value not in type uint64

## Description

TiCDC 下游为 kafka，changefeed 的表字段中含有 `unsigned DEFAULT NULL` 属性，并且上游插入数据时未明确指定该字段值，当收到该表的数据变更时，cdc 节点可能会出现 panic。

```log
goroutine 18925 [running]:
go.uber.org/zap/zapcore.(*CheckedEntry).Write(0xc1dae74000, 0xc1178c6180, 0x1, 0x1)
go.uber.org/zap@v1.19.1/zapcore/entry.go:232 +0x532
go.uber.org/zap.(*Logger).Panic(0xc141cc75c0, 0x3a201b8, 0x21, 0xc1178c6180, 0x1, 0x1)
go.uber.org/zap@v1.19.1/logger.go:230 +0x85
github.com/pingcap/log.Panic(0x3a201b8, 0x21, 0xc1178c6180, 0x1, 0x1)
github.com/pingcap/log@v0.0.0-20211207084639-71a2e5860834/global.go:54 +0x10b
github.com/pingcap/tiflow/cdc/sink/codec.getJavaSQLType(0xc10cb2fcc0, 0xc141cc28c0, 0xf, 0x1)
github.com/pingcap/tiflow/cdc/sink/codec/canal.go:167 +0x352
github.com/pingcap/tiflow/cdc/sink/codec.(*canalEntryBuilder).buildColumn(0xc05ed930e0, 0xc10cb2fcc0, 0xc131cfd990, 0xa, 0x1, 0xc1e0c9b0e0, 0x0, 0x0)
github.com/pingcap/tiflow/cdc/sink/codec/canal.go:280 +0x57
github.com/pingcap/tiflow/cdc/sink/codec.(*canalEntryBuilder).buildRowData(0xc05ed930e0, 0xc10c6cb100, 0xc117b8c748, 0x8, 0xc0c4f37a60)
github.com/pingcap/tiflow/cdc/sink/codec/canal.go:306 +0xc5
github.com/pingcap/tiflow/cdc/sink/codec.(*CanalFlatEventBatchEncoder).newFlatMessageForDML(0xc0ac478080, 0xc10c6cb100, 0xc0a8146e7a, 0x3, 0x3, 0xc0ac478080)
github.com/pingcap/tiflow/cdc/sink/codec/canal_flat.go:178 +0xd8
github.com/pingcap/tiflow/cdc/sink/codec.(*CanalFlatEventBatchEncoder).AppendRowChangedEvent(0xc0ac478080, 0xc10c6cb100, 0x0, 0x0, 0x3)
github.com/pingcap/tiflow/cdc/sink/codec/canal_flat.go:321 +0x39
github.com/pingcap/tiflow/cdc/sink.(*mqSink).runWorker(0xc0ebb417c0, 0x40dc5a8, 0xc0ac478000, 0xc000000001, 0x0, 0x0)
github.com/pingcap/tiflow/cdc/sink/mq.go:338 +0x3f1
github.com/pingcap/tiflow/cdc/sink.(*mqSink).run.func1(0x0, 0x0)
github.com/pingcap/tiflow/cdc/sink/mq.go:267 +0x46
golang.org/x/sync/errgroup.(*Group).Go.func1(0xc110944150, 0xc0f9ade020)
golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c/errgroup/errgroup.go:57 +0x59
created by golang.org/x/sync/errgroup.(*Group).Go
golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c/errgroup/errgroup.go:54 +0x66
panic: unsigned value not in type uint64
```

## Diagnostic Steps

1.创建列时定义默认为空

2.插入时没有明确的列

## Root Cause

代码缺陷，TiCDC 在处理 `Column.Value` 的值时没有考虑为空的情况，如果 `Column.Value`  为空，那么 TiCDC 应该将对应列值转换成 `""`。

## Resolution

在 5.4.1 修复，将 TiCDC 版本升级至 5.4.1 及以上版本 <https://github.com/pingcap/tiflow/issues/4736>
