diff --git a/br/pkg/stream/table_mapping.go b/br/pkg/stream/table_mapping.go index 140aaccad8..6db21b1cb1 100644 --- a/br/pkg/stream/table_mapping.go +++ b/br/pkg/stream/table_mapping.go @@ -515,10 +515,12 @@ func ExtractValue(e *kv.Entry, cf string) ([]byte, error) { if err := rawWriteCFValue.ParseFrom(e.Value); err != nil { return nil, errors.Trace(err) } - if rawWriteCFValue.HasShortValue() { - return rawWriteCFValue.shortValue, nil + // have to be consistent with rewrite_meta_rawkv.go otherwise value like p/xxx/xxx will fall through + // and fail to parse + if rawWriteCFValue.IsDelete() || rawWriteCFValue.IsRollback() || !rawWriteCFValue.HasShortValue() { + return nil, nil } - return nil, nil + return rawWriteCFValue.GetShortValue(), nil default: return nil, errors.Errorf("unsupported column family: %s", cf) }