Release v0.3.2
Despite from the version number and unusually long release cycle, this is a complete re-write. This means it's not a drop-in replacement of previous versions, and it may surprise you in certain cases. However, it's highly recommended to start integrating the new JDBC driver and Java client, not only for more features but also better performance - please refer to #768 for details.
-
KNOWN ISSUES
- new driver
com.clickhouse.jdbc.ClickHouseDriver
does not work with version before 20.7 java.io.IOException: HTTP/1.1 header parser received no bytes
when using JDK 11+ andhttp_connection_provider
is set toHTTP_CLIENT
RESOURCE_EXHAUSTED: Compressed gRPC message exceeds maximum size
when use gRPC - please increasemax_inbound_message_size
select 1 format JSON
works in http but not grpc, because grpc client is not aware of response format- gRPC is "slow" by default because it uses gzip instead of lz4 - see ClickHouse/ClickHouse#28671
- many connection properties are gone - please use
custom_http_params
and maybecustom_http_headers
instead - NPE when query null Date/DateTime - see #797 (will be fixed in 0.3.2-patch1)
- new driver
-
NEW FEATURES
- Java client and JDBC driver are now in different modules
- Replaced data format from TabSeparated to RowBinary
- Support both HTTP and gRPC - Native/TCP will be available in next release
- Support more data types including Bool, Date32, Geo types, and mixed use of nested types(e.g. array of tuples)
- Enhanced pipeline for better performance and less memory footprints - still plenty of room to improve according to ranking here
- More JDBC APIs(especially those related to metadata) are implemented
- Better date time and time zone support
-
BUG FIXES
- stale connection validation to mitigate
failed to respond
issue - parsing NaN and Inf/-Inf
- stale connection validation to mitigate
commits...
- [e6205b4]: Use jdk 11 to build (Zhichun Wu) #735
- [007d167]: Initial import of the new client (Zhichun Wu) #736
- [43dff6d]: Fix build break (Zhichun Wu) #736
- [9686cd4]: Discard known issues when testing against CH older than 21.9 (Zhichun Wu) #736
- [aea7d4b]: Fix maven build warnings (Zhichun Wu) #737
- [f66139a]: Remove groupId declaration for consistency (Zhichun Wu) #737
- [77e67bc]: Skip negative test of DateTime/DateTime32 on 21.3 (Zhichun Wu) #737
- [85c3bcf]: Only compares year and major version (Zhichun Wu) #737
- [7f505be]: Skip failed cases in certain releases (Zhichun Wu) #737
- [d5c72b0]: Limit timezone testing to JDBC driver (Zhichun Wu) #738
- [32ca307]: Add simple cache mechanism based on Caffeine and LinkedHashMap (Zhichun Wu) #739
- [19f0c9d]: Support maven-like version range (Zhichun Wu) #739
- [1eb0753]: Apply version range change and enhance DNS resolver (Zhichun Wu) #739
- [6015f67]: replace Jackson to Gson (Zhichun Wu) #740
- [7e3fc8f]: Remove slf4j dependency from JDBC driver (Zhichun Wu) #741
- [a8ac5b2]: Restore readUnsignedLeb128 method as requested in #710 (Zhichun Wu) #742
- [4f93201]: support credentials and protocol (Zhichun Wu) #742
- [cd32678]: Downgrade to JDK8 API (Zhichun Wu) #742
- [9b23915]: prepare jdbc refactoring (Zhichun Wu) #746
- [2bf54d8]: Bump 3rd party libs (Zhichun Wu) #746
- [d09d385]: Primitive array, serializable option, and shaded jars (Zhichun Wu) #747
- [dae6fdd]: ClickHouseRecord no long throws IOException and add its default implementation (Zhichun Wu) #747
- [6d18204]: Simplify response and error handling (Zhichun Wu) #747
- [675d382]: Enhance exception handling and expose stream response (Zhichun Wu) #747
- [c4b411b]: Drop for no usage and security reason (Zhichun Wu)
- [7f09be8]: Validate stale connection in HTTPClient pool. (Ryan Tu) #760
- [9afa1c4]: Add test cases for ValidateAfterInactivityMillis settings (Ryan Tu) #760
- [afbb426]: New JDBC driver along with improved Java client (Zhichun Wu) #747
- [8bd979b]: Fix build break (Zhichun Wu) #747
- [369ce06]: Fix test failure when using test container (Zhichun Wu) #747
- [331fffb]: Correct class file name (Zhichun Wu) #747
- [81cf79c]: Remove obsolete file (Zhichun Wu) #747
- [1b4b1d3]: Move parser to new package (Zhichun Wu) #747
- [32ba411]: Enable toolchain with multiple JDKs (Zhichun Wu) #762
- [b731608]: Fix substitution issue (Zhichun Wu) #762
- [d83f10b]: Add JDK distribution (Zhichun Wu) #762
- [659728e]: Remove checkstyle step (Zhichun Wu) #763
- [cdbab02]: Basic benchmark against new JDBC driver (Zhichun Wu) #763
- [1ee8668]: Introduce ClickHouseInputStream for tiny reads (Zhichun Wu) #763
- [395bc03]: Update benchmarks to cover more data types (Zhichun Wu) #763
- [d11fac0]: Fix JDK 8 build failure (Zhichun Wu) #764
- [66ba8d0]: Simplify build script (Zhichun Wu) #764
- [ce528f1]: Remove JAXB dependency (Zhichun Wu) #764
- [433afda]: Close initial connection when needed (Zhichun Wu) #764
- [05e89d8]: Benchmark both http and grpc implementations (Zhichun Wu) #764
- [1b0714a]: Fix JDK8 compatibility issue (Zhichun Wu) #766
- [e0a3a65]: Support client-specific property (Zhichun Wu) #766
- [ddd5a19]: Increase max inbound message size for benchmarking (Zhichun Wu) #766
- [eb1f1ed]: Reformat code (Zhichun Wu) #769
- [9cf8ff1]: Fix missing api (Zhichun Wu) #767
- [104d33d]: Merge branch 'develop' into enhance-jdbc (Zhichun Wu) #769
- [5db1b84]: Set error code in grpc response (Zhichun Wu) #769
- [a265d08]: Merge branch 'develop' into validate_stale_conn (Ryan Tu) #760
- [6cc8b68]: 3.1 driver broke float handling for nan/inf (Grant Nicholas) #770
- [0f5de18]: Merge branch 'develop' into grantnicholas/fixJdbcDriverFloatInfNaNHandling (Grant Nicholas) #770
- [e353f0c]: enhance http client and jdbc driver (Zhichun Wu) #769
- [b59646d]: Enable JDBC-specific configuration and disable wrapper object by default (Zhichun Wu) #769
- [45acb4e]: Stick with JDK 8 (Zhichun Wu) #769
- [e9a3bc7]: Improve UT to support CH 21.3 (Zhichun Wu) #769
- [e7b0e6a]: Revert changes made on streaming (Zhichun Wu) #769
- [d2fa508]: Validate results in benchmark (Zhichun Wu) #769
- [54cd54c]: Treat Nothing as NULL and add more tests (Zhichun Wu) #774
- [b8a2e1c]: Separate thread pool for I/O, add more tests for streaming, along with other minor changes for code clean up (Zhichun Wu) #777
- [d9e9df8]: Bump slf4j and remove log4j dependency (Zhichun Wu) #777
- [1f6666a]: Make HttpUrlConnection default implementation (Zhichun Wu) #777
- [262b3eb]: Optimize LZ4 input and output stream (Zhichun Wu) #777
- [6b7d1f6]: Better support of Bool, Enum, and custom type mapping (Zhichun Wu) #777
- [7ddc6e0]: Fix benchmark build failure (Zhichun Wu) #777
- [3f90b03]: Rename insert benchmark (Zhichun Wu) #783
- [f0c1a94]: Add warnings (Zhichun Wu) #783
- [ab28276]: Consider custom type map when displaying column class name (Zhichun Wu) #783
- [ffcec66]: Throw exception for AggregateFunction (Zhichun Wu) #783
- [7080f4e]: Fix time zone issue (Zhichun Wu) #783
- [33ac5c8]: Fix compile error caused by API change (Zhichun Wu) #783
- [ac43455]: Fix the issue of unable to change schema (Zhichun Wu) #783
- [dff3020]: Hide inmature implementation (Zhichun Wu) #783
- [f3ebc09]: Update readme (Zhichun Wu) #783
- [b04adb0]: improve batch insert support and the way of handling date/datetime values (Zhichun Wu) #783
- [1e236fc]: Fix build failure on 21.8 due to Date32 is not supported (Zhichun Wu) #783
- [bfab14c]: Optimize batch insert and update benchmark accordingly (Zhichun Wu) #783
- [8312bc3]: Fix batch insert issue when decompress=1 (Zhichun Wu) #783
- [5fe2be3]: Use consistent logic to handle dates (Zhichun Wu) #783
- [37b3de4]: Fix build failure (Zhichun Wu) #783
- [faebaba]: Remove JDK 9 method (Zhichun Wu) #783
- [b37e5b5]: Remove JDK 9 method (Zhichun Wu) #783
- [82868de]: Fit and finish (Zhichun Wu) #783
- [98f2c45]: Fix minor issues after 0.3.2 pre-release (Zhichun Wu) #787
- [734a286]: Merge branch 'develop' into enhance-jdbc (Zhichun Wu) #787
- [e704082]: Skip async_insert test before 21.12 (Zhichun Wu) #787
- [27d034f]: Enable #770 unit tests in CI (Zhichun Wu) #787
- [70358b1]: Fix time zone check failure (Zhichun Wu) #787