drainer.log (369.3 KB) 为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【TiDB 版本】v4.0.7
【问题描述】drainer同步数据报错,报主键冲突,既然tidb都能正常插入的,通过drainer同步到mysql就报主键冲突,看现象貌似一条插入语句被同步到下游几次,而且报错会导致drainer服务飞掉
[2021/02/05 08:26:04.317 +08:00] [ERROR] [executor.go:111] [“Exec fail, will rollback”] [query=“INSERT INTO source_qmfk
.O32_TBONDPROPERTY
(C_BASIC_RATE_TYPE
,C_CENTER_MATCH
,C_DRAWBENCHMRK
,C_FITCH_APPRAISE
,C_HEDGE_APPRAISE
,C_INSIDE_APPRAISE
,C_INTEREST_CALC_TYPE
,C_INTEREST_TYPE
,C_INTEREST_TYPE_EX
,C_INVESTOR_OPERATION_TYPE
,C_ISENDDEFAULT
,C_ISFTABOND
,C_ISSPECIAL
,C_LEVEL_EXPECTATION
,C_MARKET_NO
,C_MOODY_APPRAISE
,C_NET_PRICE
,C_ODM
,C_OFFERRINGCANCELFLAG
,C_OTHER_APPRAISE_FOUR
,C_OTHER_APPRAISE_ONE
,C_OTHER_APPRAISE_THREE
,C_OTHER_APPRAISE_TWO
,C_OUTER_APPRAISE
,C_PASS_SPPI_TEST
,C_PAYMENTOFINTEREST_TYPE
,C_PAY_CAPITAL_TYPE
,C_PAY_INTEREST_TYPE
,C_PUBLISHER_OPERATION_TYPE
,C_RATEDAYS_CALC_TYPE
,C_SP_APPRAISE
,C_SUBJECT_TYPE
,C_TRUSTEE
,C_YIELD_RATIO_TYPE
,EN_ACCRUED_INTEREST
,EN_BASIC_RATE
,EN_BOND_INTEREST
,EN_BP_CEILING
,EN_BP_FLOOR
,EN_CHANGE_PRICE
,EN_CONVEXITY
,EN_CURR_FACE_PRICE
,EN_DELTA
,EN_EXIST_LIMITE
,EN_FACE_PRICE
,EN_FAIR_YIELD_RATIO
,EN_HQZ_XQGZ_CONVEXITY
,EN_HQZ_XQGZ_DURATION
,EN_HQZ_XQGZ_PRICE
,EN_HQZ_XQGZ_YIELD_RATIO
,EN_HZQ_XQGZ_VP_VALUE
,EN_INVESTOR_OPERATION_PRICE
,EN_LEAST_RATE
,EN_MATURITY
,EN_MATURITY_ADJUST
,EN_NEXT_BOND_INTEREST
,EN_PAY_INTEVAL
,EN_POINT_VALUE
,EN_PUBLISHER_OPERATION_PRICE
,EN_PUBLISH_PRICE
,EN_REAL_INTEREST
,EN_SPPI_DOWNLIMIT_PRICE
,EN_TODAY_INTEREST
,EN_VALUATE_CONVEXITY
,EN_VALUATE_DURATION
,EN_VALUATE_POINT_VALUE
,EN_VALUATE_RATE_DURATION
,EN_VALUATE_SPREAD_DURATION
,EN_YEAR_RATE
,EN_YESTERDAY_CHANGE_PRICE
,EN_ZZD_NONRECOMMEND_RATIO
,EN_ZZ_FAIR_YIELD_RATIO
,L_BEGINCAL_DATE
,L_BOND_COUNT
,L_CHANGE_BEGIN_DATE
,L_CHANGE_END_DATE
,L_DATE
,L_END_DATE
,L_FINAL_DEBTOR
,L_GUARANTOR_ID
,L_INVESTOR_OPERATION_DATE
,L_ISSUEBALANCE
,L_LEFT_TERM
,L_MARKET_DATE
,L_MODIFY_DATE
,L_NEXTPAYMENT_DATE
,L_NEXT_MODIFY_DATE
,L_NEXT_RATECHANGE_DATE
,L_OUTER_APPRAISE_DATE
,L_PUBLISHER_OPERATION_DATE
,L_PUBLISH_DATE
,L_RATE_DAYS
,L_STARTCAL_DATE
,L_SUPERVENTION_MARKET_DATE
,L_TIMES
,L_TRADE_DEADLINE
,L_VIRTUAL_KEY
,L_YEAR
,L_ZQHS_BEGINDATE
,L_ZQHS_ENDDATE
,OBJECT_ID
,OPTDATE
,VC_APPRAISE_ORGAN
,VC_BONDTYPE_ID
,VC_BONDTYPE_NAME
,VC_DCQ
,VC_INTER_CODE
,VC_PARTY_NO
,VC_SPECIALPLAN_CODE
,VC_SPPI_FAIL_REASON
,VC_TIMESTAMP
,VC_TIMESTAMP2
) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)”] [args=“["6",null,null,null,null,null,null,"1","1","0","0","0","0",null,"5",null,"1",null,"0",null,null,null,null,"L","0",null,"1","1","0",null,null,"1","2","1",null,"0.00000000","2.071232876712",null,null,"0.0000",null,"100.00000000",null,"1.00000000","100.00000000","0.00000000",null,null,null,null,null,null,"0.00000000","0.00000000","0.00000000","2.083561643836","1.00",null,null,"100.00000000","2.083561643836",null,"2.083561643836",null,"5.69150000",null,null,null,"0.04500000","0.0000",null,"0.00000000","20200820",null,null,null,"20210205","20210820",null,null,"0",null,"197","20200821","20200821",null,"99991231","0","20200701","0","20200818","365","20200820","20200821",null,"20210819","94321",null,null,null,"20210205-1700A3YH","2021-02-05 08:34:31:345","4",null,null,null,"1700A3YH",null,null,null,"20210204182419415872","20210204084022931158"]”] [error=“Error 1062: Duplicate entry ‘20210205-1700A3YH’ for key ‘o32_tbondproperty.PRIMARY’”]
[2021/02/05 08:26:05.318 +08:00] [INFO] [load.go:876] [“txnManager has been closed”]
[2021/02/05 08:26:05.318 +08:00] [INFO] [load.go:566] [“{16 20 0xc0066bd2b0 0xc004496040 false 1 true true false}”]
[2021/02/05 08:26:05.318 +08:00] [INFO] [load.go:820] [“run()… in txnManager quit”]
[2021/02/05 08:26:05.318 +08:00] [INFO] [load.go:567] [“Run()… in Loader quit”]
[2021/02/05 08:26:05.318 +08:00] [INFO] [mysql.go:233] [“Successes chan quit”]
[2021/02/05 08:26:05.318 +08:00] [INFO] [syncer.go:257] [“write save point”] [ts=422703180023333010]
[2021/02/05 08:26:05.321 +08:00] [INFO] [server.go:455] [“commit status done”]
[2021/02/05 08:26:05.321 +08:00] [INFO] [collector.go:135] [“publishBinlogs quit”]
[2021/02/05 08:26:05.321 +08:00] [INFO] [pump.go:77] [“pump is closing”] [id=10.188.3.161:8250]
[2021/02/05 08:26:05.321 +08:00] [INFO] [pump.go:77] [“pump is closing”] [id=10.188.3.160:8250]
[2021/02/05 08:26:05.321 +08:00] [INFO] [util.go:72] [Exit] [name=heartbeat]
[2021/02/05 08:26:05.321 +08:00] [INFO] [util.go:72] [Exit] [name=collect]
[2021/02/05 08:26:05.321 +08:00] [INFO] [main.go:73] [“drainer exit”]
[2021/02/05 08:26:05.321 +08:00] [INFO] [server.go:470] [“drainer exit”]
drainer.log (369.3 KB)
发现原因了 上游TIDB的主键一个是‘20210205-1700A3YH’ 和‘20210205-1700a3YH’ 而通过drainer同步的时候都变成了大写 所以导致主键冲突,这个有什么办法可以处理能同步大小写么