Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature add fence for tcc, and add fence sample in tcc local mode. #191

Merged
merged 17 commits into from
Sep 15, 2022
Merged

feature add fence for tcc, and add fence sample in tcc local mode. #191

merged 17 commits into from
Sep 15, 2022

Conversation

106umao
Copy link
Contributor

@106umao 106umao commented Aug 5, 2022

this pr will close #139 and #140

在Golang中由于没有诸如spring这样的容器框架,因此在一些功能实现上必然会有别于seata-java版本的,如TCC 防悬挂实现中我想到了两种实现方式,它们分别如下:

1,本pr提供了fence.WithFence接口作为防悬挂的一种使用方式,接口的详情如下:
fence.WithFence(ctx, tx, business func() error), 其中用户只需要将业务方法prepare等作为参数调用WithFence即可使用防悬挂功能。该方式已在本pr中实现,其优点如下:
以分支事务为细粒度启用防悬挂:在防悬挂中会涉及到数据库操作,因此是一项牺牲性能来保证安全性的措施,特别例如rollback fence中还会使用for update来进行锁操作,效率是非常低的,在seata-java中只要配置了USE_TCC_FENCE配置参数,一个全局事务的每个分支事务都会进行防悬挂的数据库操作,用户不能根据自己的想法定义某些分支事务启用防悬挂操作。而WithFence接口可以很好得解决这一点,用户可以自行选择哪个分支事务使用该接口(即代表开启防悬挂)。这样一来便能让以性能标榜的TCC模式在开启防悬挂后性能不会下降太多。
seata-go:
image
seata-java:
image

2,使用feature/datasource_at中数据源代理的方式在开启事务结束事务的代理流程中完成防悬挂操作 。本方案暂未实现

其中两种方式在使用过程中 WithFence对用户业务有些许侵入,但是可以优化防悬挂的使用细粒度,数据源代理的实现方式在使用过程中也会有些许侵入,但是相较于WithFence会好一点,不过该方式在防悬挂的使用细粒度而言是不如WithFence接口的。

考虑到seata-go是以SDK形式提供给用户使用的,因此我认为两种方式都可以实现,将使用的决定权交给用户,让用户来权衡侵入性与性能的利弊。

@pengten
Copy link

pengten commented Aug 7, 2022

I don't know much about golang,there are something have to be aware of.

  1. All pre、commit、rollback need to be completed in one transaction.
  2. Each resource could has a unique configuration of fence.
    If we have done these things, please ignore.

@106umao
Copy link
Contributor Author

106umao commented Aug 7, 2022

I don't know much about golang,there are something have to be aware of.

  1. All pre、commit、rollback need to be completed in one transaction.
  2. Each resource could has a unique configuration of fence.
    If we have done these things, please ignore.

I don't know much about golang,there are something have to be aware of.

  1. All pre、commit、rollback need to be completed in one transaction.
  2. Each resource could has a unique configuration of fence.
    If we have done these things, please ignore.

Well, Both have done

@106umao 106umao linked an issue Aug 10, 2022 that may be closed by this pull request
@106umao 106umao self-assigned this Aug 10, 2022
@106umao 106umao changed the title feature add fence for tcc, and add fence sample in tcc local mod. feature add fence for tcc, and add fence sample in tcc local mode. Aug 16, 2022
@codecov-commenter
Copy link

codecov-commenter commented Aug 28, 2022

Codecov Report

Merging #191 (f7afc9a) into master (94225ea) will increase coverage by 0.07%.
The diff coverage is 54.89%.

@@            Coverage Diff             @@
##           master     #191      +/-   ##
==========================================
+ Coverage   50.99%   51.06%   +0.07%     
==========================================
  Files          61       63       +2     
  Lines        3106     3276     +170     
==========================================
+ Hits         1584     1673      +89     
- Misses       1445     1512      +67     
- Partials       77       91      +14     
Impacted Files Coverage Δ
pkg/protocol/message/response_message.go 100.00% <ø> (ø)
pkg/rm/tcc/tcc_resource.go 32.43% <0.00%> (-5.47%) ⬇️
pkg/rm/tcc/tcc_service.go 70.80% <0.00%> (-0.45%) ⬇️
pkg/rm/tcc/fence/fence_api.go 55.55% <55.55%> (ø)
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go 55.65% <55.65%> (ø)
pkg/tm/context.go 79.34% <90.90%> (+1.57%) ⬆️
pkg/protocol/codec/branch_commit_response_codec.go 91.42% <100.00%> (ø)
...g/protocol/codec/branch_register_response_codec.go 90.32% <100.00%> (ø)
...g/protocol/codec/branch_rollback_response_codec.go 91.42% <100.00%> (ø)
...protocol/codec/common_global_end_response_codec.go 88.88% <100.00%> (ø)
... and 3 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

pkg/common/errors/error_code.go Show resolved Hide resolved
pkg/rm/rm_remoting.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/config/tcc_fence_config.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/config/tcc_fence_config.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/constant/tcc_fence_constant.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/handler/tcc_fence_dbproxy_handler.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/handler/tcc_fence_dbproxy_handler.go Outdated Show resolved Hide resolved
@106umao 106umao requested review from luky116 and removed request for liiibpm September 1, 2022 07:02
@106umao 106umao requested a review from luky116 September 2, 2022 16:41
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go Outdated Show resolved Hide resolved
pkg/rm/tcc/fence/store/db/dao/tcc_fence_db.go Show resolved Hide resolved
pkg/rm/two_phase.go Outdated Show resolved Hide resolved
pkg/common/errors/error_code.go Show resolved Hide resolved
@106umao 106umao requested a review from luky116 September 3, 2022 13:52
sample/tcc/fence/service/service.go Outdated Show resolved Hide resolved
sample/tcc/fence/service/service.go Outdated Show resolved Hide resolved
pkg/rm/tcc/tcc_service.go Outdated Show resolved Hide resolved
@106umao 106umao requested review from georgehao and removed request for wang1309 September 14, 2022 03:39
@106umao 106umao merged commit 1fc63e6 into apache:master Sep 15, 2022
wang1309 pushed a commit to wang1309/seata-go that referenced this pull request Jan 7, 2023
AlexStocks added a commit that referenced this pull request Jan 8, 2023
* Initial commit

* add config file

* init

* add rm

* add processor

* bug fix

* use processor on message

* change default config

* init github Actions

* init github Actions

* add tcc process

* Adjust the structure of the project

* Adjust the structure of the project

* Adjust the structure of the project

* fix linter error

* fix cli

* add apache license

* fix config

* add unit test

* add go imports shell

* Adjust project directory

* remove iota

* fix cli bug

* remove the useless comments

* fix branch commit bug

* remove goetty package

* Optimize codec code

* Create enhancement.md

* style:change bool to struct{}

* fix commit and rollback codec

* realize branchReport

* add seata-go samples

* add processor unittest

* remove blank and annotation

* branchReport return value judgment

* optimize-zap-log

* update changed the format of log

* remove the duplicate code same with sample/local

* optimize format of logging

* optimize format of logging

* optimize format of logging

* Update logging.go

* feature add action context for tcc

* add err check for unmarshal json

* Feat add two phase (#122)

* add two phase

* support seata dubbo

* fix getty auto close bug (#130)

* optimize named for the resource manager api and tcc resource, adjust … (#125)

update optimize the resource manager.

* docs: add readme ,contributing and pr template doc (#153)

* add license (#146)

* bugfix: fix rollback response status bug (#155)

* feature add unit test and labeler workflow (#165)

* add license

* add license

* add unit test workflow, rename golangci lint workflow

* changed golang version from 1.15 to 1.16 in workflow.

* fix golangci-lint invaild

* fix golangci-lint invalid.

* add labeler workflow

* fix labeler invaild

* fix typo in reademe (#167)

fix typo

* doc: add seata server startup docker compose file (#172)

doc: add seata server startup docker composer file

* doc: add release 0.1.0 changes note (#169)

doc: add release 0.0.1-rc1 changes note

* optimize add ut for message (#154)

* add ut for message

* format imports

* optimieze add ut for tm (#163)

* add ut

* add ut for tm

* format imports

* resolve conflict in go mod

* fix loop variable v captured by func literal (govet)

* optimize ut for tm in gomonkey mock.

* format by goimports

* optimize code style

* resolve conflict.

* [modify] git ignore add build products in 'dist/' (#177)

* bugfix fix ut bug of msg, it will cause ci failed (#176)

fix ut bug of msg.

* optimize: optimise way of init seata (#187)

optimize: optimise way of init seata

* Feature add tcc branch report (#190)

feature: add tcc branch report

* refactor(pkg/rm): optimize function's parameters into one struct (#196)

optimize function's parameters into one struct,comment and code style

Co-authored-by: liushao <[email protected]>

* feature add integration for grpc (#158)

* finish ut for interceptor

* add client interceptor

* add server interceptor

* adjust location for test file

* format in goimports

* goimformat

* adjust package struct of grpc interceptor, move constant of grpc to common package.

* adjust gprc interceptor file struct

* refact directory, optimize grpc test case

* optimize proto

* delte test file

* delte test file

* fix npe for server integration

* go mod tidy

* remove duplicate constant

* optimize: remove unnecessary codes (#208)

* Add unit testing for getty (#203)

* getty tests

* test

* test

* style

* style go mod

* style:format imports

* style:Delete the useless gomonkey Reset method

Co-authored-by: xubaisheng <>

* optimize workflow, add condecov and issue, stale robot (#202)

optimize workflow, add condecov and issue robot

* Feature add tcc branch report unit test (#210)

test: add tcc branch report unit test

* optimize: support instance BusinessActionContext outside the TCC try … (#179)

optimize: support instance BusinessActionContext outside the TCC try method

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* optimize ResourceManagerInbound function's parameters into one struct-rm_api.go  (#198)

optimiz: optimize function's parameters into one struct-rm_api.go

* feature add tcc grpc sample,adjust register resource and branch register (#200)

feature: add grpc integration for tcc

* fix enhancement: make time parameters easier to read (#215)

optimize: make time parameters easier to read

* feature/datasource_at merge to master (#213)

feature: add transaction at datasource

* add rm test  (#192)

add test for rm

* optimize: add some todo comment, add a undo hook sample (#238)

add some todo comment, add a undo hook sample

* replace the underline naming in the code with the hump naming method (#235)

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* fix: do register resource where execute OpenConnector function (#237)

* fix: register resource where execute OpenConnector function

* remove chinese comment

* optimize Add unit testing for common (#229)

* add unit test

* add unit test

* add unit test

Co-authored-by: miaoxueyu <[email protected]>

* bugfix: fix infinite loop of asyncCallback (#230)

asyncCallback -> syncCallback

* feature: add undo log manager delete (#240)

feature:add DeleteUndoLogs func, issue:#217

* frature: add update sql parser (#243)

feature: parse select sql from update sql

* feature: add license github action (#254)

* add license github action

* fix global transation time out (#258)

* feature add fence for tcc, and add fence sample in tcc local mode. (#191)

* frature: add update sql parser and remove tidb parser (#264)

add update sql parser and remove tidb parser (#243)

* fix ci failed because mock is invalid (#263)

* optimize: nested loop retries (#261)

* feat: add http tcc (#280)

feat: add http tcc

* feat: optimize retry (#284)

feat: optimize retry

* optimize: split client.Init into rm.Init and tm.Init methods (#286)

optimize: nested loop retries (#261)

* optimize: optimize global transaction usage (#281)

* refact the tm executor and adjust the sample

* optimize interface, adjust samples

* fix ci

* optimize comment

* upgrade go version

* add tx name configuration

* add panic handler

* feat: add has undo log table (#245)

feat:add has undo log table func

* (WIP)refactor:seata conn (#287)

* refactor:seata conn

* test: add unit test

* test: add unit test

* feat: add mysql update undo log builder (#288)

feat: add mysql update undo log builder

* change dubbo-go version (#302)

optimize: change dubbo-go version

* test:add DoParser ut (#299)

test: add DoParser unit test

* config github action not to automatically close ps or issue (#305)

* add mysql delete undo log builder (#296)

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* feat: add sync worker and fmt (#303)

* feat: add sync worker and fmt

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: fix spell

* feat: fix conflict

Co-authored-by: Xin.Zh <[email protected]>
Co-authored-by: haohongfan1 <[email protected]>

* Feat add mysql update after undo log builder (#289)

feat: add mysql update after undo log builder

* format:format code

* format:format code

* feat:add mysql table meta func && sql addEscape, delEscape func issue… (#294)

* feat:add mysql table meta func && sql addEscape, delEscape func issue#290

* fix:TestMetaCache func rename

* fix:ci lint fail fix

* fix: solve GetTableMeta return type && constant define

* fix:solve code format and meta cache func fault

* fix:solev git ci fail

* fix:solev git ci fail

* format:format code

* fix:merge master && format code

* fix:solve name conflict

Co-authored-by: 王瑞 <[email protected]>
Co-authored-by: wangrui130 <[email protected]>

* feat: init compressor type (#309)

* init compressor type

* refactor compress (#318)

* init compressor type

* init compressor type

* reformat code

* reformat code

* Feat multi undo log builder (#301)

* feat: add mysql update undo log builder

* add log

* add comment for JDBCType

* add name

* optimize basic builder

* fix type

* fix type

* fix switch

* add update after iamge builder

* format code

* format

* add multi undo log builder

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* feat: fix fanout test data race (#326)

* Refactor seata conn (#295)

* refactor:split xa and at logic

* refactor:split xa and at logic

* refactor:split xa and at logic

* feat(compressor): deflate compress (#321)

* feat(compressor): deflate compress

1. Optimize compressor type definition. (Don't start with package name).
2. Implement deflate compressor and ut.

close #312

* refactor(compressor): revert compressor type definition

* refactor(compressor): remove fmt.Println in ut

* refactor(compressor): adjust the order of deflate compressor constants.

* Add LZ4 compressor support. (#324)

* feat: add lz4 compressor support.

Signed-off-by: Wyatt Jia <[email protected]>

* fix lz4 compressor buffer error.

Signed-off-by: Wyatt Jia <[email protected]>

* format code by goimports.

* Add equal lz4 decompress test case and format code by goimports.

Signed-off-by: Wyatt Jia <[email protected]>

* add zstd compress (#327)

zstd compress

Co-authored-by: xubaisheng <>

* Feat add gzip (#322)

* format:format code

* feat:add gzip func

* fix:comment unuseful code

* fix: fix ret val and unit test assert

* fix:gzip unit modify

* fix:unit test param define modify

Co-authored-by: wangrui130 <[email protected]>
Co-authored-by: 王瑞 <[email protected]>

* feat:add undo log manager-flush undo log func #269 (#307)

add undo log manager-flush undo log func #269

* Feat add zip #315 (#329)

* add zipcompress

* Feat/multi update (#325)

feat: add multi update

* feature: add select for update (#319)

* add select for update

* wip:multi delete sql (#330)

feat:multi delete sql

Co-authored-by: wangxiaoxiong <[email protected]>

* test: strengthen ut (#332)

* optimize at (#336)

optimize at model

* Feat add undo func (#320)

add undo function

* optimize: add insert undo log function (#337)

add insert undo log function

* doc: add sample undo_log table sql

add sample mysql

* optimize at commit branch (#346)

* optimize at

* fix:timeout config & panic log lost (#350)

* fix timeout config & panic log lost

* format & fix rollback

* optimize meta data (#352)

optimize meta data

* optimize commit (#354)

optimize commit

* optimize commit (#354)

optimize commit  process

* feat: modify some receiver name (#353)

* feat: modify some receiver name

* feat: add no transaction test

* feat: update batch delete

* Optimize rollback (#356)

optimize  rollback

* feat: add gin for at and fix async worker bug (#357)

* feature: support ONLY_CARE_UPDATE_COLUMNS (#355)

support ONLY_CARE_UPDATE_COLUMNS & fix beforeImage error due to the struct shallow copy

* Rollback (#358)

* feat: rollback

* feat: add at rollback sampel

* feat: fix name

* fix bug (#359)

* Rollback1 (#360)

* feat: rollback

* feat: add at rollback sampel

* feat: update

* Fix meta data (#363)

 fix ColumnType

* Fix decode image(#365)

fix decode image

* add data check before rollbeck (#366)

* add data check before rollbeck

* doc: v1.0.2-RC1 release file (#338)

* optimize: remove unless function (#369)

remove unless function

* doc: update 1.0.2-RC1 change log (#370)

* update 1.0.2-RC1 change log

* fix: at sample (#374)

fix at rolback sample

* optimize: simplify to make codes more readable (#367)

Signed-off-by: charlie <[email protected]>

* feat:add yml config  (#285)

add yml config

* feat: support for propagation of global transactions (#262)

* feature:build undo log by insert target SQL (#333)

* insert undo log

* add insert undo test

* fix map loop

* OPT code style & lint & add ut

* fix imports

* fix conflict & adapter some modify

* fix some bug & add ut

* fix  at smaple sql (#385)

fix  the table structure in testdata sql requires fewer fields than that in smaple (#385)

* fix: loop recursion problem in OpenConnector (#387)

fix: fix loop recursion problem in OpenConnector

* add tcc fence config logic (#383)

* add tcc fence config logic

* add string loader

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* merge Load and LoadPath

* fix sample

* optimize some format (#392)

Co-authored-by: haohongfan1 <[email protected]>

* optimize at base executor (#394)

optimize at executor

* feat: add tm config (#398)

feat(pkg/client,pkg/config): add tm config

* feat: add getty config (#399)

add getty config

* fix branch register response (#401)

* fix branch register response

* optimize protocol init (#400)

* optimize protocol init

* optimize RM init (#390)

* OPT rm client

* fix code style

* fix lint

* feat: support xa mysql connection (#380)

* [wip]feat: support xa mysql connection

Signed-off-by: charlie <[email protected]>

* Feat xa branch xid (#389)

* feat: add xa branch xid

Co-authored-by: 王瑞 <[email protected]>

* [AT] add insert on duplicate (#405)

Co-authored-by: “kirhaku” <“[email protected]”>

* optimize: refactor at executor  (#397)

* refactor at executor

* refactor: use new tm config in tm module. (#411)

* refactor: use new tm config in tm module.

* roptimize: efactor delete and insert executor (#409)

* refactor delete and insert executor

* optimize: add log init (#408)

* feature: add transport config (#406)

* add transport config

* refactor(compressor): rename defalte_compress_test.go to deflate_compress_test.go (#414)

Co-authored-by: liushao <[email protected]>

* feat: add RM config (#412)

* feat: add rm config

* optimize readme (#417)

* feat: add service and seata config (#413)

* feat: add  Undo  config (#410)

add undo config

* fix undo config (#418)

fix undo config

* opt: optimize comments and dead code (#388)

* Apply getty config (#421)

* apply getty config

* feat: use undo config (#419)

* use undo config

* remove unused config (#422)

* bugfix: repair init getty failed (#423)

* bugfix: repair init getty failed

* fix getty config (#424)

* remove unused config

* bugfix: at model execution failed (#429)

* bugfix: at model execution failed

* Optimize getty config (#430)

* temporary not supported connection-num

* use config (#436)

* fix bug

* doc: add v1.0.2-RC3  change log (#431)

add change log for v1.0.2-RC3

* rename change-log to 1.0.3 (#443)

Co-authored-by: liuyuecai <[email protected]>

* fix:when id autoincrement insert fail

Signed-off-by: Wyatt Jia <[email protected]>
Signed-off-by: charlie <[email protected]>
Co-authored-by: Xin.Zh <[email protected]>
Co-authored-by: luky116_Liuyuecai <[email protected]>
Co-authored-by: liiiiiibpm <[email protected]>
Co-authored-by: AlexStocks <[email protected]>
Co-authored-by: liuyuecai <[email protected]>
Co-authored-by: 刘月财 <[email protected]>
Co-authored-by: wangxiaoxiong <[email protected]>
Co-authored-by: lichen <[email protected]>
Co-authored-by: cgDeepLearn <[email protected]>
Co-authored-by: liiibpm <[email protected]>
Co-authored-by: juzimao <[email protected]>
Co-authored-by: adair peng <[email protected]>
Co-authored-by: Elrond G <[email protected]>
Co-authored-by: liushao <[email protected]>
Co-authored-by: liushao <[email protected]>
Co-authored-by: Cr <[email protected]>
Co-authored-by: 野牛 <[email protected]>
Co-authored-by: Jason Deng <[email protected]>
Co-authored-by: liaochuntao <[email protected]>
Co-authored-by: windWheel <[email protected]>
Co-authored-by: miaoxueyu <[email protected]>
Co-authored-by: miaoxueyu <[email protected]>
Co-authored-by: PangXing <[email protected]>
Co-authored-by: georgehao <[email protected]>
Co-authored-by: baerwang <[email protected]>
Co-authored-by: Shaozhou Hu <[email protected]>
Co-authored-by: haohongfan1 <[email protected]>
Co-authored-by: 王瑞 <[email protected]>
Co-authored-by: bitstring <[email protected]>
Co-authored-by: FengZhang <[email protected]>
Co-authored-by: Charlie17Li <[email protected]>
Co-authored-by: zhangym <[email protected]>
Co-authored-by: lxfeng1997 <[email protected]>
Co-authored-by: Kirhaku <[email protected]>
Co-authored-by: “kirhaku” <“[email protected]”>
Co-authored-by: Zihao Yu <[email protected]>
georgehao added a commit to georgehao/seata-go that referenced this pull request Feb 4, 2023
* Initial commit

* add config file

* init

* add rm

* add processor

* bug fix

* use processor on message

* change default config

* init github Actions

* init github Actions

* add tcc process

* Adjust the structure of the project

* Adjust the structure of the project

* Adjust the structure of the project

* fix linter error

* fix cli

* add apache license

* fix config

* add unit test

* add go imports shell

* Adjust project directory

* remove iota

* fix cli bug

* remove the useless comments

* fix branch commit bug

* remove goetty package

* Optimize codec code

* Create enhancement.md

* style:change bool to struct{}

* fix commit and rollback codec

* realize branchReport

* add seata-go samples

* add processor unittest

* remove blank and annotation

* branchReport return value judgment

* optimize-zap-log

* update changed the format of log

* remove the duplicate code same with sample/local

* optimize format of logging

* optimize format of logging

* optimize format of logging

* Update logging.go

* feature add action context for tcc

* add err check for unmarshal json

* Feat add two phase (apache#122)

* add two phase

* support seata dubbo

* fix getty auto close bug (apache#130)

* optimize named for the resource manager api and tcc resource, adjust … (apache#125)

update optimize the resource manager.

* docs: add readme ,contributing and pr template doc (apache#153)

* add license (apache#146)

* bugfix: fix rollback response status bug (apache#155)

* feature add unit test and labeler workflow (apache#165)

* add license

* add license

* add unit test workflow, rename golangci lint workflow

* changed golang version from 1.15 to 1.16 in workflow.

* fix golangci-lint invaild

* fix golangci-lint invalid.

* add labeler workflow

* fix labeler invaild

* fix typo in reademe (apache#167)

fix typo

* doc: add seata server startup docker compose file (apache#172)

doc: add seata server startup docker composer file

* doc: add release 0.1.0 changes note (apache#169)

doc: add release 0.0.1-rc1 changes note

* optimize add ut for message (apache#154)

* add ut for message

* format imports

* optimieze add ut for tm (apache#163)

* add ut

* add ut for tm

* format imports

* resolve conflict in go mod

* fix loop variable v captured by func literal (govet)

* optimize ut for tm in gomonkey mock.

* format by goimports

* optimize code style

* resolve conflict.

* [modify] git ignore add build products in 'dist/' (apache#177)

* bugfix fix ut bug of msg, it will cause ci failed (apache#176)

fix ut bug of msg.

* optimize: optimise way of init seata (apache#187)

optimize: optimise way of init seata

* Feature add tcc branch report (apache#190)

feature: add tcc branch report

* refactor(pkg/rm): optimize function's parameters into one struct (apache#196)

optimize function's parameters into one struct,comment and code style

Co-authored-by: liushao <[email protected]>

* feature add integration for grpc (apache#158)

* finish ut for interceptor

* add client interceptor

* add server interceptor

* adjust location for test file

* format in goimports

* goimformat

* adjust package struct of grpc interceptor, move constant of grpc to common package.

* adjust gprc interceptor file struct

* refact directory, optimize grpc test case

* optimize proto

* delte test file

* delte test file

* fix npe for server integration

* go mod tidy

* remove duplicate constant

* optimize: remove unnecessary codes (apache#208)

* Add unit testing for getty (apache#203)

* getty tests

* test

* test

* style

* style go mod

* style:format imports

* style:Delete the useless gomonkey Reset method

Co-authored-by: xubaisheng <>

* optimize workflow, add condecov and issue, stale robot (apache#202)

optimize workflow, add condecov and issue robot

* Feature add tcc branch report unit test (apache#210)

test: add tcc branch report unit test

* optimize: support instance BusinessActionContext outside the TCC try … (apache#179)

optimize: support instance BusinessActionContext outside the TCC try method

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* optimize ResourceManagerInbound function's parameters into one struct-rm_api.go  (apache#198)

optimiz: optimize function's parameters into one struct-rm_api.go

* feature add tcc grpc sample,adjust register resource and branch register (apache#200)

feature: add grpc integration for tcc

* fix enhancement: make time parameters easier to read (apache#215)

optimize: make time parameters easier to read

* feature/datasource_at merge to master (apache#213)

feature: add transaction at datasource

* add rm test  (apache#192)

add test for rm

* optimize: add some todo comment, add a undo hook sample (apache#238)

add some todo comment, add a undo hook sample

* replace the underline naming in the code with the hump naming method (apache#235)

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* fix: do register resource where execute OpenConnector function (apache#237)

* fix: register resource where execute OpenConnector function

* remove chinese comment

* optimize Add unit testing for common (apache#229)

* add unit test

* add unit test

* add unit test

Co-authored-by: miaoxueyu <[email protected]>

* bugfix: fix infinite loop of asyncCallback (apache#230)

asyncCallback -> syncCallback

* feature: add undo log manager delete (apache#240)

feature:add DeleteUndoLogs func, issue:apache#217

* frature: add update sql parser (apache#243)

feature: parse select sql from update sql

* feature: add license github action (apache#254)

* add license github action

* fix global transation time out (apache#258)

* feature add fence for tcc, and add fence sample in tcc local mode. (apache#191)

* frature: add update sql parser and remove tidb parser (apache#264)

add update sql parser and remove tidb parser (apache#243)

* fix ci failed because mock is invalid (apache#263)

* optimize: nested loop retries (apache#261)

* feat: add http tcc (apache#280)

feat: add http tcc

* feat: optimize retry (apache#284)

feat: optimize retry

* optimize: split client.Init into rm.Init and tm.Init methods (apache#286)

optimize: nested loop retries (apache#261)

* optimize: optimize global transaction usage (apache#281)

* refact the tm executor and adjust the sample

* optimize interface, adjust samples

* fix ci

* optimize comment

* upgrade go version

* add tx name configuration

* add panic handler

* feat: add has undo log table (apache#245)

feat:add has undo log table func

* (WIP)refactor:seata conn (apache#287)

* refactor:seata conn

* test: add unit test

* test: add unit test

* feat: add mysql update undo log builder (apache#288)

feat: add mysql update undo log builder

* change dubbo-go version (apache#302)

optimize: change dubbo-go version

* test:add DoParser ut (apache#299)

test: add DoParser unit test

* config github action not to automatically close ps or issue (apache#305)

* add mysql delete undo log builder (apache#296)

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* feat: add sync worker and fmt (apache#303)

* feat: add sync worker and fmt

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: fix spell

* feat: fix conflict

Co-authored-by: Xin.Zh <[email protected]>
Co-authored-by: haohongfan1 <[email protected]>

* Feat add mysql update after undo log builder (apache#289)

feat: add mysql update after undo log builder

* format:format code

* format:format code

* feat:add mysql table meta func && sql addEscape, delEscape func issue… (apache#294)

* feat:add mysql table meta func && sql addEscape, delEscape func issue#290

* fix:TestMetaCache func rename

* fix:ci lint fail fix

* fix: solve GetTableMeta return type && constant define

* fix:solve code format and meta cache func fault

* fix:solev git ci fail

* fix:solev git ci fail

* format:format code

* fix:merge master && format code

* fix:solve name conflict

Co-authored-by: 王瑞 <[email protected]>
Co-authored-by: wangrui130 <[email protected]>

* feat: init compressor type (apache#309)

* init compressor type

* refactor compress (apache#318)

* init compressor type

* init compressor type

* reformat code

* reformat code

* Feat multi undo log builder (apache#301)

* feat: add mysql update undo log builder

* add log

* add comment for JDBCType

* add name

* optimize basic builder

* fix type

* fix type

* fix switch

* add update after iamge builder

* format code

* format

* add multi undo log builder

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* feat: fix fanout test data race (apache#326)

* Refactor seata conn (apache#295)

* refactor:split xa and at logic

* refactor:split xa and at logic

* refactor:split xa and at logic

* feat(compressor): deflate compress (apache#321)

* feat(compressor): deflate compress

1. Optimize compressor type definition. (Don't start with package name).
2. Implement deflate compressor and ut.

close apache#312

* refactor(compressor): revert compressor type definition

* refactor(compressor): remove fmt.Println in ut

* refactor(compressor): adjust the order of deflate compressor constants.

* Add LZ4 compressor support. (apache#324)

* feat: add lz4 compressor support.

Signed-off-by: Wyatt Jia <[email protected]>

* fix lz4 compressor buffer error.

Signed-off-by: Wyatt Jia <[email protected]>

* format code by goimports.

* Add equal lz4 decompress test case and format code by goimports.

Signed-off-by: Wyatt Jia <[email protected]>

* add zstd compress (apache#327)

zstd compress

Co-authored-by: xubaisheng <>

* Feat add gzip (apache#322)

* format:format code

* feat:add gzip func

* fix:comment unuseful code

* fix: fix ret val and unit test assert

* fix:gzip unit modify

* fix:unit test param define modify

Co-authored-by: wangrui130 <[email protected]>
Co-authored-by: 王瑞 <[email protected]>

* feat:add undo log manager-flush undo log func apache#269 (apache#307)

add undo log manager-flush undo log func apache#269

* Feat add zip apache#315 (apache#329)

* add zipcompress

* Feat/multi update (apache#325)

feat: add multi update

* feature: add select for update (apache#319)

* add select for update

* wip:multi delete sql (apache#330)

feat:multi delete sql

Co-authored-by: wangxiaoxiong <[email protected]>

* test: strengthen ut (apache#332)

* optimize at (apache#336)

optimize at model

* Feat add undo func (apache#320)

add undo function

* optimize: add insert undo log function (apache#337)

add insert undo log function

* doc: add sample undo_log table sql

add sample mysql

* optimize at commit branch (apache#346)

* optimize at

* fix:timeout config & panic log lost (apache#350)

* fix timeout config & panic log lost

* format & fix rollback

* optimize meta data (apache#352)

optimize meta data

* optimize commit (apache#354)

optimize commit

* optimize commit (apache#354)

optimize commit  process

* feat: modify some receiver name (apache#353)

* feat: modify some receiver name

* feat: add no transaction test

* feat: update batch delete

* Optimize rollback (apache#356)

optimize  rollback

* feat: add gin for at and fix async worker bug (apache#357)

* feature: support ONLY_CARE_UPDATE_COLUMNS (apache#355)

support ONLY_CARE_UPDATE_COLUMNS & fix beforeImage error due to the struct shallow copy

* Rollback (apache#358)

* feat: rollback

* feat: add at rollback sampel

* feat: fix name

* fix bug (apache#359)

* Rollback1 (apache#360)

* feat: rollback

* feat: add at rollback sampel

* feat: update

* Fix meta data (apache#363)

 fix ColumnType

* Fix decode image(apache#365)

fix decode image

* add data check before rollbeck (apache#366)

* add data check before rollbeck

* doc: v1.0.2-RC1 release file (apache#338)

* optimize: remove unless function (apache#369)

remove unless function

* doc: update 1.0.2-RC1 change log (apache#370)

* update 1.0.2-RC1 change log

* fix: at sample (apache#374)

fix at rolback sample

* optimize: simplify to make codes more readable (apache#367)

Signed-off-by: charlie <[email protected]>

* feat:add yml config  (apache#285)

add yml config

* feat: support for propagation of global transactions (apache#262)

* feature:build undo log by insert target SQL (apache#333)

* insert undo log

* add insert undo test

* fix map loop

* OPT code style & lint & add ut

* fix imports

* fix conflict & adapter some modify

* fix some bug & add ut

* fix  at smaple sql (apache#385)

fix  the table structure in testdata sql requires fewer fields than that in smaple (apache#385)

* fix: loop recursion problem in OpenConnector (apache#387)

fix: fix loop recursion problem in OpenConnector

* add tcc fence config logic (apache#383)

* add tcc fence config logic

* add string loader

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* merge Load and LoadPath

* fix sample

* optimize some format (apache#392)

Co-authored-by: haohongfan1 <[email protected]>

* optimize at base executor (apache#394)

optimize at executor

* feat: add tm config (apache#398)

feat(pkg/client,pkg/config): add tm config

* feat: add getty config (apache#399)

add getty config

* fix branch register response (apache#401)

* fix branch register response

* optimize protocol init (apache#400)

* optimize protocol init

* optimize RM init (apache#390)

* OPT rm client

* fix code style

* fix lint

* feat: support xa mysql connection (apache#380)

* [wip]feat: support xa mysql connection

Signed-off-by: charlie <[email protected]>

* Feat xa branch xid (apache#389)

* feat: add xa branch xid

Co-authored-by: 王瑞 <[email protected]>

* [AT] add insert on duplicate (apache#405)

Co-authored-by: “kirhaku” <“[email protected]”>

* optimize: refactor at executor  (apache#397)

* refactor at executor

* refactor: use new tm config in tm module. (apache#411)

* refactor: use new tm config in tm module.

* roptimize: efactor delete and insert executor (apache#409)

* refactor delete and insert executor

* optimize: add log init (apache#408)

* feature: add transport config (apache#406)

* add transport config

* refactor(compressor): rename defalte_compress_test.go to deflate_compress_test.go (apache#414)

Co-authored-by: liushao <[email protected]>

* feat: add RM config (apache#412)

* feat: add rm config

* optimize readme (apache#417)

* feat: add service and seata config (apache#413)

* feat: add  Undo  config (apache#410)

add undo config

* fix undo config (apache#418)

fix undo config

* opt: optimize comments and dead code (apache#388)

* Apply getty config (apache#421)

* apply getty config

* feat: use undo config (apache#419)

* use undo config

* remove unused config (apache#422)

* bugfix: repair init getty failed (apache#423)

* bugfix: repair init getty failed

* fix getty config (apache#424)

* remove unused config

* bugfix: at model execution failed (apache#429)

* bugfix: at model execution failed

* Optimize getty config (apache#430)

* temporary not supported connection-num

* use config (apache#436)

* fix bug

* doc: add v1.0.2-RC3  change log (apache#431)

add change log for v1.0.2-RC3

* rename change-log to 1.0.3 (apache#443)

Co-authored-by: liuyuecai <[email protected]>

* fix:when id autoincrement insert fail

Signed-off-by: Wyatt Jia <[email protected]>
Signed-off-by: charlie <[email protected]>
Co-authored-by: Xin.Zh <[email protected]>
Co-authored-by: luky116_Liuyuecai <[email protected]>
Co-authored-by: liiiiiibpm <[email protected]>
Co-authored-by: AlexStocks <[email protected]>
Co-authored-by: liuyuecai <[email protected]>
Co-authored-by: 刘月财 <[email protected]>
Co-authored-by: wangxiaoxiong <[email protected]>
Co-authored-by: lichen <[email protected]>
Co-authored-by: cgDeepLearn <[email protected]>
Co-authored-by: liiibpm <[email protected]>
Co-authored-by: juzimao <[email protected]>
Co-authored-by: adair peng <[email protected]>
Co-authored-by: Elrond G <[email protected]>
Co-authored-by: liushao <[email protected]>
Co-authored-by: liushao <[email protected]>
Co-authored-by: Cr <[email protected]>
Co-authored-by: 野牛 <[email protected]>
Co-authored-by: Jason Deng <[email protected]>
Co-authored-by: liaochuntao <[email protected]>
Co-authored-by: windWheel <[email protected]>
Co-authored-by: miaoxueyu <[email protected]>
Co-authored-by: miaoxueyu <[email protected]>
Co-authored-by: PangXing <[email protected]>
Co-authored-by: georgehao <[email protected]>
Co-authored-by: baerwang <[email protected]>
Co-authored-by: Shaozhou Hu <[email protected]>
Co-authored-by: haohongfan1 <[email protected]>
Co-authored-by: 王瑞 <[email protected]>
Co-authored-by: bitstring <[email protected]>
Co-authored-by: FengZhang <[email protected]>
Co-authored-by: Charlie17Li <[email protected]>
Co-authored-by: zhangym <[email protected]>
Co-authored-by: lxfeng1997 <[email protected]>
Co-authored-by: Kirhaku <[email protected]>
Co-authored-by: “kirhaku” <“[email protected]”>
Co-authored-by: Zihao Yu <[email protected]>
georgehao added a commit to georgehao/seata-go that referenced this pull request May 7, 2023
* Initial commit

* add config file

* init

* add rm

* add processor

* bug fix

* use processor on message

* change default config

* init github Actions

* init github Actions

* add tcc process

* Adjust the structure of the project

* Adjust the structure of the project

* Adjust the structure of the project

* fix linter error

* fix cli

* add apache license

* fix config

* add unit test

* add go imports shell

* Adjust project directory

* remove iota

* fix cli bug

* remove the useless comments

* fix branch commit bug

* remove goetty package

* Optimize codec code

* Create enhancement.md

* style:change bool to struct{}

* fix commit and rollback codec

* realize branchReport

* add seata-go samples

* add processor unittest

* remove blank and annotation

* branchReport return value judgment

* optimize-zap-log

* update changed the format of log

* remove the duplicate code same with sample/local

* optimize format of logging

* optimize format of logging

* optimize format of logging

* Update logging.go

* feature add action context for tcc

* add err check for unmarshal json

* Feat add two phase (apache#122)

* add two phase

* support seata dubbo

* fix getty auto close bug (apache#130)

* optimize named for the resource manager api and tcc resource, adjust … (apache#125)

update optimize the resource manager.

* docs: add readme ,contributing and pr template doc (apache#153)

* add license (apache#146)

* bugfix: fix rollback response status bug (apache#155)

* feature add unit test and labeler workflow (apache#165)

* add license

* add license

* add unit test workflow, rename golangci lint workflow

* changed golang version from 1.15 to 1.16 in workflow.

* fix golangci-lint invaild

* fix golangci-lint invalid.

* add labeler workflow

* fix labeler invaild

* fix typo in reademe (apache#167)

fix typo

* doc: add seata server startup docker compose file (apache#172)

doc: add seata server startup docker composer file

* doc: add release 0.1.0 changes note (apache#169)

doc: add release 0.0.1-rc1 changes note

* optimize add ut for message (apache#154)

* add ut for message

* format imports

* optimieze add ut for tm (apache#163)

* add ut

* add ut for tm

* format imports

* resolve conflict in go mod

* fix loop variable v captured by func literal (govet)

* optimize ut for tm in gomonkey mock.

* format by goimports

* optimize code style

* resolve conflict.

* [modify] git ignore add build products in 'dist/' (apache#177)

* bugfix fix ut bug of msg, it will cause ci failed (apache#176)

fix ut bug of msg.

* optimize: optimise way of init seata (apache#187)

optimize: optimise way of init seata

* Feature add tcc branch report (apache#190)

feature: add tcc branch report

* refactor(pkg/rm): optimize function's parameters into one struct (apache#196)

optimize function's parameters into one struct,comment and code style

Co-authored-by: liushao <[email protected]>

* feature add integration for grpc (apache#158)

* finish ut for interceptor

* add client interceptor

* add server interceptor

* adjust location for test file

* format in goimports

* goimformat

* adjust package struct of grpc interceptor, move constant of grpc to common package.

* adjust gprc interceptor file struct

* refact directory, optimize grpc test case

* optimize proto

* delte test file

* delte test file

* fix npe for server integration

* go mod tidy

* remove duplicate constant

* optimize: remove unnecessary codes (apache#208)

* Add unit testing for getty (apache#203)

* getty tests

* test

* test

* style

* style go mod

* style:format imports

* style:Delete the useless gomonkey Reset method

Co-authored-by: xubaisheng <>

* optimize workflow, add condecov and issue, stale robot (apache#202)

optimize workflow, add condecov and issue robot

* Feature add tcc branch report unit test (apache#210)

test: add tcc branch report unit test

* optimize: support instance BusinessActionContext outside the TCC try … (apache#179)

optimize: support instance BusinessActionContext outside the TCC try method

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* optimize ResourceManagerInbound function's parameters into one struct-rm_api.go  (apache#198)

optimiz: optimize function's parameters into one struct-rm_api.go

* feature add tcc grpc sample,adjust register resource and branch register (apache#200)

feature: add grpc integration for tcc

* fix enhancement: make time parameters easier to read (apache#215)

optimize: make time parameters easier to read

* feature/datasource_at merge to master (apache#213)

feature: add transaction at datasource

* add rm test  (apache#192)

add test for rm

* optimize: add some todo comment, add a undo hook sample (apache#238)

add some todo comment, add a undo hook sample

* replace the underline naming in the code with the hump naming method (apache#235)

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* fix: do register resource where execute OpenConnector function (apache#237)

* fix: register resource where execute OpenConnector function

* remove chinese comment

* optimize Add unit testing for common (apache#229)

* add unit test

* add unit test

* add unit test

Co-authored-by: miaoxueyu <[email protected]>

* bugfix: fix infinite loop of asyncCallback (apache#230)

asyncCallback -> syncCallback

* feature: add undo log manager delete (apache#240)

feature:add DeleteUndoLogs func, issue:apache#217

* frature: add update sql parser (apache#243)

feature: parse select sql from update sql

* feature: add license github action (apache#254)

* add license github action

* fix global transation time out (apache#258)

* feature add fence for tcc, and add fence sample in tcc local mode. (apache#191)

* frature: add update sql parser and remove tidb parser (apache#264)

add update sql parser and remove tidb parser (apache#243)

* fix ci failed because mock is invalid (apache#263)

* optimize: nested loop retries (apache#261)

* feat: add http tcc (apache#280)

feat: add http tcc

* feat: optimize retry (apache#284)

feat: optimize retry

* optimize: split client.Init into rm.Init and tm.Init methods (apache#286)

optimize: nested loop retries (apache#261)

* optimize: optimize global transaction usage (apache#281)

* refact the tm executor and adjust the sample

* optimize interface, adjust samples

* fix ci

* optimize comment

* upgrade go version

* add tx name configuration

* add panic handler

* feat: add has undo log table (apache#245)

feat:add has undo log table func

* (WIP)refactor:seata conn (apache#287)

* refactor:seata conn

* test: add unit test

* test: add unit test

* feat: add mysql update undo log builder (apache#288)

feat: add mysql update undo log builder

* change dubbo-go version (apache#302)

optimize: change dubbo-go version

* test:add DoParser ut (apache#299)

test: add DoParser unit test

* config github action not to automatically close ps or issue (apache#305)

* add mysql delete undo log builder (apache#296)

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* feat: add sync worker and fmt (apache#303)

* feat: add sync worker and fmt

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: fix spell

* feat: fix conflict

Co-authored-by: Xin.Zh <[email protected]>
Co-authored-by: haohongfan1 <[email protected]>

* Feat add mysql update after undo log builder (apache#289)

feat: add mysql update after undo log builder

* format:format code

* format:format code

* feat:add mysql table meta func && sql addEscape, delEscape func issue… (apache#294)

* feat:add mysql table meta func && sql addEscape, delEscape func issue#290

* fix:TestMetaCache func rename

* fix:ci lint fail fix

* fix: solve GetTableMeta return type && constant define

* fix:solve code format and meta cache func fault

* fix:solev git ci fail

* fix:solev git ci fail

* format:format code

* fix:merge master && format code

* fix:solve name conflict

Co-authored-by: 王瑞 <[email protected]>
Co-authored-by: wangrui130 <[email protected]>

* feat: init compressor type (apache#309)

* init compressor type

* refactor compress (apache#318)

* init compressor type

* init compressor type

* reformat code

* reformat code

* Feat multi undo log builder (apache#301)

* feat: add mysql update undo log builder

* add log

* add comment for JDBCType

* add name

* optimize basic builder

* fix type

* fix type

* fix switch

* add update after iamge builder

* format code

* format

* add multi undo log builder

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* feat: fix fanout test data race (apache#326)

* Refactor seata conn (apache#295)

* refactor:split xa and at logic

* refactor:split xa and at logic

* refactor:split xa and at logic

* feat(compressor): deflate compress (apache#321)

* feat(compressor): deflate compress

1. Optimize compressor type definition. (Don't start with package name).
2. Implement deflate compressor and ut.

close apache#312

* refactor(compressor): revert compressor type definition

* refactor(compressor): remove fmt.Println in ut

* refactor(compressor): adjust the order of deflate compressor constants.

* Add LZ4 compressor support. (apache#324)

* feat: add lz4 compressor support.

Signed-off-by: Wyatt Jia <[email protected]>

* fix lz4 compressor buffer error.

Signed-off-by: Wyatt Jia <[email protected]>

* format code by goimports.

* Add equal lz4 decompress test case and format code by goimports.

Signed-off-by: Wyatt Jia <[email protected]>

* add zstd compress (apache#327)

zstd compress

Co-authored-by: xubaisheng <>

* Feat add gzip (apache#322)

* format:format code

* feat:add gzip func

* fix:comment unuseful code

* fix: fix ret val and unit test assert

* fix:gzip unit modify

* fix:unit test param define modify

Co-authored-by: wangrui130 <[email protected]>
Co-authored-by: 王瑞 <[email protected]>

* feat:add undo log manager-flush undo log func apache#269 (apache#307)

add undo log manager-flush undo log func apache#269

* Feat add zip apache#315 (apache#329)

* add zipcompress

* Feat/multi update (apache#325)

feat: add multi update

* feature: add select for update (apache#319)

* add select for update

* wip:multi delete sql (apache#330)

feat:multi delete sql

Co-authored-by: wangxiaoxiong <[email protected]>

* test: strengthen ut (apache#332)

* optimize at (apache#336)

optimize at model

* Feat add undo func (apache#320)

add undo function

* optimize: add insert undo log function (apache#337)

add insert undo log function

* doc: add sample undo_log table sql

add sample mysql

* optimize at commit branch (apache#346)

* optimize at

* fix:timeout config & panic log lost (apache#350)

* fix timeout config & panic log lost

* format & fix rollback

* optimize meta data (apache#352)

optimize meta data

* optimize commit (apache#354)

optimize commit

* optimize commit (apache#354)

optimize commit  process

* feat: modify some receiver name (apache#353)

* feat: modify some receiver name

* feat: add no transaction test

* feat: update batch delete

* Optimize rollback (apache#356)

optimize  rollback

* feat: add gin for at and fix async worker bug (apache#357)

* feature: support ONLY_CARE_UPDATE_COLUMNS (apache#355)

support ONLY_CARE_UPDATE_COLUMNS & fix beforeImage error due to the struct shallow copy

* Rollback (apache#358)

* feat: rollback

* feat: add at rollback sampel

* feat: fix name

* fix bug (apache#359)

* Rollback1 (apache#360)

* feat: rollback

* feat: add at rollback sampel

* feat: update

* Fix meta data (apache#363)

 fix ColumnType

* Fix decode image(apache#365)

fix decode image

* add data check before rollbeck (apache#366)

* add data check before rollbeck

* doc: v1.0.2-RC1 release file (apache#338)

* optimize: remove unless function (apache#369)

remove unless function

* doc: update 1.0.2-RC1 change log (apache#370)

* update 1.0.2-RC1 change log

* fix: at sample (apache#374)

fix at rolback sample

* optimize: simplify to make codes more readable (apache#367)

Signed-off-by: charlie <[email protected]>

* feat:add yml config  (apache#285)

add yml config

* feat: support for propagation of global transactions (apache#262)

* feature:build undo log by insert target SQL (apache#333)

* insert undo log

* add insert undo test

* fix map loop

* OPT code style & lint & add ut

* fix imports

* fix conflict & adapter some modify

* fix some bug & add ut

* fix  at smaple sql (apache#385)

fix  the table structure in testdata sql requires fewer fields than that in smaple (apache#385)

* fix: loop recursion problem in OpenConnector (apache#387)

fix: fix loop recursion problem in OpenConnector

* add tcc fence config logic (apache#383)

* add tcc fence config logic

* add string loader

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* merge Load and LoadPath

* fix sample

* optimize some format (apache#392)

Co-authored-by: haohongfan1 <[email protected]>

* optimize at base executor (apache#394)

optimize at executor

* feat: add tm config (apache#398)

feat(pkg/client,pkg/config): add tm config

* feat: add getty config (apache#399)

add getty config

* fix branch register response (apache#401)

* fix branch register response

* optimize protocol init (apache#400)

* optimize protocol init

* optimize RM init (apache#390)

* OPT rm client

* fix code style

* fix lint

* feat: support xa mysql connection (apache#380)

* [wip]feat: support xa mysql connection

Signed-off-by: charlie <[email protected]>

* Feat xa branch xid (apache#389)

* feat: add xa branch xid

Co-authored-by: 王瑞 <[email protected]>

* [AT] add insert on duplicate (apache#405)

Co-authored-by: “kirhaku” <“[email protected]”>

* optimize: refactor at executor  (apache#397)

* refactor at executor

* refactor: use new tm config in tm module. (apache#411)

* refactor: use new tm config in tm module.

* roptimize: efactor delete and insert executor (apache#409)

* refactor delete and insert executor

* optimize: add log init (apache#408)

* feature: add transport config (apache#406)

* add transport config

* refactor(compressor): rename defalte_compress_test.go to deflate_compress_test.go (apache#414)

Co-authored-by: liushao <[email protected]>

* feat: add RM config (apache#412)

* feat: add rm config

* optimize readme (apache#417)

* feat: add service and seata config (apache#413)

* feat: add  Undo  config (apache#410)

add undo config

* fix undo config (apache#418)

fix undo config

* opt: optimize comments and dead code (apache#388)

* Apply getty config (apache#421)

* apply getty config

* feat: use undo config (apache#419)

* use undo config

* remove unused config (apache#422)

* bugfix: repair init getty failed (apache#423)

* bugfix: repair init getty failed

* fix getty config (apache#424)

* remove unused config

* bugfix: at model execution failed (apache#429)

* bugfix: at model execution failed

* Optimize getty config (apache#430)

* temporary not supported connection-num

* use config (apache#436)

* fix bug

* doc: add v1.0.2-RC3  change log (apache#431)

add change log for v1.0.2-RC3

* rename change-log to 1.0.3 (apache#443)

Co-authored-by: liuyuecai <[email protected]>

* fix:when id autoincrement insert fail

Signed-off-by: Wyatt Jia <[email protected]>
Signed-off-by: charlie <[email protected]>
Co-authored-by: Xin.Zh <[email protected]>
Co-authored-by: luky116_Liuyuecai <[email protected]>
Co-authored-by: liiiiiibpm <[email protected]>
Co-authored-by: AlexStocks <[email protected]>
Co-authored-by: liuyuecai <[email protected]>
Co-authored-by: 刘月财 <[email protected]>
Co-authored-by: wangxiaoxiong <[email protected]>
Co-authored-by: lichen <[email protected]>
Co-authored-by: cgDeepLearn <[email protected]>
Co-authored-by: liiibpm <[email protected]>
Co-authored-by: juzimao <[email protected]>
Co-authored-by: adair peng <[email protected]>
Co-authored-by: Elrond G <[email protected]>
Co-authored-by: liushao <[email protected]>
Co-authored-by: liushao <[email protected]>
Co-authored-by: Cr <[email protected]>
Co-authored-by: 野牛 <[email protected]>
Co-authored-by: Jason Deng <[email protected]>
Co-authored-by: liaochuntao <[email protected]>
Co-authored-by: windWheel <[email protected]>
Co-authored-by: miaoxueyu <[email protected]>
Co-authored-by: miaoxueyu <[email protected]>
Co-authored-by: PangXing <[email protected]>
Co-authored-by: georgehao <[email protected]>
Co-authored-by: baerwang <[email protected]>
Co-authored-by: Shaozhou Hu <[email protected]>
Co-authored-by: haohongfan1 <[email protected]>
Co-authored-by: 王瑞 <[email protected]>
Co-authored-by: bitstring <[email protected]>
Co-authored-by: FengZhang <[email protected]>
Co-authored-by: Charlie17Li <[email protected]>
Co-authored-by: zhangym <[email protected]>
Co-authored-by: lxfeng1997 <[email protected]>
Co-authored-by: Kirhaku <[email protected]>
Co-authored-by: “kirhaku” <“[email protected]”>
Co-authored-by: Zihao Yu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support null compensation/ 支持空补偿处理 通用事务防悬挂/Transaction anti suspension
7 participants