Help Center> Data Warehouse Service (DWS)> Product Bulletin> Product Notice> Version 8.1.3> New Features and Resolved Issues in 8.1.3.x
Updated on 2024-04-12 GMT+08:00

New Features and Resolved Issues in 8.1.3.x

8.1.3.325

Table 1 8.1.3.325 New Features/Resolved Issues

Type

Feature or Resolved Issue

Cause

Version

Handling Method

New Features

  • The GB18030_2022 character encoding is supported.
  • The subquery hint function can be disabled.
  • The GDS foreign table is compatible with invalid UTF-8 characters.

-

-

-

Resolved Issues

Logs fail and the cluster is hung after DN restart.

When the stream thread error logs are printed, the stream thread responds to the cancel signal. When the logs are printed again, the stream thread is hung up.

8.1.3.320

Upgrade the version to 8.1.3.325.

  • When a service table is created, the following error message is occasionally displayed: relation "xxx" already exists.
  • The error could not read block xxx in file "xxx" is occasionally reported.

When the OID usage surpasses 4.2 billion, the system reallocates OIDs. During this reallocation process, intermittent errors may occur.

8.1.3.323 and earlier versions

Checkpoint failures on the standby DN prevent the reclamation of xlogs, leading to their continuous accumulation.

During the redo checkpoint operation on the standby DN, the detection of incomplete btree splitting triggers an RM 11 error. This may indicate a btree splitting failure or that the process is still ongoing.

8.1.3.323 and earlier versions

If a lightweight update occurs on a column-store table while autovacuum runs in the background, the system may report an error Unsupported to update different rows with the same cuid and col in light update.

In lightweight update, the same cuid and col cannot be used to update different rows.

8.1.3.323 and earlier versions

The no_merge hint operation does not take effect in some scenarios.

The subquery hint function cannot be disabled.

8.1.3.323 and earlier versions

When a long-time query statement is executed on the background, if you press Ctrl+C to end the statement and then press Ctrl+Z to exit the gsql client, residual statements exist.

Upon receiving the CTRL+C signal, the CN thread enters the error jump process. In this case, the CN thread invokes EmitErrorReport, but EmitErrorReport does not respond to the signal.

8.1.3.323 and earlier versions

When a wide table is used with a real-time table for associated update, the memory usage is too high, affecting the performance.

Associating a wide table with a real-time table for updates introduces superfluous columns. This leads to excessive memory consumption during the optimizer's execution plan estimation, thereby deteriorating performance

8.1.3.323 and earlier versions

In the ShareScan plan, the memory of the tuplestore and batchstore for storing CTEs cannot be expanded. As a result, data may be written to disks.

cteMaxMem in the ShareScan execution plan is not copied, read, or written. As a result, the DN fails to obtain the value from the CTE execution plan, and the created tuplestore and batchstore for storing the CTE result set cannot be expanded in memory. As a result, data spills to disks.

8.1.3.323 and earlier versions

The error message could not determine data type of parameter is reported when a lightweight column-store update is performed.

In the remote query of the execution plan, the parame parameter is specified as its position in the base table, and the system column cannot match this parameter.

8.1.3.323 and earlier versions

8.1.3.322

Table 2 8.1.3.325 new features/resolved issues

Type

Feature or Resolved Issue

Cause

Version

Handling Method

New Features

The default value of the GUC parameter enable_limit_stop is changed to on.

-

-

-

Resolved Issues

None

-

-

-

8.1.3.320

Table 3 8.1.3.320 new features/resolved issues

Type

Feature or Resolved Issue

Cause

Version

Handling Method

New Features

Concurrent truncate, exchange, and select operations

Added the GUC parameter ddl_select_concurrent_mode. This parameter is used to solve the problem that the query statement lasts for a long time and blocks DDL in the scenario where the data volume is large or the query is complex. The effect is the same as that of the Oracle database.

Application scenarios:

  • Concurrent truncate and select operations
  • Concurrent exchange and select operations

Scenario constraints

  • Concurrency is not supported when there are conflicts with locks of higher levels (more than one level). For example, autoanalyze is triggered by select when autoanalyze_mode is set to normal.
  • Concurrency is not supported when there are conflicts with locks in transaction blocks.

Connection constraints:

  • When the JDBC, ODBC, or Python driver is used, if autocommit is set to false, this feature is not supported.
  • This feature is not supported by query statements delivered by Data Studio and auto-committed transactions.

-

-

-

Whether to enable early stop optimization for LIMIT statements can be controlled.

Added the GUC parameter enable_limit_stop to specify whether to enable the early stop optimization for LIMIT statements.

-

-

-

Resolved Issues

The statement-level estimated memory exceeds the value of max_process_memory and causes ccn queuing.

The statement-level estimated memory exceeds the value of max_process_memory.

8.1.3.310 and earlier versions

Upgrade the version to 8.1.3.320 or later.

When the MERGE operation is performed, an error messagevalue xxx is out of range for type integer is displayed.

The pg_toast_get_baseid() function uses an integer interface for OID processing.

8.1.3.310 and earlier versions

Querying the dirty page rate view of a large table containing 200,000 data rows results in significant memory consumption.

In the process of data querying, each node in the statistics-querying linked list requests memory to store tupStatus. Post-query, while the nodes' memory is freed, the allocated memory within the nodes for tupStatus remains unreleased.

8.1.1.x

When a Vacuum operation times out and is terminated, some DNs retain leftover threads, which then fail to respond to signals and obstruct the execution of subsequent statements.

The btvacuumscan thread does not respond to signals. As a result, after the Vacuum execution times out and is killed, some DNs have residual threads and cannot respond to signals.

8.1.1.x

Executing percentage sampling on partitioned and time series tables within the MySQL compatibility library triggers an error: unsupported feature with temporary/unlogged table for partitioned table.

In 8.1.3, the default inheritance mode is INCLUDING ALL to match the CREATE TABLE LIKE syntax in MySQL. However, this causes an error during ANALYZE percentage sampling because the command for automatically creating temporary replication tables is included the sampling.

8.1.3.310 and earlier versions

The SELECT query of the cold and hot tables triggers runtime autoanalyze, deteriorating the query performance.

If the select operation is performed After the TRUNCATE PARITION, EXCHANGE PARTITION, DROP PARTITION, ALTER DISTRIBUTE, or ALTER COLUMN TYPE operation, AUTOANALYZE is triggered.

8.1.3.310 and earlier versions

The value of elapsed_time in pg_session_wlmstat is inconsistent with the actual execution time of the top SQL statement.

When querying the pg_session_wlmstat view, the elapsed_time value appears excessively high for statements in the RUNNING state.

8.0.x

When the SELECT permission is granted to a foreign table, the error message "has no distribute type" is displayed.

The default distribution mode is not specified for the OBS dfs server write-only foreign tables.

8.1.3.310 and earlier versions