Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
228 changes: 114 additions & 114 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,139 +1,139 @@
## CeresDB 软件版本定义
## CeresDB software version definition

### 版本号格式
### Format
X.Y.Z

| name | desc |
| --- | --- |
| X | 主版本号(major),一般代表做了不兼容的修改 |
| Y | 此版本号(minor),一般代表做了向下兼容的功能性新增 |
| Z | 修订版本号(patch),一般代表做了向下兼容的问题修正 |
| X | major,Representative made incompatible modifications |
| Y | minor,Representative has added downward compatible functionality |
| Z | patch,Representative made a downward compatibility correction |

再加上下边的标签(modifier):
The label below(modifier):
### Modifier
| name | desc |
| --- | --- |
| alpha | 内测版本,一般只供内部测试用,bug 可能较多 |
| beta | 公开测试版 |
| RC | Release Candidate,发行候选版本,理论上不再加入新的功能,主要修复 bug |
| Final | 最终版本 |
| alpha | The internal test version is generally only used for internal testing, and there may be many bugs |
| beta | Public beta version |
| RC | Release candidate, release candidate, theoretically no new features will be added, mainly bug fixes |
| Final | Final version |

---
## 1.0.1.RC2
## 0.0.3.RC2
- Features
- TageValue 追加 withBooleanOrNull nullable API
- TageValue add withBooleanOrNull nullable API
- Fixes
-
- Breaking Changes
-

## 1.0.1.RC
## 0.0.3.RC
- Features
- FieldValue&TageValue 提供 nullable API
- FieldValue&TageValue provide nullable API
- Fixes
-
- Breaking Changes
-

## 1.0.1.beta2
## 0.0.3.beta2
- Features
- CeresDBxClient builder 提供简化参数版构造方法
- CeresDBClient builder provide a simplified method for constructing parametric version
- Fixes
-
- Breaking Changes
-

## 1.0.1.beta1
## 0.0.3.beta1
- Features
- 写入期间关键字检查(不允许写入 `timestamp` `tsid`
- Keyword check during writing (writing `timestamp` and `tsid` is not allowed)
- Fixes
- 修复 Union 类型丢失 timestamp LogicType 的问题
- Fix Union type missing timestamp LogicType
- Breaking Changes
-

## 1.0.1.alpha
## 0.0.3.alpha
- Features
- 支持 unsigned int64 值的写入(通过 BigInteger
- `Record` 支持读取 unsigned int64
- 完善版本号规则定义
- 优化部分文档说明
- Support writing of unsigned Int64 values (through BigInteger)
- `Record` support read unsigned int64
- Improve the definition of version number rules
- Optimization part document description
- Fixes
-
- Breaking Changes
- `Record#getUInt64` 返回值由 `Long` 改为 `BigInteger` 以避免溢出
- The return value of `Record#getUInt64` is changed from `Long` to `BigInteger` to avoid overflow

## 1.0.0.Final (2022-01-17)
## 0.0.2.Final (2022-01-17)
- Features
- 新增网络请求/响应 bytes 总量统计 metric
- 基于 SIGUSR2 信号关闭 grpc limiter
- 占用 SIGUSR2 信号可关,默认打开
- GRPC channel 增加 ID 用于排查问题
- Add statistics of total network request / response bytes (Metric)
- Close grpc limiter based on sigusr2 signal
- Occupied sigusr2 signal can be turned off and turned on by default
- Add GRPC channel ID for troubleshooting
- Fixes
- 移除 SIG_TERM、SIGHUP 信号占用,仅使用 SIGUSR2 信号,避免和某些环境不兼容,同时利用创建一个小文件来实现各种不同的信号处理,详细请参考使用文档
- 修改 rpc-limiter, maxLimit 调整为 1024(原 4096,initialLimit 调整为 64(原 512
- 增加 rpc-limiter 单元测试
- metrics reporter 指定 CeresDBxClient 内的 logger output,避免给用户配置 logger conf 带来负担
- 修复 Stream API NPE bug
- Remove SIG_TERM、SIGHUP signals,Only SIGUSR2 used to avoid incompatibility with some environments. At the same time, a small file is created to realize various signal processing. Please refer to the user's documentation for details
- Update rpc-limiter, maxLimit change from 4096 to 1024,initialLimit change from 512 to 64
- Add rpc-limiter unit test
- Specify logger output in CeresDBClient for metrics reporter to avoid the burden of configuring logger conf for users
- Fix Stream API NPE bug
- Breaking Changes
- 增加 OptKeys,汇总所有 system properties 配置,统一命名规则,部分 key 已变化
- Add OptKeys,summarize all system properties configuration,unify naming rules,and some keys have changed
- Query#blockingStreamQuery 返回值修改为 Iterator<Record> (原为 Iterator<Stream<Record>>)

## 1.0.0.RC15 (2022-01-04)
## 0.0.2.RC15 (2022-01-04)
- Features
- 修改 RPC 层默认的限流算法,由 Vegas 改为 Gradient Concurrency-limits
- Change default limit algorithm of RPC from Vegas to Gradient Concurrency-limits
- Fixes
- SerializingExecutor queue 超过一定大小(默认 1024)时打印一次 warn 日志
- RouteCache GC 线程避免打印 cache 明细
- SerializingExecutor queue print warn log once when it exceeds a certain size(1024 by default)
- RouteCache GC threads avoid print cache detail
- Breaking Changes
- RpcOptions 中与自适应限流相关的参数均进行了重新定义,不再兼容旧版本
- The parameters related to adaptive current limiting in RpcOptions have been redefined and are no longer compatible with the old version

## 1.0.0.RC14 (2021-12-28)
## 0.0.2.RC14 (2021-12-28)
- Features
- 增加查询限流器,默认并发度为 8
- 每次 write/query 记录 available permits metric
- 最大在途写入行数从默认 16384 调整为 8192
- Vegas limiter 调整 initialLimit 为 40(原 20),同时增加 vegasInitialLimit 选项
- 调优了各种写入参数和配置
- 精简掉不必要的 metric 采集
- Add query current limiter. The default concurrency is 8
- Record available permits metric when write/query
- Default Value of maximum number of in transit write in lines change from 16384 to 8192
- Vegas limiter initialLimit change from 20 to 40,and add vegasInitialLimit option
- Various write parameters and configurations have been optimized
- remove unnecessary metric collect
- Fixes
- Breaking Changes
- QueryOptions#setRoutedClient 改为 QueryOptions#setRouterClient
- QueryOptions#getRoutedClient 改为 QueryOptions#getRouterClient
- CeresDBxOptions.Builder.limitedPolicy 改为 CeresDBxOptions.Builder.writeLimitedPolicy
- CeresDBOptions.Builder.limitedPolicy 改为 CeresDBOptions.Builder.writeLimitedPolicy

## 1.0.0.RC13 (2021-12-27)
## 0.0.2.RC13 (2021-12-27)
- Features
- 写入失败时日志打印这一批失败的表名
- RouterClient cleaner refresher 采用共享 Pool 以减少资源占用
- CeresDBxClient 定时 Display 到日志中(30 分钟执行一次)
- 单次写入最大单批从默认 1024 调整为 512,最大在途写入行数从默认 4096 调整为 16384
- RouteClient 接收 SIGUSR2 信号将 route cache items 输出到文件
- NamedThreadFactory 增加 Factory ID 来识别重复的 Factory Name
- Prints table names when writing failed
- RouterClient cleaner and refresher use shard pool to reduce resource used
- CeresDBClient display to the log regularly (once every 30 minutes)
- Default value of maximum single write batch change from 1024 to 512,and maximum in transit write in lines change from 4096 to 16384
- RouteClient receive SIGUSR2 signal to route cache items to file
- NamedThreadFactory add Factory ID to identify duplicate Factory Name
- Fixes
- 升级 Log4j 2.17.0 修复安全漏洞
- Update Log4j to 2.17.0 to fix security hole
- Breaking Changes

## 1.0.0.RC12 (2021-12-20)
## 0.0.2.RC12 (2021-12-20)
- Features
- Fixes
- 修复基于 SPI 加载的 Management 不能重复创建从而导致无法支持多租户的问题
- Fix the problem that `Management` loaded based on SPI cannot be created repeatedly, resulting in the inability to support multi tenant
- Breaking Changes

## 1.0.0.RC11 (2021-12-17)
## 0.0.2.RC11 (2021-12-17)
- Features
- 查询结果 Record 增加 Type LogicalType 类型枚举,增加判断是否是 timestamp 类型 API
- Query result `Record` add Type and LogicalType enum,and add an API to determine whether it is a timestamp type
- Fixes
- Breaking Changes

## 1.0.0.RC10 (2021-12-15)
## 0.0.2.RC10 (2021-12-15)
- Features
- 忽略写入的 null
- Ignore null value written
- Fixes
- Breaking Changes

## 1.0.0.RC9 (2021-12-14)
## 0.0.2.RC9 (2021-12-14)
- Features
- TAG 增加更多类型支持,除原有支持 String 外新增如下类型
- TAG support more type. In addition to the original string support, the following types are added
```
Int64,
Int(Int32),
Expand All @@ -148,62 +148,62 @@ X.Y.Z
Varbinary
```
- Fixes
- 升级 Log4j 2.16.0 修复安全漏洞
- 锁定 OkHttp 依赖项版本避免出现 jar 不兼容
- Update Log4j to 2.16.0 to fix security hole
- Locking OkHttp to avoid jar dependency conflict
- Breaking Changes

## 1.0.0.RC8 (2021-12-07)
## 0.0.2.RC8 (2021-12-07)
- Features
- SQL Parser 支持解析 Insert StatementType
- 支持 `EXISTS [TABLE] xxx_table` 语法
- 在单次请求中,(tenant, token, childTenant) 组合是可以通过请求 Context 覆盖的,针对于单机群却多个租户的用户场景
- SQL Parser support Insert StatementType
- SQL Parser Support `EXISTS [TABLE] xxx_table`
- In a single request,(tenant, token, childTenant) combination can be covered by change context,which is targeted at the user scenario of a single cluster but multiple tenants
- Fixes
- 修复 1.0.0.RC4 依赖 client.version 一直为 1.0.0.RC3 的 bug
- 修复 token 为空时不传租户的问题
- fix 1.0.0.RC4 reference dependency client.version 1.0.0.RC3
- fix tenant be ignored when token is null
- Breaking Changes
- 移除 SQL Parser whereColumns 解析,目前看没什么用处
- Remove SQL Parser of whereColumns

## 1.0.0.RC6 (2021-12-04)
## 0.0.2.RC6 (2021-12-04)
- Features
- Fixes
- Breaking Changes
- 权签相关 Headers 的 Key 统一改为小写,将和前面版本的权签不兼容
- Authentication headers key unified to lowercase. Will be incompatible with the previous version of authentication

## 1.0.0.RC5 (2021-12-02)
## 0.0.2.RC5 (2021-12-02)
- Features
- 支持 `SHOW CREATE TABLE` `DROP TABLE` 的 SQL 语句解析
- ALTER TABLE ADD COLUMN 支持添加多列
- Support parse SQL `SHOW CREATE TABLE` AND `DROP TABLE`
- ALTER TABLE ADD COLUMN Support adding
- Fixes
- Breaking Changes
- TagValue#string 重命名为 TagValue#withString,与 FieldValue 风格保持一致
- TagValue#string rename to TagValue#withString. The naming style is consistent with FieldValue

## 1.0.0.RC4 (2021-11-24)
## 0.0.2.RC4 (2021-11-24)
- Features
- ceresdbx-sql-javacc 模块支持解析 inner/left/right join SQL 解析,支持解析多个查询 tables
- ceresdb-sql-javacc module support inner/left/right join SQL parse,Support to resolve multiple queries tables
- Fixes
- 取消查询数据时 avro record 的复用,避免数据被不小心覆盖
- Cancel the reuse of avro record when querying data to avoid data being accidentally overwritten
- Breaking Changes

## 1.0.0.RC3 (2021-11-10)
## 0.0.2.RC3 (2021-11-10)
- Features
- 新增基于 javacc 的 SQL parser,主要用于查询的表路由以及 management API 模块的客户端 sql 校验
- Add new SQL parser based javacc,It is mainly used for table routing of query and client SQL verification of Management API module
- Fixes
- 在返回查询结果时将 Utf8 类型转换为 String
- When the query result is returned, the utf8 type is converted to string
- Breaking Changes

## 1.0.0.RC2 (2021-11-02)
## 0.0.2.RC2 (2021-11-02)
- Features
- 默认关闭 avro schemaname validate 以支持 `select count(*) from` 这种不必使用别名查询
- Management API 模块默认在客户端对 sql 有效性进行检查
- By default, avro schema's name validate is turned off to support `select count (*) from` queries without using aliases
- Management API module checks the SQL validity on the client by default
- Fixes
- 因为 CeresDBx server 端建表语法变更,修改 client 的 parser 以支持最新语法
- Because the syntax of creating tables on the ceresdb server is changed, modify the parser of the client to support the latest syntax
- Breaking Changes

## 1.0.0.RC1 (2021-11-01)
## 0.0.2.RC1 (2021-11-01)
- Features
- 新增 Management API (支持执行 SQL)
- @NotSupport 标记暂不支持的流式 API
- 新增更多类型支持,目前支持的全部类型:
- Add Management API (support execute SQL)
- @NotSupport Tag streaming API not supported at present
- Add more types of support. All types currently supported:
```
Double(Float64),
String,
Expand All @@ -221,54 +221,54 @@ X.Y.Z
Varbinary
```
- Fixes
- 修复当域名下的 ip 变更时 gRPC 连接无法刷新
- Fix: the grpc connection cannot be refreshed when the IP under the domain name is changed
- Breaking Changes
- FieldValue 部分 API 变更并且不向前兼容
- FieldValue some API changes and are not forward compatible

## 0.0.1.RC6 (2021-09.28)
- Features
- Fixes
- 修改版本号格式
- 修复发布到 mvn 仓库没有源码的问题新
- Modify version number format
- Fix the problem that there is no source code in the mvn repository
- Breaking Changes

## 0.0.1-RC5 (2021-09-28)
- Features
- 默认关闭 grpc 的 keep-alive 相关选项
- 增加 rpc 自适应限流器在 acquire 时被 block 的时间统计指标 (rpc_limiter_acquire_time_${method_name})
- The keep alive option of gprc is turned off by default.
- Add time cost metrics for the rpc adaptive limiter is blocked in acquire (rpc_limiter_acquire_time_${method_name})
- Fixes
- Breaking Changes
- 触发 clear-route-cache 的信号由 SIGINT 改为 SIGHUP,不再支持 SIGINT 信号(因为 JVM 的正常交互式退出使用的是 SIGINT)
- The signal triggering clear-route-cache is changed from SIGINT to SIGHUP,and SIGINT signal is nno longer supported(because SIGINT is used for normal interactive exit of JVM

## 0.0.1-RC4 (2021-09-13)
- Features
- 在 RPC 层增加了基于 TCP Vegas 拥塞控制算法的自适应通限流器,写、读请求的通行率占比分别为 70% 30%,可选择配置快速失败或者阻塞直到超时,默认阻塞
- 增加 abort-on-blocking-timeout (被阻塞超时后抛出异常) 写入限流策略,并设置 abort-on-blocking-timeout(3s) 为默认策略(在这之前的默认策略为 blocking-timeout(1s) )
- 增加 abort (直接抛出 LimitedException) 写入限流策略
- 写入限流策略优化,当一次性写入的数据条数就超过限流器最大许可的情况下,如果此时在途请求为 0,那么将消耗掉限流器的最大许可并对这次请求放行,该策略将避免这种大请求直接失败
- An adaptive flow restrictor based on TCP Vegas congestion control algorithm is added in the RPC layer. The traffic rates of write and read requests are 70% and 30% respectively. You can choose to configure fast failure or blocking until timeout. Default blocking
- Add abort-on-blocking-timeout (throw exception after being blocked for timeout) write limit strategy. And set abort-on-blocking-timeout(3s) as default policy(the default policy before is blocking-timeout(1s) )
- Add abort (throw LimitedException directly) write limit strategy
- Optimization of write limit strategy. When the number of data pieces written at one time exceeds the maximum permission of current limiter,if the in transit request is 0 ant this time, the maximum permission of the current limiter will be consumed and the request will be released, this strategy will avoid the direct failure of such large requests
- Fixes
- Breaking Changes

## 0.0.1-RC3 (2021-09-06)
- Features
- client 实例 id client code version 加入到调用上下文并发送到服务端
- 增加写入限流策略,提供几个默认实现分别为 blocking、discard blocking-timeout,默认为 blocking-timeout(1s)
- Add the client instance id and client code version to the call context and send them to the server
- Add write flow policy and provide several default implementations, blocking、discard and blocking-timeout. The default is blocking-timeout(1s)
- Fixes
- Breaking Changes

## 0.0.1-RC2 (2021-09-03)
- Features
- 增加 `SerializingExecutor` `DirectExecutor` 执行任务耗时统计
- 攒批执行任务优化,增加 `SerializingExecutor`
- 增加写入限流器,默认限制最大在途请求的数据行数为 4096 行,用户可配置参数 `maxInFlightWriteRows`,小于 0 代表不做限流
- `RpcOptions.rpcThreadPoolSize` (rpc 最大线程数量)默认值由原来的 64 调整为 0,默认不用线程池避免占用过多资源
- `RpcOptions.keepAliveTimeoutSeconds` (ping timeout)默认值由原来的 5 秒调整为 3 秒
- 新增 CHANGELOG.md
- Add `SerializingExecutor` and `DirectExecutor` statistics of task execution time
- Batch function optimization,add `SerializingExecutor`
- Add write flow limiter,the maximum umber of data lines in transit requests is 4096. User configurable parameter `maxInFlightWriteRows`,less than 0 means no current limitation
- `RpcOptions.rpcThreadPoolSize` (rpc max thread number)to avoid occupying too much resource. The default value is adjusted from 64 seconds to 0 second
- `RpcOptions.keepAliveTimeoutSeconds` (ping timeout)the default value is adjusted from 5 seconds to 3 seconds
- Add CHANGELOG.md
- Fixes
- Breaking Changes

## 0.0.1-RC1 (2021-08-31)
- Features
- CeresDB client 的第一个版本,包含基本查询、写入能力
- The first version of CeresDB client ,contains basic query and write functions
- Fixes
- Breaking Changes
Loading