CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 40
Releases: aliyun/aliyun-odps-jdbc
v3.9.3
Compare
ODPS JDBC 3.9.3 Release Note
Breaking Change:
When using the getDate
method, the resulting Date
type will have a local time zone offset applied. This constitutes a breaking change, but we believe it is necessary. Due to inherent issues with the java.sql.Date
type, this correction ensures that the Date
type displays results as expected, rather than being influenced by the local time zone. When users do not configure any time zone-related parameters, this change can generally be regarded as a bug fix.
However, if users have previously configured parameters such as useProjectTimeZone
or timezone
, the Date
type will undergo additional adjustments. Users must carefully evaluate the correctness of the getDate
method in such cases.
We strongly recommend directly using the get
method to handle temporal types. The get
method returns newer time types recommended by Java, such as LocalDate
, ZonedDateTime
, Instant
, and LocalDateTime
. These types are not affected by the local time zone, ensuring consistent behavior across environments.
Features:
- Added the parameter
skipCheckIfSelect
to skip the parsing of the Antlr4 syntax tree (the default value is false). This parameter allows JDBC's throughput to no longer be limited by the throughput upper limit of Antlr4, but the performance of non-screen display jobs will decline. - print WARNING logs when SQL is too long and SQL execution time exceeds the threshold
Fixes:
- In SettingParser, JDBC will first add a semicolon to the end of SQL and then process it. Avoid processing as SQL statements when the user passes in
set xxx=xxx
without a semicolon.
Assets 6
v3.8.9
Compare
ODPS JDBC 3.8.9 Release Note
Fixes
- In SettingParser, JDBC will first add a semicolon to the end of SQL and then process it. Avoid processing as SQL statements when the user passes in
set xxx=xxx
without a semicolon.
Assets 6
v3.8.8
Compare
ODPS JDBC 3.8.8 Release Note
Features
- When the SQL length exceeds 4000, additional Warning-level logs are added, with the text content as follows:
The length of sql is too long, it may cause performance issues. SQL length: 4000
- Added the parameter longJobWarningThreshold, the default value is -1 (ms, not effective). When the SQL execution time exceeds longJobWarningThreshold, JDBC will print the WARNING level log with the text content as follows:
SQL execution time exceeds long job warning threshold. Execution time: 15000
Assets 6
v3.9.2
Compare
ODPS JDBC 3.9.2 Release Note
Fix
- Not set sql hints
odps.sql.timezone
when specifytimezone
param.
Assets 6
v3.8.7
Compare
ODPS JDBC 3.8.7 Release Note
Features:
- Added the parameter
skipCheckIfSelect
to skip the parsing of the Antlr4 syntax tree (the default value is false). This parameter allows JDBC's throughput to no longer be limited by the throughput upper limit of Antlr4, but the performance of non-screen display jobs will decline.
Assets 2
v3.9.1
Compare
ODPS JDBC 3.9.1 Release Note
New Features
- Support Dynamic Compute Resource Quota Configuration
Added support for theSET odps.sql.wlm.quota=xxx
command, enabling users to dynamically switch MaxCompute Quota Groups by specifying a Quota ID. This optimizes task scheduling priorities and resource isolation capabilities.
Bug Fixes
- Fixed Struct Field Parsing Issue in Java 9+
Resolved anIllegalAccessException
thrown when callinggetString()
to read aStruct<Timestamp>
field in Java 9 or later. This fix ensures compatibility with newer Java versions and stabilizes data retrieval workflows.
Dependency Updates
- Upgraded ODPS SDK Version
Updated the ODPS SDK dependency from0.51.11-public
to0.52.0-public
, integrating the latest feature iterations, performance enhancements, and improved compatibility/security. For detailed changes, refer to the ODPS SDK Release Notes.
Assets 6
v3.9.0
Compare
ODPS JDBC 3.9.0 Release Note
🚀 High-Performance Data Processing & Enhanced Time Zone Support
New Features
1. Multi-Threaded Concurrent Download (Only offline query support now)
Introduced InstanceDataIterator
with support for split-based concurrent downloads and thread configuration optimization:
Parameter Name | Default | Description |
---|---|---|
fetchResultSplitSize | 10000 | Number of data rows per split download. Larger values reduce splits but may increase single-request latency. |
fetchResultPreloadSplitNum | 5 | Preload queue length for splits. Higher values improve continuous read throughput. |
fetchResultThreadNum | 5 | Thread pool size for downloads. Adjust based on network bandwidth and server load. |
2. Enhanced Time Zone Support
Added time zone configuration parameter for global time zone definitions:
Parameter Name | Default | Description |
---|---|---|
timezone | UTC | Specify the time zone parameter (e.g., Asia/Shanghai ) for timestamp-related operations. |
3. Data Type Converter Refactoring
Optimized JDBC type conversion logic with enhanced support for:
BigDecimal, Boolean, byte[], Date, Double, Float, Integer, Long, Short, String, Time, Timestamp
ODPS SDK 3.9.0 Release Note
🚀 高性能数据处理与多时区支持全面升级!
新增功能
1. 多线程并发下载(仅离线查询)
引入 InstanceDataIterator
,支持分片并发下载与线程配置优化:
参数名称 | 默认值 | 说明 |
---|---|---|
fetchResultSplitSize | 10000 | 单次分片下载的数据行数,调大可减少分片数量但可能增加单次请求耗时。 |
fetchResultPreloadSplitNum | 5 | 预加载分片队列长度,调高可提升连续读取吞吐量。 |
fetchResultThreadNum | 5 | 下载线程池大小,根据网络带宽和服务器负载调整。 |
2. 时区支持增强
新增时区配置参数,支持全局时区定义:
参数名称 | 默认值 | 说明 |
---|---|---|
timezone | UTC | 连接时指定时间类型的时区加值(如 Asia/Shanghai )。 |
3. 数据类型转换器重构
优化 JDBC 类型转换逻辑,支持以下类型:
BigDecimal, Boolean, byte[], Date, Double, Float, Integer, Long, Short, String, Time, Timestamp
Assets 6
v3.8.6
Compare
ODPS JDBC 3.8.6 Release Note
New Features
- Introduce
async
Parameter for Non-blocking Query Execution
Added anasync
parameter to control execution behavior inexecute
-related methods. When enabled (async=true
):- The
execute
method no longer waits for job completion or fetches results synchronously. - Job status monitoring and result retrieval are deferred to
getResultSet()
, allowing non-blocking workflow for long-running queries. - This addresses performance bottlenecks where
execute
previously blocked threads for minutes/hours during large-scale MaxCompute jobs.
- The
Usage Example
// Trigger query asynchronously
statement.execute("SELECT * FROM " + tableName);
// Retrieve job instance metadata (non-blocking)
Instance executeInstance = ((OdpsStatement) statement).getExecuteInstance();
// Manually poll job status until completion
while (!executeInstance.isTerminated()) {
try {
Thread.sleep(3000); // Wait 3 seconds before next check
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new RuntimeException("Polling interrupted", e);
}
}
// Blocking call to fetch final results
ResultSet resultSet = statement.getResultSet();
Assets 6
v3.8.5
Compare
[3.8.5] - 2025-03-18
Improvements
- Dependency Update
Upgradedodps-sdk
to version0.51.11-public
. The new SDK version refactors theMCQA 2.0 ResultDescriptor
entity to ensure compatibility with MCQA 2.0. Users of MCQA 2.0 are strongly recommended to upgrade to this version. For details, refer to the SDK Changelog.
[3.8.5] - 2025-03-18
改进
- 依赖升级
升级odps-sdk
版本到0.51.11-public
。新版本 SDK 针对MCQA 2.0 ResultDescriptor
实体进行了重构,以确保与 MCQA 2.0 的兼容性。强烈建议 MCQA 2.0 用户升级到该版本。详情请参考 SDK 更新日志。
Assets 6
v3.8.3
Compare
[3.8.3] - 2025-02-11
Enhancements
- SQL Settings Extraction
Replaced regular expressions with a state machine for SQL settings parsing, improving accuracy and resolving issues where JDBC-side SQL rewriting caused execution failures. - Dependency Update
Upgradedodps-sdk
to version0.51.6-public
.
[3.8.3] - 2025-02-11
优化
- SQL 设置提取
使用状态机替代正则表达式进行 SQL 设置提取,提升解析准确性,规避了因 JDBC 侧 SQL 重写导致的执行失败问题。 - 依赖升级
升级odps-sdk
版本到0.51.6-public
。