TiDB 4.0.6 Release Notes
Release date: September 15, 2020
TiDB version: 4.0.6
New Features
TiFlash
- Support outer join in TiFlash broadcast join
TiDB Dashboard
Tools
TiCDC (GA since v4.0.6)
- Support outputting data in the
maxwell
format #869
- Support outputting data in the
Improvements
TiDB
- Replace error codes and messages with standard errors #19888
- Improve the write performance of partitioned table #19649
- Record more RPC runtime information in
Cop Runtime
statistics #19264 - Forbid creating tables in
metrics_schema
andperformance_schema
#19792 - Support adjusting the concurrency of the union executor #19886
- Support out join in broadcast join #19664
- Add SQL digest for the process list #19829
- Switch to the pessimistic transaction mode for autocommit statement retry #19796
- Support the
%r
and%T
data format inStr_to_date()
#19693 - Enable
SELECT INTO OUTFILE
to require the file privilege #19577 - Support the
stddev_pop
function #19541 - Add the
TiDB-Runtime
dashboard #19396 - Improve compatibility for the
ALTER TABLE
algorithms #19364 - Encode
insert
/delete
/update
plans in the slow logplan
field #19269
TiKV
PD
TiFlash
- Add Grafana panels for data replication (
apply Region snapshots
andingest SST files
) - Add Grafana panels for
write stall
- Add
dt_segment_force_merge_delta_rows
anddt_segment_force_merge_delta_deletes
to adjust the threshold ofwrite stall
- Support setting
raftstore.snap-handle-pool-size
to0
in TiFlash-Proxy to disable applying Region snapshot by multi-thread to reduce memory consumption during data replication - Support CN check on
https_port
andmetrics_port
- Add Grafana panels for data replication (
Tools
Bug Fixes
TiDB
- Fix an issue of collecting the
tikv_cop_wait
time in metric profile #19881 - Fix the wrong result of
SHOW GRANTS
#19834 - Fix the incorrect query result of
!= ALL (subq)
#19831 - Fix a bug of converting the
enum
andset
types #19778 - Add a privilege check for
SHOW STATS_META
andSHOW STATS_BUCKET
#19760 - Fix the error of unmatched column lengths caused by
builtinGreatestStringSig
andbuiltinLeastStringSig
#19758 - If unnecessary errors or warnings occur, the vectorized control expression fall back to their scalar execution #19749
- Fix the error of the
Apply
operator when the type of the correlation column isBit
#19692 - Fix the issue that occurs when the user queries
processlist
andcluster_log
in MySQL 8.0 client #19690 - Fix the issue that plans of the same type have different plan digests #19684
- Forbid changing the column type from
Decimal
toInt
#19682 - Fix the issue that
SELECT ... INTO OUTFILE
returns the runtime error #19672 - Fix the incorrect implementation of
builtinRealIsFalseSig
#19670 - Fix the issue that the partition expression check misses the parentheses expression #19614
- Fix a query error when there is an
Apply
operator uponHashJoin
#19611 - Fix an incorrect result of vectorization that casts
Real
asTime
#19594 - Fix the bug that the
SHOW GRANTS
statement shows grants for non-existent users #19588 - Fix a query error when there is an
Apply
executor uponIndexLookupJoin
#19566 - Fix the wrong results when converting
Apply
toHashJoin
on a partitioned table #19546 - Fix incorrect results when there is an
IndexLookUp
executor on the inner side of anApply
#19508 - Fix an unexpected panic when using view #19491
- Fix the incorrect result of the
anti-semi-join
query #19477 - Fix the bug that the
TopN
statistics is not deleted when the statistics is dropped #19465 - Fix a wrong result caused by mistaken usage of batch point get #19460
- Fix the bug that a column cannot be found in
indexLookupJoin
with a virtual generated column #19439 - Fix an error that different plans of the
select
andupdate
queries compare datum #19403 - Fix a data race for TiFlash work index in Region cache #19362
- Fix the bug that the
logarithm
function does not show a warning #19291 - Fix an unexpected error that occurs when TiDB persists data to disks #19272
- Support using a single partitioned table on the inner side of index join #19197
- Fix the wrong hash key value generated for decimal #19188
- Fix the issue that TiDB returns a
no regions
error when table endKey and Region endKey are the same #19895 - Fix the unexpected success of alter partition #19891
- Fix the wrong value of the default maximum packet length allowed for pushed down expressions #19876
- Fix a wrong behavior for the
Max
/Min
functions on theENUM
/SET
columns #19869 - Fix the read failure from the
tiflash_segments
andtiflash_tables
system tables when some TiFlash nodes are offline #19748 - Fix a wrong result of the
Count(col)
aggregation function #19628 - Fix a runtime error of the
TRUNCATE
operation #19445 - Fix the issue that
PREPARE statement FROM @Var
will fail whenVar
contains uppercase characters #19378 - Fix the bug that schema charset modification in an uppercase schema will cause panic #19302
- Fix the inconsistency of plans between
information_schema.statements_summary
andexplain
, when the information containstikv/tiflash
#19159 - Fix the error in tests that the file does not exist for
select into outfile
#19725 - Fix the issue that
INFORMATION_SCHEMA.CLUSTER_HARDWARE
does not have raid device information #19457 - Make the
add index
operation that has a generated column with thecase-when
expression can exit normally when it encounters a parse error #19395 - Fix the bug that the DDL operation takes too long to retry #19488
- Make statements like
alter table db.t1 add constraint fk foreign key (c2) references t2(c1)
execute without first executinguse db
#19471 - Change the dispatch error from the
Error
to theInfo
message in the server log file #19454
- Fix an issue of collecting the
TiKV
- Fix the estimation error for a non-index column when collation is enabled #8620
- Fix the issue that Green GC might miss locks during the process of Region transfer #8460
- Fix a panic issue that occurs when TiKV runs very slowly during Raft membership change #8497
- Fix the deadlock issue that occurs between the PD client thread and other threads when calling PD sync requests #8612
- Upgrade jemalloc to v5.2.1 to address the issue of memory allocation in huge page #8463
- Fix the issue that the unified thread pool hangs for long-running queries #8427
PD
- Add the
initial-cluster-token
configuration to prevent different clusters from communicating with each other during bootstrap #2922 - Fix the unit of store limit rate when the mode is
auto
#2826 - Fix the issue that some schedulers persist configuration without solving errors #2818
- Fix the empty HTTP response in scheduler #2871 #2874
- Add the
TiFlash
- Fix the issue that after renaming the primary key column in previous versions, TiFlash might not start after upgrading to v4.0.4/v4.0.5
- Fix the exceptions that occur after modifying the column’s
nullable
attribute - Fix the crash caused by computing a table’s replication status
- Fix the issue that TiFlash is not available for data reads after users applied unsupported DDL operations
- Fix the exceptions caused by unsupported collations which are treated as
utf8mb4_bin
- Fix the issue that the QPS panel for the TiFlash coprocessor executor always displays
0
in Grafana - Fix the wrong result of the
FROM_UNIXTIME
function when input isNULL
Tools
TiCDC
- Fix the issue that TiCDC leaks memory in some cases #942
- Fix the issue that TiCDC might panic in Kafka sink #912
- Fix the issue that CommitTs or ResolvedTs (CRTs) might be less than
resolvedTs
in puller #927 - Fix the issue that
changefeed
might be blocked by MySQL driver #936 - Fix the incorrect Resolved Ts interval of TiCDC #8573
Backup & Restore (BR)
Dumpling
- Fix the issue that the
NULL
value for the binary type is not handled properly #137
- Fix the issue that the
TiDB Lightning