VMware Tanzu Greenplum 6.12 Release Notes
A newer version of this documentation is available. Use the version menu above to view the most up-to-date release of the Greenplum 6.x documentation.
VMware Tanzu Greenplum 6.12 Release Notes
This document contains pertinent release information about VMware Tanzu Greenplum Database 6.12 releases. For previous versions of the release notes for Greenplum Database, go to VMware Tanzu Greenplum Database Documentation. For information about Greenplum Database end of life, see VMware Tanzu Greenplum Database end of life policy.
VMware Tanzu Greenplum 6 software is available for download from the VMware Tanzu Greenplum page on VMware Tanzu Network.
VMware Tanzu Greenplum 6 is based on the open source Greenplum Database project code.
Release 6.12.1
Release Date: 2020-11-20
VMware Tanzu Greenplum 6.12.1 is a maintenance release that resolves several issues.
Resolved Issues
VMware Tanzu Greenplum 6.12.1 resolves these issues:
- 9207 - Server Standby
- Fixed a memory overflow condition that could cause a standby node to shut down with the error, "FATAL","XX000","the limit of 500 distributed transactions has been reached (cdbdtxrecovery.c:571)".
- 11003 - Postgres Planner
- Resolved an issue where a query that selected a constant and that specified one or more empty GROUPING SETS returned incorrect results.
- 30923 - Server Execution, Planner
- Resolved a problem where a query could return incorrect results if segments held a NULL value in an empty set.
- 30946 - Query Optimizer
- A query on a table with a btree index ran longer than expected because the Query Optimizer did not perform partition elimination when the query included an index join with both a local and a join predicate. This issue is resolved; the Query Optimizer improves dynamic and static partition elimination when indexes are present.
- 30993 - Optimizer
- Fixed an issue where certain IN queries performed slowly because full table scans were used instead of indexes.
- 30999 - Cluster Management
- Fixes an issue where moving a mirror segment to an alternate host, using gprecoverseg -F, was failing.
- 31007 - Cluster Management
- Fixes an issue where no error was logged or reported when the incremental recovery of a segment using gprecoverseg failed. The logs now include a message similar to: [WARNING]:-Incremental recovery failed for my-segment-name. You must use gprecoverseg -F to recover the segment.
- 31014 - analyzedb
- Fixed a problem where analyzedb could fail if a table was dropped and recreated during the analyzedb operation.
- 31018 - gpexpand
- The redistribute phase of a cluster expansion returned the error ... failed to expand: error ERROR: ... is not a table when it tried to expand a materialized view. This issue is resolved; Greenplum Databae now supports expanding materialized views.
- 31026 - Metrics Collector
- Resolved an issue where Greenplum Command Center version 6.3.0 and 6.3.1 could not show a visual query plan in the query monitor in certain cases.
- 31057 - Optimizer
- When simplifying constraints during preprocessing, GPORCA did not consider the case where a constraint compared a column to an empty array (for example, EXPLAIN SELECT 1 FROM mytable WHERE mytable.mycolumn=ANY('{}');). These types of queries would cause GPORCA to crash. This problem was resolved by ensuring that GPORCA now skips merging a constraint with an empty array.
- 174906043 - Metrics Collector
- Resolved an issue where the Greenplum Command Center could not show metrics for CREATE TABLE AS SELECT … FROM and COPY (SELECT ... FROM ...) TO ... statements.
- 175050196 - autovacuum
- Resolved a fatal error that could occur when the autovacuum daemon performed a VACUUM operation on the template0 database.
- 175372920 - Resource Groups
- Resolved an issue that could cause queries to fail if an earlier DROP RESOURCE GROUP command failed to drop the resource group.
- 175471857 - Query Dispatcher
- Resolved a problem that could cause a transaction to incorrectly use single-phase commit instead of two-phase commit.
- 275569338 - Query Dispatcher
- Resolved a problem that could cause the error, ERROR: unrecognized node type: 2139062143 (copyfuncs.c:6059), when the query dispatcher needed to refresh a materialized view.
Release 6.12.0
Release Date: 2020-10-30
VMware Tanzu Greenplum 6.12.0 is a minor release that includes changed features and resolves several issues.
Features
Greenplum Database 6.12.0 includes these new and changed features:
- Greenplum now supports using segment hostnames when defining proxy ports with the gp_interconnect_proxy_addresses parameter (previously, IP addresses were required). Note that if a segment instance hostname is bound to a different IP address at runtime, you must execute gpstop -U to re-load the gp_interconnect_proxy_addresses value. See Configuring Proxies for the Greenplum Interconnect.
- Because Greenplum Database does not enforce referential integrity syntax (foreign key constraints), the TRUNCATE command was updated so that it truncates a table referenced in a foreign key constraint, even if the CASCADE option is omitted.
- The Greenplum Database 6.12.0 distribution includes the Greenplum Magic Tool (gpmt), a diagnostics and data collection tool.
- The Greenplum Database 6.12.0 distribution includes the postgres_fdw PostgreSQL contrib module. Refer to the postgres_fdw module documentation for more information.
Resolved Issues
VMware Tanzu Greenplum 6.12.0 resolves these issues:
- 174311661 - Query Execution
- When executing a long query that contained multi-byte characters, Greenplum could incorrectly truncate the query string (removing multi-byte characters) and, if log_min_duration_statement was set to 0, could subsequent write an invalid symbol to segment logs. This behavior could cause errors in gp_toolkit and Command Center. This problem has been resolved.
- 173190958 - Transactions
- In some cases, a Greenplum Database master reset generated one or more orphaned prepared transactions. This issue is resolved; Greenplum now periodically checks for, and aborts, these transactions.
- 171249005 - Transactions
- Resolves an issue where Greenplum Database generated a PANIC when it exhausted retry attempts to abort prepared transactions.
- 30992 - Transactions
- In some cases, Greenplum Database generated a PANIC after reboot due to a race condition between a checkpoint and xlog COMMIT PREPARE recording. When Greenplum encountered an orphaned prepared transaction that was committed after the xlog was recorded, it returned the error message: cannot abort transaction transaction_number, it was already committed. This issue is resolved.
- 30970 - Query Optimizer
- In some cases, Greenplum Database crashed when the Query Optimizer attempted to generate an index scan from a predicate that contained a subquery. This issue is resolved; the Query Optimizer now disallows such plans.
- 30962 - Query Optimizer
- The second SELECT on an external table within a transaction returned zero records because the Query Optimizer did not generate a unique scan number to differentiate the two queries to the external table. This issue is resolved.
- 30960 - Query Optimizer
- Resolves an issue where the Query Optimizer entered an infinite loop when it merged statistics buckets for double values in UNION and UNION ALL queries due to an incorrect comparison of bucket boundary values with a small Epsilon.
- 30980 - diskquota Module
- Resolved an issue that caused master and mirror segments to display the warning, Share memory is not enough for active tables, when TRUNCATE and CREATE TABLE statements were executed.
- 30942 - Postgres Planner
- In some cases, the Postgres Planner crashed or produced incorrect results when the HAVING clause of a query included a subquery, and one or more columns referenced in the subquery were not also specified in the GROUP BY column set. This issue is resolved.
- 10813 - Postgres Planner
- Resolved an issue that could cause the Query Dispatcher to crash when creating a query plan for a subquery that has GROUPING SETS.
- 10794 - Resource Groups
- Resolves an issue where the result of a query on pg_resgroup_get_status(NULL:oid) could not be saved to a table.
- 10376 - Query Execution
- Resolved an issue where executing CREATE UNIQUE INDEX on a table partition would implicitly change the partition's distribution key.
- 425 - gpbackup
- When inserting into a table that is distributed by a bpchar and using the legacy bpchar hash operator, rows always used jump consistent hashing instead of legacy (modulo) hashing. This mismatch would cause gprestore operations to fail for when restoring Greenplum 4.x/5.x data into Greenplum 6.x. The problem occurred because a required hashing function ID was missing from a check function that determined if an attribute used legacy hashing. Greenplum 6.12 resolves this issue by adding the required hashing function ID in the check function.
Upgrading from Greenplum 6.x to Greenplum 6.12
See Upgrading from an Earlier Greenplum 6 Release to upgrade your existing Greenplum 6.x software to Greenplum 6.12.0.
Deprecated Features
Deprecated features will be removed in a future major release of Greenplum Database. VMware Tanzu Greenplum 6.x deprecates:
- The gpsys1 utility.
- The analzyedb option --skip_root_stats (deprecated
since 6.2).
If the option is specified, a warning is issued stating that the option will be ignored.
- The server configuration parameter gp_statistics_use_fkeys (deprecated since 6.2).
- The server configuration parameter gp_ignore_error_table (deprecated
since 6.0).
To avoid a Greenplum Database syntax error, set the value of this parameter to true when you run applications that execute CREATE EXTERNAL TABLE or COPY commands that include the now removed Greenplum Database 4.3.x INTO ERROR TABLE clause.
- Specifying => as an operator name in the CREATE OPERATOR command (deprecated since 6.0).
- The Greenplum external table C API (deprecated since 6.0).
Any developers using this API are encouraged to use the new Foreign Data Wrapper API in its place.
- Commas placed between a SUBPARTITION TEMPLATE clause and its
corresponding SUBPARTITION BY clause, and between consecutive
SUBPARTITION BY clauses in a CREATE TABLE command
(deprecated since 6.0).
Using this undocumented syntax will generate a deprecation warning message.
- The timestamp format YYYYMMDDHH24MISS (deprecated since 6.0).
This format could not be parsed unambiguously in previous Greenplum Database releases, and is not supported in PostgreSQL 9.4.
- The createlang and droplang utilities (deprecated since 6.0).
- The pg_resqueue_status system view (deprecated since 6.0).
Use the gp_toolkit.gp_resqueue_status view instead.
- The GLOBAL and LOCAL modifiers when creating a
temporary table with the CREATE TABLE and CREATE TABLE
AS commands (deprecated since 6.0).
These keywords are present for SQL standard compatibility, but have no effect in Greenplum Database.
- Using WITH OIDS or oids=TRUE to assign an OID system column when creating or altering a table (deprecated since 6.0).
- Allowing superusers to specify the SQL_ASCII encoding regardless of the
locale settings (deprecated since 6.0).
This choice may result in misbehavior of character-string functions when data that is not encoding-compatible with the locale is stored in the database.
- The @@@ text search operator (deprecated since 6.0).
This operator is currently a synonym for the @@ operator.
- The unparenthesized syntax for option lists in the VACUUM command
(deprecated since 6.0).
This syntax requires that the options to the command be specified in a specific order.
- The plain pgbouncer authentication type (auth_type = plain) (deprecated since 4.x).
Migrating Data to Greenplum 6
See Migrating Data from Greenplum 4.3 or 5 for guidelines and considerations for migrating existing Greenplum data to Greenplum 6, using standard backup and restore procedures.
Known Issues and Limitations
VMware Tanzu Greenplum 6 has these limitations:
- Upgrading a Greenplum Database 4 or 5 release, or Greenplum 6 Beta release, to VMware Tanzu Greenplum 6 is not supported.
- MADlib, GPText, and PostGIS are not yet provided for installation on Ubuntu systems.
- Greenplum for Kubernetes is not yet provided with this release.
The following table lists key known issues in VMware Tanzu Greenplum 6.x.
Issue | Category | Description |
---|---|---|
31010 | Query Optimizer | A view created in Greenplum Database 5.28.3 or older that
specified an external table in the FROM clause,
and that was migrated to Greenplum Database 6.x, always falls
back to the Postgres Planner when queried.
Workaround: If you migrated a view from Greenplum Database 5.28.3 or earlier, and the view specified an external table in the FROM clause, you must drop and recreate the view in Greenplum 6.x to ensure that the Query Optimizer is exercised when you query the view. |
N/A | Backup/Restore | Restoring the Greenplum Database backup for a table fails in
Greenplum 6 versions earlier than version 6.10 when a replicated
table has an inheritance relationship to/from another table that
was assigned via an ALTER TABLE ... INHERIT
statement after table creation.
Workaround: Use the following SQL commands to determine
if Greenplum Database includes any replicated tables that
inherit from a parent table, or if there are replicated tables
that are inherited by a child table:
SELECT inhrelid::regclass FROM pg_inherits, gp_distribution_policy dp WHERE inhrelid=dp.localoid AND dp.policytype='r'; SELECT inhparent::regclass FROM pg_inherits, gp_distribution_policy dp WHERE inhparent=dp.localoid AND dp.policytype='r'; If these queries return any tables, you may choose to run gprestore with the -–on-error-continue flag to not fail the entire restore when this issue is hit. Or, you can specify the list of tables returned by the queries to the -–exclude-table-file option to skip those tables during restore. You must recreate and repopulate the affected tables after restore. |
N/A | Spark Connector | This version of Greenplum is not compatible with Greenplum-Spark Connector versions earlier than version 1.7.0, due to a change in how Greenplum handles distributed transaction IDs. |
N/A | PXF | Starting in 6.x, Greenplum does not bundle cURL and instead
loads the system-provided library. PXF requires cURL version 7.29.0
or newer. The officially-supported cURL for the CentOS 6.x and Red
Hat Enterprise Linux 6.x operating systems is version 7.19.*. Greenplum Database 6
does not support running PXF on CentOS 6.x or RHEL 6.x due to this limitation.
Workaround: Upgrade the operating system of your Greenplum Database 6 hosts to CentOS 7+ or RHEL 7+, which provides a cURL version suitable to run PXF. |
29703 | Loading Data from External Tables | Due to limitations in the Greenplum Database external table framework,
Greenplum Database cannot log the following types of errors that it encounters while
loading data:
Workaround: Clean the input data before loading it into Greenplum Database. |
30594 | Resource Management | Resource queue-related statistics may be inaccurate in certain cases. VMware recommends that you use the resource group resource management scheme that is available in Greenplum 6. |
30522 | Logging | Greenplum Database may write a FATAL message to the standby master or mirror log stating that the database system is in recovery mode when the instance is synchronizing with the master and Greenplum attempts to contact it before the operation completes. Ignore these messages and use gpstate -f output to determine if the standby successfully synchronized with the Greenplum master; the command returns Sync state: sync if it is synchronized. |
30537 | Postgres Planner | The Postgres Planner generates a very large query plan that causes out of
memory issues for the following type of CTE (common table expression) query: the
WITH clause of the CTE contains a partitioned table with a large
number partitions, and the WITH reference is used in a subquery
that joins another partitioned table. Workaround: If possible, use the GPORCA query optimizer. With the server configuration parameter optimizer=on, Greenplum Database attempts to use GPORCA for query planning and optimization when possible and falls back to the Postgres Planner when GPORCA cannot be used. Also, the specified type of query might require a long time to complete. |
170824967 | gpfdists | For Greenplum Database 6.x, a command that accesses an external table that uses the gpfdists protocol fails if the external table does not use an IP address when specifying a host system in the LOCATION clause of the external table definition. |
n/a | Materialized Views | By default, certain gp_toolkit views do not display data for materialized views. If you want to include this information in gp_toolkit view output, you must redefine a gp_toolkit internal view as described in Including Data for Materialized Views. |
168957894 | PXF | The PXF Hive Connector does not support using the Hive*
profiles to access Hive transactional tables. Workaround: Use the PXF JDBC Connector to access Hive. |
168548176 | gpbackup | When using gpbackup to back up a Greenplum Database 5.7.1 or earlier 5.x release with resource groups enabled, gpbackup returns a column not found error for t6.value AS memoryauditor. |
164791118 | PL/R | PL/R cannot be installed using the deprecated createlang
utility, and displays the
error:createlang: language installation failed: ERROR: no schema has been selected to create inWorkaround: Use CREATE EXTENSION to install PL/R, as described in the documentation. |
N/A | Greenplum Client/Load Tools on Windows | The Greenplum Database client and load tools on Windows have not been tested with Active Directory Kerberos authentication. |
Differences Compared to Open Source Greenplum Database
- Product packaging and installation script
- Support for QuickLZ compression. QuickLZ compression is not provided in the open source version of Greenplum Database due to licensing restrictions.
- Support for data connectors:
- Greenplum-Spark Connector
- Greenplum-Informatica Connector
- Greenplum-Kafka Integration
- Greenplum Streaming Server
- Data Direct ODBC/JDBC Drivers
- gpcopy utility for copying or migrating objects between Greenplum systems
- Support for managing Greenplum Database using VMware Tanzu Greenplum Command Center
- Support for full text search and text analysis using VMware Tanzu GPText
- Greenplum backup plugin for DD Boost
- Backup/restore storage plugin API