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

merge from upstream #1

Open
wants to merge 1,039 commits into
base: develop
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
1039 commits
Select commit Hold shift + click to select a range
97333ee
bugfix: fix missing command line args (#4701)
slievrly Jun 16, 2022
95a89d5
maven: fix maven-compiler-plugin and maven-resources-plugin execute f…
slievrly Jun 17, 2022
d5fe866
bugfix: oracle database insert value error (#4696)
opelok-z Jun 21, 2022
285a24b
feature: support server to expose Nacos services by mounting SLB (#4676)
2129zxl Jun 22, 2022
48a7581
optimize: optimize pom description (#4721)
slievrly Jun 22, 2022
a22fafc
feature: support xid load balance (#4713)
funky-eyes Jun 24, 2022
8d6c3ef
bugfix: fix batch message send may return NullPointException (#4726)
slievrly Jun 24, 2022
9baa6b4
optimize: separate framework and lib dependencies for deployments (#…
slievrly Jun 26, 2022
ff5ea93
optimize: upgrade logback dependency to 1.2.9 (#4728)
Smery-lxm Jun 28, 2022
6bbc672
bugfix: set wrong value to rollbackForClassName (#4729)
AYue-94 Jun 28, 2022
1cbb274
test: fix UT failed in AsyncWorkerTest and LockManagerTest (#4731)
slievrly Jun 29, 2022
dd7a729
optimize: support mysql8 in release package (#4745)
slievrly Jul 6, 2022
9af19d4
feature: support batch message parallel processing (#4642)
lvekee Jul 8, 2022
41382b4
optimize: make EnhancedServiceLoader more readable (#4622)
lingxiao-wu Jul 8, 2022
708f97f
bugfix: fix the sql exception when pk is str (#4653)
caohdgege Jul 8, 2022
f296b9f
release: release for 1.5.2 (#4762)
slievrly Jul 12, 2022
63ec93a
optimize: optimize mysql8 dependencies for seataio/seata-server image…
slievrly Jul 15, 2022
06dae93
test: fix DataSourceProxyTest UT failed (#4794)
wangliang181230 Jul 20, 2022
3b607c2
actions: add github action to publish Seata to OSSRH (#4790)
wangliang181230 Jul 21, 2022
d979af4
optimize: unBranchLock romove xid (#4750)
lcmvs Jul 21, 2022
a4b266c
optimize: mysql 8.0.29 not should be hold for connection (#4765)
funky-eyes Jul 21, 2022
8297346
feature: dockerfile support arm64 (#4802)
funky-eyes Jul 22, 2022
68e4d39
optimize: optimize the github actions (#4797)
wangliang181230 Jul 22, 2022
b7dafbf
optimize: optimize docker image and oss publish (#4805) (#4807)
slievrly Jul 22, 2022
15add9a
optimize: add copyright notice (#4800)
AlexStocks Jul 26, 2022
b42f8d0
bugfix: fix in high version springboot property not resolved (#4817)
liujunlin5168 Jul 28, 2022
7668cd4
optimize: automatically publish once a day (#4819)
wangliang181230 Jul 29, 2022
eeb237c
optimize: use hget replace hmget because only one field (#4761)
conghuhu Aug 1, 2022
350ce31
optimize: exclude log4j dependencies (#4414)
pengten Aug 1, 2022
5b15922
bugfix: when use Statement.executeBatch() api can not generate after …
a1104321118 Aug 6, 2022
61349de
optimize: rename variable "filedSequence" to "rowSequence" for better…
duanqiaoyanyu Aug 8, 2022
8ace7ab
feature: seata-server support multiple registry (#4649)
liuqiufeng Aug 15, 2022
e3af78e
feature: TCC mode supports tcc annotation marked on both interface an…
yujianfei1986 Aug 17, 2022
592d18b
security: fix some security vulnerabilities in GGEditor (#4865)
slievrly Aug 19, 2022
9f71c37
bugfix: fix metrics tags coverage in the seata-server side (#4860)
robynron Aug 19, 2022
4dded88
feature: support oracle and postgresql multi primary key (#4863)
tuwenlin Aug 20, 2022
e3a4640
optimize: auto degrade unable dynamic configure (#4590)
pengten Aug 21, 2022
06c2a50
optimize : tccfence log table deleted should be optimized (#4490)
Bughue Aug 22, 2022
8ec5ccd
feature: add Apache Dubbo3 Support (#4779)
AlbumenJ Aug 29, 2022
b5ddb71
bugfix: support oracle nclob types (#4543)
doubleDimple Sep 6, 2022
de7d04f
bugfix: mysql insert on update duplicate sensitive case not matched (…
funky-eyes Sep 6, 2022
13deea8
optimize: add license checker workflow (#4911)
slievrly Sep 7, 2022
c384cc7
security: upgrade package-lock.json (#4917)
slievrly Sep 7, 2022
6c739ce
optimize: fix failed to get server recovery properties (#4915)
tuwenlin Sep 7, 2022
cb16176
optimize: optimize java doc warning (#4925)
renliangyu857 Sep 8, 2022
ed308dd
optimize: fix some vulnerabilities in console and upgrade skywalking-…
slievrly Sep 8, 2022
1c2d50a
optimize: optimize pom dependencies (#4924)
jsbxyyx Sep 9, 2022
247cf21
bugfix : fix XID port and address null:0 before coordinator.init (…
Bughue Sep 13, 2022
bdb54a0
bugfix : fix rpcContext.getClientRMHolderMap() npe (#4928)
doubleDimple Sep 13, 2022
a986644
optimize: extract the default values for some properties (#4932)
tuwenlin Sep 15, 2022
0cdaa08
optimize: optimize transaction timeout judgment (#4445)
miaoxueyu Sep 21, 2022
c2bee28
optimize: optimize build and fix the base image (#4962)
wangliang181230 Sep 27, 2022
843489d
bugfix: output expression incorrectly throws npe (#4954)
1181954449 Sep 28, 2022
141d855
optimize: pass the sqlexception to client when get lock (#4946)
Bughue Sep 28, 2022
5f2acb5
optimize: optimize read of storage configuration (#4936)
slievrly Sep 28, 2022
d0f324c
bugfix: bypass modify the primary key (#4953)
funky-eyes Sep 29, 2022
dac8aa8
feature: support kryo 5.3.0 (#4968)
JavaLionLi Oct 1, 2022
1cbc19c
optimize: cancel redis mode queryLimit (#4974)
doubleDimple Oct 8, 2022
f300ca6
bugfix: kryo support circular reference (#4978)
JavaLionLi Oct 9, 2022
6c1c857
optimize: optimize tcc fence record not exists errMessage (#4981)
github-ganyu Oct 9, 2022
e7fe7f8
optimize: do not execute triggerAfterCommit() in case of timeout (#4958)
miaoxueyu Oct 12, 2022
caeb231
bugfix: fix undo_log id repeat (#4985)
whxxxxx Oct 12, 2022
7f55c26
feature: support mysql update join sql (#4914)
renliangyu857 Oct 18, 2022
f56b02c
bugfix: can't post TimeoutRollbacked event (#4780)
tuwenlin Oct 20, 2022
83ac9f3
feature: seata client support jdk17 (#4877)
funky-eyes Oct 24, 2022
9e6a3b5
bugfix: duplicate image row for update join (#5004)
renliangyu857 Oct 25, 2022
e10e36c
bugfix: fix loader path in startup scripts (#5018)
neillee95 Oct 25, 2022
3745c21
bugfix: null exception when sql columns is empty in insert on duplica…
renliangyu857 Oct 29, 2022
6d6eb2e
bugfix: null exception when sql columns is empty in insert on duplica…
renliangyu857 Oct 29, 2022
84e8756
bugfix: fix rollback event repeated and some event status not correct…
Bughue Oct 31, 2022
19a41a0
optimize: repeat pk in after image sql for INSERT_ON_DUPLICATE_UPDATE…
renliangyu857 Nov 1, 2022
810c304
bugfix: remove `@EnableConfigurationProperties({SagaAsyncThreadPoolPr…
crazy-sheep Nov 1, 2022
2a20f0f
optimize: redis mode support sorted set by timeout (#4582)
funky-eyes Nov 4, 2022
734c6bd
bugfix: global session is not change to Committed in saga mode (#5050)
wingchi-leung Nov 4, 2022
0e03695
bugfix: insert value is all parsed as string in insert on duplicate …
renliangyu857 Nov 5, 2022
73e729f
bugfix: fix startup failure of Server1.5.2 by using OpenJDK 11 (#4874)
robynron Nov 5, 2022
967305e
optimize: remove useless code (#5047)
zhangzq7 Nov 7, 2022
5796d64
optimize: require ARM64 binary (#4963)
odidev Nov 7, 2022
f0e25a6
optimize: undo log dirty throw BranchRollbackFailed_Unretriable (#5051)
zw201913 Nov 7, 2022
32d0ca8
bugfix: error image when use null value as image query condition in i…
renliangyu857 Nov 13, 2022
4063cb5
bugfix: error placeholder index in insert on duplicate executor (#5032)
renliangyu857 Nov 14, 2022
42f0446
optimize: support oracle date types (#4542)
doubleDimple Nov 14, 2022
2f1e576
optimize: intercept insert on duplicate update statement which has no…
renliangyu857 Nov 15, 2022
b507004
bugfix: fix could not intercept the sql witch has no primary and uniq…
l81893521 Nov 16, 2022
4a7a294
test: add AT transaction mode tests to support database data types (O…
doubleDimple Nov 16, 2022
acf880a
test: test support for arm64 (#5069)
odidev Nov 16, 2022
56fb4da
bugfix: update join condition placeholder param error (#5052)
renliangyu857 Nov 21, 2022
1966c11
optimize: lock priority attempts to insert (#4681)
funky-eyes Nov 22, 2022
cda49cc
bugfix: fix when seata and jpa are used together, their AutoConfigura…
zhuyoufeng Nov 23, 2022
6673078
bugfix:fix ClassNotFoundException during the ZK unit test (#5101)
xingfudeshi Nov 24, 2022
04e4fb5
optimize: remove druid dependency in ConnectionProxy (#5104)
l81893521 Nov 24, 2022
7aeff88
bugfix: fix access key loss after server restart (#5097)
renliangyu857 Nov 27, 2022
8f83fdf
bugfix: Druid disable oracle implicit cache (#5098)
miaoxueyu Nov 28, 2022
3e5af28
bugfix:NPE caused when there is no @GlobalTransactional annotation on…
xingfudeshi Nov 30, 2022
10a7470
feature: support passing `contextPath` parameter to Nacos client (#5111)
xingfudeshi Dec 1, 2022
614454b
optimize: support oracle on delete tccfence logs (#5124)
Bughue Dec 5, 2022
c48a356
bugfix: rollback active xa connection fail (#5131)
funky-eyes Dec 6, 2022
bf99018
bugfix: hikari datasource auto proxy fail (#5134)
funky-eyes Dec 12, 2022
851e35f
optimize: seata-server remove cms parameters (#4434)
funky-eyes Dec 16, 2022
e62c627
bugfix: fix bad service configuration file and compilation failure (#…
funky-eyes Dec 16, 2022
fad95fe
[release] release for 1.6.0 (#5127)
slievrly Dec 16, 2022
d07516b
optimize: First support `spring:6.x` and `spring-boot:3.x` (#5115)
wangliang181230 Dec 18, 2022
0827ee5
optimize: change the version to 1.6.1-SNAPSHOT (#5166)
funky-eyes Dec 18, 2022
8000195
optimize:unify the format of configuration items in yml files (#5120)
xingfudeshi Dec 21, 2022
07753df
optimize: declare @Bean methods as static (#5180)
whxxxxx Dec 21, 2022
23f16e3
bugfix: fix ClassNotFoundException caused when server starts when usi…
xssdpgy Dec 21, 2022
512e605
security: fix some security vulnerabilities in GGEditor (#5182)
slievrly Dec 21, 2022
4bad625
optimize: optimize the default values for some switches (#5183)
slievrly Dec 21, 2022
c866966
release: release for 1.6.1 (#5184)
slievrly Dec 21, 2022
2353a00
test: fix `test-compile` fails when the version of the `spring-boot` …
wangliang181230 Dec 21, 2022
083c718
bugfix: wrong keyword order for oracle when creating a table (#5194)
xssdpgy Dec 23, 2022
1bad3b8
bugfix: Use Proxy.getInvocationHandler instead of reflection (#5201)
AlbumenJ Dec 26, 2022
e423b38
optimize: log message level (#5212)
renliangyu857 Dec 29, 2022
886f439
bugfix: oracle initialize script index_name is duplicate (#5224)
PeppaO Jan 3, 2023
7291b41
optimize: print Stack Trace in EnhancedServiceLoader.loadFile#catch (…
yuruixin Jan 8, 2023
0a09db2
optimize: Throwable#getCause once more (#5208)
renliangyu857 Jan 9, 2023
fc29936
bugfix: seata-core dependency transitive conflict in seata-dubbo (#5203)
AlbumenJ Jan 10, 2023
d19cfee
bugfix: fix the inconsistent configuration item names related to Load…
xingfudeshi Jan 12, 2023
a84bbcc
optimize: Only AT mode try to get channel with other app (#5153)
Bughue Jan 17, 2023
24ccd99
security: fix some security vulnerabilities (#5172)
Bughue Jan 17, 2023
6a7e1bb
optimize: unlock branch synchronously. (#5177)
pengten Jan 20, 2023
fda8060
bugfix: fix the incomplete dependency of distribution module (#5261)
HEIBAIJIE Jan 29, 2023
63f685e
optimize: kryo 5.4.0 compatibility with jdk17 (#5243)
JavaLionLi Jan 29, 2023
72347f2
bugfix: fix `getConfig` throw `ClassCastException` when use JDK proxy…
wangliang181230 Jan 29, 2023
4527a41
optimize: optimize workflow for 2.x (#5268)
slievrly Jan 29, 2023
851ed6d
optimize: fix the problem that protobuf compilation fails(for dev) (#…
GoodBoyCoder Feb 1, 2023
fb3d5c7
bugfix: the console has queried the released lock (#5266)
renliangyu857 Feb 1, 2023
cee99cd
bugfix: parallel request handle throw IndexOutOfBoundsException (#5281)
funky-eyes Feb 2, 2023
9464294
bugfix: After 1.6.0, auto-increment of pgsql pk columns are no longer…
isharpever Feb 3, 2023
01a1ff9
bugfix: After 1.6.0, auto-increment of oracle pk columns are no longe…
isharpever Feb 3, 2023
bf5586f
optimize: remove startup script the -Xmn configuration (#5303)
mxsm Feb 6, 2023
9a298fd
bugfix: that keywords don't add escaped characters (#5307)
funky-eyes Feb 7, 2023
83db274
bugfix: don't remove GlobalSession when retry rollback or retry commi…
ZhangShiYeChina Feb 7, 2023
eab8c9a
bugfix: remove RollbackRetryTimeout sessions during in file storage r…
slievrly Feb 7, 2023
e2ff0ee
bugfix: fix G1 jvm parameter in jdk8 (#5316)
slievrly Feb 9, 2023
8026bb6
optimize: add time info for transaction timeout log (#5323)
renliangyu857 Feb 9, 2023
8a8310c
optimize: optimize EnhancedServiceLoader log (#5315)
l81893521 Feb 9, 2023
04fac86
bugfix: fix some tiny bugs (#5332)
liuqiufeng Feb 12, 2023
357f8e8
optimize: add tcc fence log clean task delay check (#5089)
dmego Feb 14, 2023
b4f6fb7
optimize: add store mode,config type and registry type log info (#5325)
renliangyu857 Feb 15, 2023
97bad4b
bugfix: fix when TC returns RollbackFailed FailureHandler not execut…
ZhangShiYeChina Feb 17, 2023
e0a02fb
feature: support http put (#5070)
zsp419 Feb 21, 2023
9194aa0
test: fix UpdateExecutorTest failed (#5380)
slievrly Feb 22, 2023
85b2f34
test: fix multi spring version test failed (#5382)
slievrly Feb 22, 2023
00ca98c
optimize: unified project version (#5372)
wangliang181230 Feb 22, 2023
28b3413
bugfix : check if table meta cache should be refreshed in AT mode (#…
Bughue Feb 28, 2023
bb7e373
optimize: publish images based on java `8`, `8-slim`, `17`, `17-slim`…
wangliang181230 Mar 2, 2023
51f4b19
bugfix: fix bad service configuration file and compilation failure (#…
slievrly Mar 4, 2023
d001af1
optimize: optimize transaction fail handler (#5414)
slievrly Mar 4, 2023
ee0f744
bugfix: fix transaction timeout on client side not execute hook and f…
slievrly Mar 4, 2023
98c17a5
optimize: upgrade easyj-maven-plugin to 1.1.5 for support maven 3.9.0…
wangliang181230 Mar 8, 2023
cdbc4c0
bugfix: oracle xa mode cannnot be used By same database (#5447)
PeppaO Mar 17, 2023
09bfc42
bugfix: global session is always begin in saga mode (#5145)
tuwenlin Mar 22, 2023
6162198
bugfix: fix using @GlobalTransactional in provider ShouldNverHappenE…
pengten Mar 29, 2023
ff4529a
bugfix: fix log file path was loaded incorrectly (#5535)
funky-eyes Apr 26, 2023
7eb9810
optimize: optimize transaction log on client side (#5537)
slievrly Apr 26, 2023
a556054
bugfix: fix finished transaction swallows exception when committing …
slievrly Apr 26, 2023
a6f7370
bugfix: fix the full table scan issue with 'setDate' condition in Ora…
slievrly Apr 26, 2023
5a1c70a
bugfix: fix GlobalStatus=9 can't be cleared in DB storage mode (#5540)
slievrly Apr 26, 2023
878c1a4
optimize: optimize server log output (#5541)
slievrly Apr 26, 2023
8b0a3cb
optimize: update expire gpg key and publish workflow (#5548)
slievrly May 4, 2023
35f9fe7
bugfix: fix mariadb rollback failed (#5552)
funky-eyes May 7, 2023
6b1a84f
bugfix: fix log in participant transaction role (#5602)
Bughue Jun 1, 2023
bd18f08
bugfix: grpc interceptor xid unbinding problem (#5583)
StephenFaust Jun 8, 2023
6851eb4
bugfix: fix oracle insert undolog failed (#5645)
slievrly Jun 14, 2023
85330dc
optimize: refactor ColumnUtils and EscapeHandler (#5646)
slievrly Jun 14, 2023
8311743
optimize: support case-sensitive attributes for table and column meta…
slievrly Jun 14, 2023
3dd365f
optimize: optimize server logs print (#5648)
slievrly Jun 14, 2023
d484ff4
optimize: set server's transaction level to READ_COMMITTED (#5638)
xqdd Jun 14, 2023
7a34d62
bugfix: fix the timeout is null when the connectionProxyXA connection…
PeppaO Jun 23, 2023
67af758
bugfix: fix saga autoType convert error (#5671)
wt-better Jun 27, 2023
51d7d2d
bugfix: fix escaped characters for upper and lower case column names …
funky-eyes Jun 27, 2023
f1a7454
bugfix: fix compatibility between xxx.grouplist and grouplist.xxx (#5…
slievrly Jun 28, 2023
d252cbc
optimize: optimize escape character for case of columnNames (#5678)
slievrly Jun 28, 2023
c0c1541
bugfix: fix saga mode replay context lost start (#5682)
wt-better Jun 29, 2023
c267320
security: add Hessian Serializer WhiteDenyList (#5683)
slievrly Jun 29, 2023
cb0a727
optimize: optimize github actions for CodeQL, skywalking-eyes (#5685)
slievrly Jul 1, 2023
8a92c5b
bugfix: fix console jwt error (#5690)
slievrly Jul 1, 2023
23244cf
feature: support `native-image` for `seata-client` (#5476)
wangliang181230 Jul 2, 2023
65bc25f
feature: console integration saga-statemachine-designer (#5695)
liuqiufeng Jul 2, 2023
ec552e6
security: fix several node.js security vulnerabilities (#5696)
slievrly Jul 2, 2023
101b8ab
feature: compatible with file.conf and registry.conf configurations (…
funky-eyes Jul 4, 2023
3568985
optimize: optimize distributed lock log (#5700)
slievrly Jul 5, 2023
4ee495f
bugfix: fix get configuration item contains underlined error (#5711)
slievrly Jul 11, 2023
4ddde20
release: release for 1.7.0 (#5699)
slievrly Jul 11, 2023
23e8247
version: change version to 1.7.1-SNAPSHOT (#5713)
slievrly Jul 12, 2023
a5c58e5
security: fix some dependencies vulnerability (#5728) (#5729)
slievrly Jul 18, 2023
1b35967
bugfix: case of the pk col-name in the business sql is inconsistent w…
capthua Jul 31, 2023
d8c88d4
bugfix: change some fields type of TableMetaCache to avoid integer o…
robynron Aug 6, 2023
8746aef
bugfix: fix the key parameter problem of sofa-rpc setAttachment metho…
dmego Aug 9, 2023
fe6db60
security: fix some serializer vulnerabilities (#5766)
slievrly Aug 24, 2023
d7a2723
feature:docker image supports JVM parameter injection (#5803)
slievrly Aug 25, 2023
17b64fa
optimize: optimize docker timezone (#5804)
slievrly Aug 25, 2023
b41a93a
bugfix: insert executor keywords unescape (#5771)
funky-eyes Aug 29, 2023
beb7a4e
bugfix: cluster cannot be customized when redis serves as the registr…
PoppysHammer Aug 29, 2023
16b2087
optimize: support for more operational commands in seata-server.sh (#…
slievrly Aug 29, 2023
da6c0be
bugfix: fix XA transaction start exception and rollback failure (#5814)
capthua Aug 30, 2023
f47ea3c
optimize: support the nacos application name property (#5815)
slievrly Aug 30, 2023
0b2d28f
optimize: separate MySQL from Mariadb implementations (#5566)
funky-eyes Aug 31, 2023
f5812d8
bugfix: fix oracle column alias cannot find (#5819)
slievrly Aug 31, 2023
6871c1c
optimize: unified log output directory (#5820)
funky-eyes Aug 31, 2023
6a9fc90
optimize: upgrade some deprecated github actions (#5822)
slievrly Aug 31, 2023
9d00adf
release: release for release 1.7.1 (#5823)
slievrly Sep 4, 2023
2b9d8d2
version: change version to 1.8.0-SNAPSHOT (#5826)
slievrly Sep 5, 2023
6bb865b
optimize: fix codecov chart not display (#5828)
wangliang181230 Sep 6, 2023
26d8cdb
optimize: upgrade druid and add `test-druid.yml` (#5831)
wangliang181230 Sep 13, 2023
ecb7ef7
feature: support Dameng database (#3672)
iquanzhan Sep 22, 2023
d26a8e8
optimize: fix unit test in java 21 (#5862)
wangliang181230 Sep 24, 2023
fd21c0a
optimize: some minor syntax optimization (#5866)
slievrly Sep 24, 2023
27c0228
security: fix npm package vulnerabilities (#5867)
slievrly Sep 24, 2023
539463c
test: remove sofa test (#5888)
slievrly Sep 28, 2023
084037f
optimize: remove dependency without license (#5889)
slievrly Sep 28, 2023
378f8d3
optimize: remove 7z format compression support (#5890)
slievrly Sep 28, 2023
da21423
optimize: remove mariadb.jdbc dependency (#5891)
slievrly Sep 28, 2023
e96ea8f
bugfix: dm escaped characters for upper and lower case column names (…
funky-eyes Sep 28, 2023
a797555
security: upgrade nodejs dependency (#5898)
slievrly Oct 3, 2023
2c44932
feature: support polardb-x 2.0 (#5892)
hsien999 Oct 7, 2023
351b108
optimize: optimize change log (#5906)
wangliang181230 Oct 7, 2023
866ef33
bugfix: fix TC retry rollback wrongly, after the XA transaction fail …
capthua Oct 8, 2023
24171a8
optimize: upgrade native-lib-loader version (#5914)
slievrly Oct 9, 2023
9dd2c18
optimize: standardized the properties of codecov.yml (#5918)
l81893521 Oct 16, 2023
971d1de
optimize: optimize some scripts related to Apollo (#5927)
wangliang181230 Oct 16, 2023
9a870a8
bugfix: fix the issue of missing sentinel password in store redis mod…
PeppaO Oct 18, 2023
d650a3c
bugfix: fix zookeeper unit test error (#5924)
l81893521 Oct 18, 2023
046e384
optimize: support jmx port in seata (#5939)
leizhiyuan Oct 18, 2023
3c8a9e3
test: fix zookeeper UT failed (#5960)
slievrly Oct 26, 2023
e8afc0c
bugfix: fix some configurations that are not deprecated show "Depreca…
capthua Oct 30, 2023
1520159
test: fixed jedis version for `seata-server` (#5981)
wangliang181230 Oct 31, 2023
28dca70
release: release for 1.8.0 (#5957)
slievrly Oct 31, 2023
62dbdf5
optimize: fix 1.8.0 release notes (#5983)
slievrly Oct 31, 2023
b47eb38
version: change version to 1.8.1-SNAPSHOT (#5993)
slievrly Nov 5, 2023
613959a
bugfix: fix the issue that the Lua script is not synchronized when th…
PeppaO Nov 7, 2023
21af1bc
bugfix: global transaction hook repeat execute (#5887)
jsbxyyx Nov 11, 2023
b556e94
bugfix: fix the white screen in the console (#6025)
liuqiufeng Nov 12, 2023
c829e73
bugfix: fix incorrect metric report (#6026)
ptyin Nov 13, 2023
c0c8725
optimize: optimize derivative product check base on mysql (#6044)
slievrly Nov 17, 2023
0710c64
bugfix: support jdk9+ compile code (#4410)
funky-eyes Nov 27, 2023
397c6e7
optimize: add workflow for `MacOS` and `Windows` (#6151)
wangliang181230 Dec 14, 2023
b550f11
bugfix: in dubbo 3.x version, the consumer can't generate tcc proxy(d…
laywin Dec 18, 2023
6b7e1e1
optimize: optimize 401 issues for some links (#6361)
liuqiufeng Feb 20, 2024
cc21bf6
bugfix: fix the failure of RemotingParser to prevent AT mode from exe…
slievrly Apr 1, 2024
c5bbd74
bugfix: fix Alibaba Dubbo convert error (#6628)
slievrly Jun 24, 2024
31399d7
bugfix: fix hsf ConsumerModel convert error (#6632)
slievrly Jun 26, 2024
4368ebc
bugfix: fix cache scheduled refresh issue (#6661) (#6663)
wuwen5 Jul 10, 2024
158991b
bugfix: fix dameng rollback info un compress fail (#6715)
caohdgege Aug 1, 2024
40c49f6
bugfix: fix dameng delete undo fail (#6716)
caohdgege Aug 1, 2024
ba7c771
optimize: avoid dead loop logging during cache plan refresh exception…
wuwen5 Oct 8, 2024
89381a4
optimize: optimize lock release logic in AT transaction mode (#7002)
slievrly Nov 15, 2024
bdf755d
optimize: optimize transaction metrics (#7001)
slievrly Nov 17, 2024
72cfc09
optimize: fix the CI build issue on the ARM64 platform (#7007)
slievrly Nov 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
optimize: mysql 8.0.29 not should be hold for connection (apache#4765)
  • Loading branch information
funky-eyes authored Jul 21, 2022
commit a4b266c1e9d1d7f21e93e1309f1c3bfbd8fadd31
3 changes: 2 additions & 1 deletion changes/en-us/develop.md
Original file line number Diff line number Diff line change
@@ -11,6 +11,7 @@ Add changes here for all PR submitted to the develop branch.
### optimize:
- [[#4774](https://github.com/seata/seata/pull/4774)] optimize mysql8 dependencies for seataio/seata-server image
- [[#4790](https://github.com/seata/seata/pull/4790)] Add a github action to publish Seata to OSSRH
- [[#4765](https://github.com/seata/seata/pull/4765)] mysql 8.0.29 not should be hold for connection
- [[#4750](https://github.com/seata/seata/pull/4750)] optimize unBranchLock romove xid

### test:
@@ -23,6 +24,6 @@ Thanks to these contributors for their code commits. Please report an unintended
- [slievrly](https://github.com/slievrly)
- [lcmvs](https://github.com/lcmvs)
- [wangliang181230](https://github.com/wangliang181230)

- [a364176773](https://github.com/a364176773)

Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
1 change: 1 addition & 0 deletions changes/zh-cn/develop.md
Original file line number Diff line number Diff line change
@@ -12,6 +12,7 @@
- [[#4774](https://github.com/seata/seata/pull/4774)] 优化 seataio/seata-server 镜像中的 mysql8 依赖
- [[#4750](https://github.com/seata/seata/pull/4750)] 优化AT分支释放全局锁不使用xid
- [[#4790](https://github.com/seata/seata/pull/4790)] 添加一个 github action,用于自动发布Seata到OSSRH
- [[#4765](https://github.com/seata/seata/pull/4765)] mysql8.0.29版本及以上XA模式不持connection至二阶段

### test:
- [[#4794](https://github.com/seata/seata/pull/4794)] 重构代码,尝试修复单元测试 `DataSourceProxyTest.getResourceIdTest()`
2 changes: 1 addition & 1 deletion core/src/main/java/io/seata/core/protocol/Version.java
Original file line number Diff line number Diff line change
@@ -112,7 +112,7 @@ public static boolean isAboveOrEqualVersion150(String version) {
return isAboveOrEqualVersion150;
}

private static long convertVersion(String version) throws IncompatibleVersionException {
public static long convertVersion(String version) throws IncompatibleVersionException {
String[] parts = StringUtils.split(version, '.');
long result = 0L;
int i = 1;
Original file line number Diff line number Diff line change
@@ -54,6 +54,8 @@ public abstract class BaseDataSourceResource<T extends Holdable> implements Seat

protected Driver driver;

private boolean shouldBeHeld = false;

private Map<String, T> keeper = new ConcurrentHashMap<>();

private static final Cache<String, BranchStatus> BRANCH_STATUS_CACHE =
@@ -217,4 +219,11 @@ public Map<String, T> getKeeper() {
return keeper;
}

public boolean isShouldBeHeld() {
return shouldBeHeld;
}

public void setShouldBeHeld(boolean shouldBeHeld) {
this.shouldBeHeld = shouldBeHeld;
}
}
Original file line number Diff line number Diff line change
@@ -30,7 +30,6 @@
import io.seata.core.model.BranchType;
import io.seata.rm.BaseDataSourceResource;
import io.seata.rm.DefaultResourceManager;
import io.seata.sqlparser.util.JdbcConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@@ -63,6 +62,8 @@ public class ConnectionProxyXA extends AbstractConnectionProxyXA implements Hold
private volatile Long prepareTime = null;

private volatile Integer timeout = null;

private boolean shouldBeHeld = false;

/**
* Constructor of Connection Proxy for XA mode.
@@ -72,8 +73,10 @@ public class ConnectionProxyXA extends AbstractConnectionProxyXA implements Hold
* @param resource The corresponding Resource(DataSource proxy) from which the connections was created.
* @param xid Seata global transaction xid.
*/
public ConnectionProxyXA(Connection originalConnection, XAConnection xaConnection, BaseDataSourceResource resource, String xid) {
public ConnectionProxyXA(Connection originalConnection, XAConnection xaConnection, BaseDataSourceResource resource,
String xid) {
super(originalConnection, xaConnection, resource, xid);
this.shouldBeHeld = resource.isShouldBeHeld();
}

public void init() {
@@ -95,14 +98,18 @@ public void init() {
}

private void keepIfNecessary() {
resource.hold(xaBranchXid.toString(), this);
if (shouldBeHeld()) {
resource.hold(xaBranchXid.toString(), this);
}
}

private void releaseIfNecessary() {
if (this.xaBranchXid != null) {
String xaBranchXid = this.xaBranchXid.toString();
if (isHeld()) {
resource.release(xaBranchXid, this);
if (shouldBeHeld()) {
if (this.xaBranchXid != null) {
String xaBranchXid = this.xaBranchXid.toString();
if (isHeld()) {
resource.release(xaBranchXid, this);
}
}
}
}
@@ -328,8 +335,7 @@ public boolean isHeld() {

@Override
public boolean shouldBeHeld() {
return JdbcConstants.MYSQL.equals(resource.getDbType()) || JdbcConstants.MARIADB.equals(resource.getDbType())
|| StringUtils.isBlank(resource.getDbType());
return shouldBeHeld || StringUtils.isBlank(resource.getDbType());
}

public Long getPrepareTime() {
Original file line number Diff line number Diff line change
@@ -16,12 +16,18 @@
package io.seata.rm.datasource.xa;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Optional;
import javax.sql.DataSource;
import javax.sql.XAConnection;

import io.seata.core.constants.DBType;
import io.seata.core.context.RootContext;
import io.seata.core.model.BranchType;
import io.seata.core.protocol.Version;
import io.seata.rm.DefaultResourceManager;
import io.seata.rm.datasource.SeataDataSourceProxy;
import io.seata.rm.datasource.util.JdbcUtils;
import io.seata.rm.datasource.util.XAUtils;
@@ -49,7 +55,29 @@ public DataSourceProxyXA(DataSource dataSource, String resourceGroupId) {
this.dataSource = dataSource;
this.branchType = BranchType.XA;
JdbcUtils.initDataSourceResource(this, dataSource, resourceGroupId);

if (DBType.MYSQL.name().equalsIgnoreCase(dbType)) {
try (Connection connection = dataSource.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT VERSION()");
ResultSet versionResult = preparedStatement.executeQuery()) {
if (versionResult.next()) {
long currentVersion = Version.convertVersion(versionResult.getString("VERSION()"));
long version = Version.convertVersion("8.0.29");
if (currentVersion < version) {
setShouldBeHeld(true);
}
}
} catch (Exception e) {
setShouldBeHeld(true);
LOGGER.info("get mysql version fail error: {}", e.getMessage());
}
} else if (DBType.MARIADB.name().equalsIgnoreCase(dbType)) {
setShouldBeHeld(true);
}
Optional.ofNullable(DefaultResourceManager.get().getResourceManager(BranchType.XA)).ifPresent(resourceManager -> {
if (resourceManager instanceof ResourceManagerXA) {
((ResourceManagerXA)resourceManager).initXaTwoPhaseTimeoutChecker();
}
});
//Set the default branch type to 'XA' in the RootContext.
RootContext.setDefaultBranchType(this.getBranchType());
}
Original file line number Diff line number Diff line change
@@ -52,35 +52,54 @@ public class ResourceManagerXA extends AbstractDataSourceCacheResourceManager {
/**
* The Timer check xa branch two phase hold timeout.
*/
protected final ScheduledExecutorService xaTwoPhaseTimeoutChecker = new ScheduledThreadPoolExecutor(1,
new NamedThreadFactory("xaTwoPhaseTimeoutChecker", 1, true));
protected volatile ScheduledExecutorService xaTwoPhaseTimeoutChecker;

@Override
public void init() {
LOGGER.info("ResourceManagerXA init ...");
xaTwoPhaseTimeoutChecker.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
for (Map.Entry<String, Resource> entry : dataSourceCache.entrySet()) {
BaseDataSourceResource resource = (BaseDataSourceResource) entry.getValue();
Map<String, ConnectionProxyXA> keeper = resource.getKeeper();
for (Map.Entry<String, ConnectionProxyXA> connectionEntry : keeper.entrySet()) {
ConnectionProxyXA connection = connectionEntry.getValue();
long now = System.currentTimeMillis();
synchronized (connection) {
if (connection.getPrepareTime() != null &&
now - connection.getPrepareTime() > TWO_PHASE_HOLD_TIMEOUT) {
try {
connection.closeForce();
} catch (SQLException e) {
LOGGER.info("Force close the xa physical connection fail", e);
}

public void initXaTwoPhaseTimeoutChecker() {
if (xaTwoPhaseTimeoutChecker == null) {
synchronized (this) {
if (xaTwoPhaseTimeoutChecker == null) {
boolean shouldBeHold = dataSourceCache.values().parallelStream().anyMatch(resource -> {
if (resource instanceof DataSourceProxyXA) {
return ((DataSourceProxyXA)resource).isShouldBeHeld();
}
return false;
});
if (shouldBeHold) {
xaTwoPhaseTimeoutChecker = new ScheduledThreadPoolExecutor(1,
new NamedThreadFactory("xaTwoPhaseTimeoutChecker", 1, true));
xaTwoPhaseTimeoutChecker.scheduleAtFixedRate(() -> {
for (Map.Entry<String, Resource> entry : dataSourceCache.entrySet()) {
BaseDataSourceResource resource = (BaseDataSourceResource)entry.getValue();
if (resource.isShouldBeHeld()) {
if (resource instanceof DataSourceProxyXA) {
Map<String, ConnectionProxyXA> keeper = resource.getKeeper();
for (Map.Entry<String, ConnectionProxyXA> connectionEntry : keeper.entrySet()) {
ConnectionProxyXA connection = connectionEntry.getValue();
long now = System.currentTimeMillis();
synchronized (connection) {
if (connection.getPrepareTime() != null
&& now - connection.getPrepareTime() > TWO_PHASE_HOLD_TIMEOUT) {
try {
connection.closeForce();
} catch (SQLException e) {
LOGGER.info("Force close the xa physical connection fail", e);
}
}
}
}
}
}
}
}
}, SCHEDULE_DELAY_MILLS, SCHEDULE_INTERVAL_MILLS, TimeUnit.MILLISECONDS);
}
}
}
}, SCHEDULE_DELAY_MILLS, SCHEDULE_INTERVAL_MILLS, TimeUnit.MILLISECONDS);
}
}

@Override