Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev_protocal' into dev_protocal
Browse files Browse the repository at this point in the history
  • Loading branch information
Bughue committed Jul 19, 2023
2 parents 53a98ea + fec3060 commit a1f0287
Show file tree
Hide file tree
Showing 191 changed files with 2,762 additions and 691 deletions.
18 changes: 10 additions & 8 deletions .github/workflows/license-checker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,27 @@ jobs:
check-license:
runs-on: ubuntu-latest
steps:
# step 1
# step 1 clear cache
- name: Clear cache directory first before trying to restore from cache
run: sudo rm -rf $(go env GOMODCACHE) && sudo rm -rf $(go env GOCACHE)
shell: bash
# step 2 checkout
- name: Checkout
uses: actions/checkout@v3
# step 2 https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
# step 3 https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
- uses: actions/setup-node@v3
with:
node-version: '14.x'
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
# step 3
# step 4 check license
- name: Check License Header
uses: apache/skywalking-eyes/header@main
uses: apache/skywalking-eyes/header@8fc52baabc14c86294d96034bcc194cfa7f76b05
with:
log: info
config: .licenserc.yaml
mode: check
# step 4
# step 5 check dependencies
- name: Check Dependencies' License
uses: apache/skywalking-eyes/dependency@main
uses: apache/skywalking-eyes/dependency@8fc52baabc14c86294d96034bcc194cfa7f76b05
with:
log: info
config: .licenserc.yaml
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ install: true

before_script:
- if [ "$TRAVIS_JDK_VERSION" == "openjdk8" ]; then
export IMAGE_NAME="openjdk:8u212-jre-alpine";
export IMAGE_NAME="openjdk:8-jre-slim";
fi
- if [ "$TRAVIS_JDK_VERSION" == "openjdk11" ]; then
export IMAGE_NAME="openjdk:11-jre-stretch";
Expand Down
24 changes: 16 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
[![Build Status](https://github.com/seata/seata/workflows/build/badge.svg?branch=develop)](https://github.com/seata/seata/actions)
[![codecov](https://codecov.io/gh/seata/seata/branch/develop/graph/badge.svg)](https://codecov.io/gh/seata/seata)
[![license](https://img.shields.io/github/license/seata/seata.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
[![maven](https://img.shields.io/maven-central/v/io.seata/seata-parent.svg)](https://search.maven.org/search?q=io.seata)
[![maven](https://img.shields.io/maven-central/v/io.seata/seata-parent?versionSuffix=1.7.0)](https://search.maven.org/search?q=io.seata)
[![Language grade: Java](https://img.shields.io/lgtm/grade/java/g/seata/seata.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/seata/seata/context:java)


Expand Down Expand Up @@ -83,23 +83,31 @@ For more details about principle and design, please go to [Seata wiki page](http


## Maven dependency

Depending on the scenario, choose one of the two dependencies: `io.seata:seata-all` or `io.seata:seata-spring-boot-starter`.
```xml
<seata.version>1.6.1</seata.version>
<dependency>
<properties>
<seata.version>1.7.0</seata.version>
</properties>

<dependencies>
<!--dependencies for non-SpringBoot application framework-->
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-all</artifactId>
<version>${seata.version}</version>
</dependency>
</dependency>

<!--If your project base on `Spring Boot`, you can directly use the following dependencies-->
<!--Notice: `seata-spring-boot-starter` has included `seata-all` dependency-->
<dependency>
<!--Notice: `seata-spring-boot-starter` has already included `seata-all` dependency-->
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>${seata.version}</version>
</dependency>

</dependency>
</dependencies>
```

## Quick Start

[Quick Start](https://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html)
Expand Down
4 changes: 4 additions & 0 deletions build/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@
<junit-jupiter.version>5.8.2</junit-jupiter.version>
<junit-platform.version>1.8.2</junit-platform.version>

<!-- For test -->
<junit-jupiter.version>5.8.2</junit-jupiter.version>
<junit-platform.version>1.8.2</junit-platform.version>

<!-- Maven plugin versions -->
<!-- Build -->
<easyj-maven-plugin.version>1.1.5</easyj-maven-plugin.version>
Expand Down
26 changes: 23 additions & 3 deletions changes/en-us/2.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,16 @@ The version is updated as follows:
- [[#5377](https://github.com/seata/seata/pull/5377)] make AbstractHttpExecutor.class support http put
- [[#5396](https://github.com/seata/seata/pull/5396)] TC log appender metric
- [[#5118](https://github.com/seata/seata/pull/5118)] support two-stage concurrent notification execution
- [[#5529](https://github.com/seata/seata/pull/5529)] docker image supports JVM parameter injection
- [[#3887](https://github.com/seata/seata/pull/3887)] add SQL Server database support in AT mode
- [[#4033](https://github.com/seata/seata/pull/4033)] add SQLServer support for Server DB storage mode

- [[#5717](https://github.com/seata/seata/pull/5717)] compatible with file.conf and registry.conf configurations in version 1.4.2 and below

### bugfix:
- [[#5677](https://github.com/seata/seata/pull/5677)] fix saga mode serviceTask inputParams json autoType convert exception
- [[#5194](https://github.com/seata/seata/pull/5194)] fix wrong keyword order for oracle when creating a table
- [[#5021](https://github.com/seata/seata/pull/5201)] fix JDK Reflection for Spring origin proxy failed in JDK17
- [[#5023](https://github.com/seata/seata/pull/5203)] fix `seata-core` dependency transitive conflict in
`seata-dubbo`
- [[#5023](https://github.com/seata/seata/pull/5203)] fix `seata-core` dependency transitive conflict in `seata-dubbo`
- [[#5224](https://github.com/seata/seata/pull/5224)] fix oracle initialize script index_name is duplicate
- [[#5233](https://github.com/seata/seata/pull/5233)] fix the inconsistent configuration item names related to LoadBalance
- [[#5245](https://github.com/seata/seata/pull/5245)] fix the incomplete dependency of distribution module
Expand Down Expand Up @@ -56,8 +57,13 @@ The version is updated as follows:
- [[#5523](https://github.com/seata/seata/pull/5523)] fix GlobalStatus=9 can't be cleared in DB storage mode
- [[#5558](https://github.com/seata/seata/pull/5558)] fix mariadb rollback failed
- [[#5556](https://github.com/seata/seata/pull/5556)] fix oracle insert undolog failed
- [[#5579](https://github.com/seata/seata/pull/5579)] fix RM_CHANNELS get npe when resourceId is empty
- [[#5577](https://github.com/seata/seata/pull/5577)] fix grpc interceptor xid unbinding problem
- [[#5594](https://github.com/seata/seata/pull/5594)] fix log in participant transaction role
- [[#5604](https://github.com/seata/seata/pull/5604)] fix the `asyncCommit` and `queueToRetryCommit` always failed in db mode
- [[#5661](https://github.com/seata/seata/pull/5661)] bugfix: the timeout is null when the connectionProxyXA connection is reused
- [[#5678](https://github.com/seata/seata/pull/5675)] bugfix: fix compatibility between xxx.grouplist and grouplist.xxx configuration items
- [[#5715](https://github.com/seata/seata/pull/5715)] fix get configuration item contains underlined error

### optimize:
- [[#5208](https://github.com/seata/seata/pull/5208)] optimize throwable getCause once more
Expand Down Expand Up @@ -93,6 +99,16 @@ The version is updated as follows:
- [[#5419](https://github.com/seata/seata/pull/5419)] optimize images based on java 8/17 and support maven-3.9.0
- [[#5549](https://github.com/seata/seata/pull/5549)] update expire gpg key and publish workflow
- [[#5576](https://github.com/seata/seata/pull/5576)] The common fence clean task is only initiated when useTCCFence is set to true
- [[#5623](https://github.com/seata/seata/pull/5623)] optimize possible conflict between asyncCommitting thread and retryCommitting thread
- [[#5553](https://github.com/seata/seata/pull/5553)] support case-sensitive attributes for table and column metadata
- [[#5644](https://github.com/seata/seata/pull/5644)] optimize server logs print
- [[#5680](https://github.com/seata/seata/pull/5680)] optimize escape character for case of columnNames
- [[#5714](https://github.com/seata/seata/pull/5714)] optimize distributed lock log
- [[#5723](https://github.com/seata/seata/pull/5723)] optimize docker default timezone

### security:
- [[#5642](https://github.com/seata/seata/pull/5642)] add Hessian Serializer WhiteDenyList
- [[#5694](https://github.com/seata/seata/pull/5694)] fix several node.js security vulnerabilities

### test:
- [[#5308](https://github.com/seata/seata/pull/5308)] add unit test [FileLoader, ObjectHolder, StringUtils]
Expand All @@ -102,6 +118,8 @@ The version is updated as follows:
- [[#5383](https://github.com/seata/seata/pull/5383)] fix multi spring version test failed
- [[#5391](https://github.com/seata/seata/pull/5391)] add unit test for config module
- [[#5428](https://github.com/seata/seata/pull/5428)] fix FileTransactionStoreManagerTest failed
- [[#5622](https://github.com/seata/seata/pull/5622)] add unit test [ExporterType, RegistryType]
- [[#5637](https://github.com/seata/seata/pull/5637)] add unit test [BatchResultMessage, HeartbeatMessage, RegisterRMResponse, ResultCode, RegisterTMResponse, MergeResultMessage, MergedWarpMessage, Version]


### Contributors:
Expand All @@ -127,6 +145,8 @@ Thanks to these contributors for their code commits. Please report an unintended
- [dmego](https://github.com/dmego)
- [zsp419](https://github.com/zsp419)
- [tuwenlin](https://github.com/tuwenlin)
- [sixlei](https://github.com/sixlei)
- [yixia](https://github.com/wt-better)


Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
Expand Down
22 changes: 20 additions & 2 deletions changes/zh-cn/2.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,13 @@ Seata 是一款开源的分布式事务解决方案,提供高性能和简单
- [[#5377](https://github.com/seata/seata/pull/5377)] 使AbstractHttpExecutor类支持PUT方式的请求
- [[#5396](https://github.com/seata/seata/pull/5396)] TC 异常日志指标采集
- [[#5118](https://github.com/seata/seata/pull/5118)] 支持二阶段并行下发执行
- [[#5529](https://github.com/seata/seata/pull/5529)] docker镜像支持注入JVM参数到容器
- [[#3887](https://github.com/seata/seata/pull/3887)] 增加AT模式的SQLServer数据库支持
- [[#4033](https://github.com/seata/seata/pull/4033)] 增加ServerDB存储模式的SQLServer支持

- [[#5717](https://github.com/seata/seata/pull/5717)] 兼容1.4.2及以下版本的file.conf/registry.conf配置

### bugfix:
- [[#5677](https://github.com/seata/seata/pull/5677)] 修复saga模式下serviceTask入参autoType转化失败问题
- [[#5194](https://github.com/seata/seata/pull/5194)] 修复使用Oracle作为服务端DB存储时的建表失败问题
- [[#5021](https://github.com/seata/seata/pull/5201)] 修复 JDK17 下获取 Spring 原始代理对象失败的问题
- [[#5023](https://github.com/seata/seata/pull/5203)] 修复 `seata-core` 模块传递依赖冲突
Expand Down Expand Up @@ -54,8 +56,13 @@ Seata 是一款开源的分布式事务解决方案,提供高性能和简单
- [[#5523](https://github.com/seata/seata/pull/5523)] 修复 GlobalStatus=9 在DB存储模式无法清除的问题
- [[#5558](https://github.com/seata/seata/pull/5558)] 修复mariadb回滚失败的问题
- [[#5556](https://github.com/seata/seata/pull/5556)] 修复 oracle 插入 undolog 失败问题
- [[#5579](https://github.com/seata/seata/pull/5579)] 修复 resourceId 为空时,获取 RM_CHANNELS 空指针问题
- [[#5577](https://github.com/seata/seata/pull/5577)] 修复 grpc拦截器解绑xid失败问题
- [[#5594](https://github.com/seata/seata/pull/5594)] 修复participant情况下的重复日志
- [[#5604](https://github.com/seata/seata/pull/5604)] 修复在DB模式下 `asyncCommit``queueToRetryCommit` 两个方法总是失败的问题
- [[#5661](https://github.com/seata/seata/pull/5661)] 修复connectionProxyXA连接复用时timeout为null
- [[#5678](https://github.com/seata/seata/pull/5675)] 修复 xxx.grouplist 和 grouplist.xxx 配置项兼容问题
- [[#5715](https://github.com/seata/seata/pull/5715)] 修复取中划线配置项错误问题

### optimize:
- [[#5208](https://github.com/seata/seata/pull/5208)] 优化多次重复获取Throwable#getCause问题
Expand Down Expand Up @@ -92,9 +99,16 @@ Seata 是一款开源的分布式事务解决方案,提供高性能和简单
- [[#5419](https://github.com/seata/seata/pull/5419)] 优化镜像发布流水线支持jdk8/17和支持maven 3.9.0
- [[#5549](https://github.com/seata/seata/pull/5549)] 优化 gpg key 和 发布流水线
- [[#5576](https://github.com/seata/seata/pull/5576)] 仅当 useTCCFence 设置为 true 时,才开启 Fence 表清理任务
- [[#5623](https://github.com/seata/seata/pull/5623)] 优化异步提交线程和重试线程之间可能存在的冲突
- [[#5553](https://github.com/seata/seata/pull/5553)] 支持表和列元数据大小写敏感设置
- [[#5644](https://github.com/seata/seata/pull/5644)] 优化Server日志输出
- [[#5680](https://github.com/seata/seata/pull/5680)] 优化大小写转义符
- [[#5714](https://github.com/seata/seata/pull/5714)] 优化分布式锁竞争日志
- [[#5723](https://github.com/seata/seata/pull/5723)] 优化docker镜像的默认时区

### security:
- [[#5172](https://github.com/seata/seata/pull/5172)] 修复一些安全漏洞的版本
- [[#5642](https://github.com/seata/seata/pull/5642)] 增加Hessian 序列化黑白名单
- [[#5694](https://github.com/seata/seata/pull/5694)] 修复若干Node.js依赖安全漏洞

### test:
- [[#5308](https://github.com/seata/seata/pull/5308)] 添加单元测试用例 [FileLoader, ObjectHolder, StringUtils]
Expand All @@ -104,6 +118,8 @@ Seata 是一款开源的分布式事务解决方案,提供高性能和简单
- [[#5383](https://github.com/seata/seata/pull/5383)] 修复多Spring版本测试失败
- [[#5391](https://github.com/seata/seata/pull/5391)] 添加 config 模块的单元测试用例
- [[#5428](https://github.com/seata/seata/pull/5428)] 修复 FileTransactionStoreManagerTest 单测失败问题
- [[#5622](https://github.com/seata/seata/pull/5622)] 添加单元测试用例 [ExporterType, RegistryType]
- [[#5637](https://github.com/seata/seata/pull/5637)] 添加单元测试用例 [BatchResultMessage, HeartbeatMessage, RegisterRMResponse, ResultCode, RegisterTMResponse, MergeResultMessage, MergedWarpMessage, Version]


### Contributors:
Expand All @@ -129,6 +145,8 @@ Seata 是一款开源的分布式事务解决方案,提供高性能和简单
- [dmego](https://github.com/dmego)
- [zsp419](https://github.com/zsp419)
- [tuwenlin](https://github.com/tuwenlin)
- [sixlei](https://github.com/sixlei)
- [yixia](https://github.com/wt-better)

同时,我们收到了社区反馈的很多有价值的issue和建议,非常感谢大家。

Expand Down
1 change: 0 additions & 1 deletion changes/zh-cn/develop.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,4 @@
- [pengten](https://github.com/pengten)
- [wangliang181230](https://github.com/wangliang181230)


同时,我们收到了社区反馈的很多有价值的issue和建议,非常感谢大家。
17 changes: 17 additions & 0 deletions common/src/main/java/io/seata/common/ConfigurationKeys.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public interface ConfigurationKeys {
* The constant FILE_ROOT_REGISTRY.
*/
String FILE_ROOT_REGISTRY = "registry";

/**
* The constant FILE_ROOT_CONFIG.
*/
Expand All @@ -37,6 +38,22 @@ public interface ConfigurationKeys {
* The constant FILE_CONFIG_SPLIT_CHAR.
*/
String FILE_CONFIG_SPLIT_CHAR = ".";

/**
* The constant FILE_ROOT_PREFIX_REGISTRY.
*/
String FILE_ROOT_PREFIX_REGISTRY = FILE_ROOT_REGISTRY + FILE_CONFIG_SPLIT_CHAR;

/**
* The constant FILE_ROOT_PREFIX_CONFIG.
*/
String FILE_ROOT_PREFIX_CONFIG = FILE_ROOT_CONFIG + FILE_CONFIG_SPLIT_CHAR;

/**
* The constant SEATA_FILE_PREFIX_ROOT_CONFIG
*/
String SEATA_FILE_PREFIX_ROOT_CONFIG = SEATA_FILE_ROOT_CONFIG + FILE_CONFIG_SPLIT_CHAR;

/**
* The constant FILE_ROOT_TYPE.
*/
Expand Down
24 changes: 24 additions & 0 deletions common/src/main/java/io/seata/common/util/StringUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -349,4 +349,28 @@ public static String hump2Line(String str) {
return sb.toString();
}

public static boolean hasLowerCase(String str) {
if (null == str) {
return false;
}
for (int i = 0; i < str.length(); i++) {
if (Character.isLowerCase(str.charAt(i))) {
return true;
}
}
return false;
}

public static boolean hasUpperCase(String str) {
if (null == str) {
return false;
}
for (int i = 0; i < str.length(); i++) {
if (Character.isUpperCase(str.charAt(i))) {
return true;
}
}
return false;
}

}
Loading

0 comments on commit a1f0287

Please sign in to comment.