Pivotal Greenplum 6.3 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.

Pivotal Greenplum 6.3 Release Notes

This document contains pertinent release information about Pivotal Greenplum Database 6.3 releases. For previous versions of the release notes for Greenplum Database, go to Pivotal Greenplum Database Documentation. For information about Greenplum Database end of life, see Pivotal Greenplum Database end of life policy.

Pivotal Greenplum 6 software is available for download from the Pivotal Greenplum page on Pivotal Network.

Pivotal Greenplum 6 is based on the open source Greenplum Database project code.

Important: Pivotal Support does not provide support for open source versions of Greenplum Database. Only Pivotal Greenplum Database is supported by Pivotal Support.

Release 6.3.0

Release Date: 2020-1-12

Pivotal Greenplum 6.3.0 is a minor release that includes new features and resolves several issues.

New Features

Greenplum Database 6.3.0 includes these new features:

  • The sever configuration parameter wait_for_replication_threshold is introduced to improve performance for Greenplum Database systems with segment mirroring enabled. The parameter specifies the maximum amount of Write-Ahead Logging (WAL)-based records (in KB) written by a transaction on the primary segment instance before the records are written to the mirror segment instance for replication. As the default, Greenplum Database writes the records to the mirror segment instance when a checkpoint occurs or the wait_for_replication_threshold value is reached. See wait_for_replication_threshold.
  • The PL/Container version has been updated to 2.1.0. This version supports Docker images with Python 3 installed. These new PL/Container features enable support for Python 3:
    • A Docker image that is installed with Python 3 - plcontainer-python3-images-2.1.0.tar.gz

      The Docker image can be downloaded from Pivotal Network.

    • The new value python3 for the --language option of plcontainer runtime-add command.

      You specify this value when you add a Docker image that has Python 3 installed on to the Greenplum Database hosts with the plcontainer runtime-add command.

    • The GluonTS module has been added to Python Data Science Module package. The Python Data Science modules are installed with Python 3 in the Docker image on Pivotal Network.
    Note: PL/Container 2.0.x and earlier do not support Python 3.

    For information about PL/Container, see PL/Container Language.

  • PXF version 5.10.1 is included, which introduces bug fixes.
  • The metrics collector extension included with Greenplum Database 6.3.0 adds a new gpcc.enable_query_profiling server configuration parameter that can be enabled to help with performance troubleshooting. When off, the default, the metrics collector does not collect queries executed by the gpmon user in the gpperfmon database or plan node history for queries that run in less than ten seconds. If you enable gpcc.enable_query_profiling in a session the metrics collector collects those queries in that session. See Metrics Collector Server Configuration Parameters in the Greenplum Command Center documentation for more information.

Resolved Issues

Pivotal Greenplum 6.3.0 is a minor release that resolves these issues:

30214 - Query Optimizer
The GPORCA algebrizer might generate a PANIC when optimizing a query involving a window function where one or more of the columns selected was a subquery. This issue is resolved.
30252 - Storage: Filespace / Tablespace
Data distribution errors could lead to data corruption if UPDATE or DELETE statements resulted in data movement between segments (for example, if the UPDATE of an affected tuple was distributed to another segment). The code was modified to check for distribution problems during UPDATE and DELETE operations, and to error out and cancel the operation in order to prevent data corruption. Problems detected in this manner are reported with the error: distribution key of the tuple doesn't belong to current segment (actually from segment_id).
30264 - Segment Mirroring
In some cases when Greenplum Database segment mirroring is enabled, loading a large amount of data caused mirror segment instances to fail due to a timeout issue. This issue has been resolved.
30300 - gpbackup/gprestore
When a view was restored from a backup and the view definition contained the function gp_dist_random(), the definition of the restored view did not contain the function. Greenplum Database has been updated to resolve this issue. Now the restored view contains the correct definition.
30301 - analyzedb
The analyzedb command could take a long time to complete when Greenplum Database incorrectly determined that the statistics for a child partition were not up to date and subsequently resampled the statistics for all partitions. This issue is resolved.
30320 - COPY
In some cases, Greenplum Database returned a segment reject limit reached error when a COPY operation specified a SEGMENT REJECT LIMIT and Greenplum encountered a data formatting error. Because Greenplum rescanned the offending line, it returned the error even before the error limit had been reached. This issue is resolved.
30321 - Query Optimizer
When computing the join order for certain queries, ORCA tries to create a set of all the tables that have a predicate in common with the current join tree, and then pick one of the tables from this set. In certain cases involving left joins, ORCA would error out if it was unable to pick a table to join from this set. This has now been fixed and ORCA no longer falls back for such queries.
30334 - Storage: DDL
A system panic could occur if ALTER TABLE was used to add a new partition, and WITH (OIDS=FALSE) was specified as the only storage parameter for the new partition. The problem was caused by code that failed to handle the possibility of a null reloption value, which is generated when the single default storage parameter is specified. The partitioning code was modified to correctly handle the possibility of such null values.
30348 - gpload
Attempting to run gpload installed with Greenplum Clients 6.2.1 returned this error: No module named gppylib.gpversion. This issue has been resolved.
169749131 - Segment Mirroring
When Greenplum Database segment mirroring is enabled, loading a large amount of data into append-optimized tables caused database performance issues and might have caused mirror instance failures with a walsender replication timeout error. The issues occurred because Greenplum Database was not efficiently writing transaction log records from primary to mirror segment instances. This issue has been resolved. Writing transaction log records from primary to mirror segment instances has been improved.
170021921 - Workload Manager
Transaction performance issues occurred when the gp_wlm extension was loaded and the Greenplum Command Center workload management feature was not enabled. This is fixed in the gp_wlm extension included with Greenplum Database 6.3.0.
170346082 - PXF
The PXF JDBC Connector did not support dynamic session authorization in a remote SQL database. This issue is resolved; PXF now supports session authorization, and introduces the ${pxf.session.user} value and the jdbc.pool.qualifier property as described in About Session Authorization in the JDBC Connector configuration documentation.
170476535 - PXF
PXF incorrectly wrote a Parquet decimal value that was specified with precision and scale settings, and was unable to read the decimal value back. This issue is resolved.

Upgrading to Greenplum 6.3.0

Note: Greenplum 6 does not support direct upgrades from Greenplum 4 or Greenplum 5 releases, or from earlier Greenplum 6 Beta releases.

See Upgrading from an Earlier Greenplum 6 Release to upgrade your existing Greenplum 6.x software to Greenplum 6.3.0.

Deprecated Features

Deprecated features will be removed in a future major release of Greenplum Database. Pivotal Greenplum 6.x deprecates:

  • 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 following PXF configuration properties (deprecated since 6.2):
    • The PXF_USER_IMPERSONATION, PXF_PRINCIPAL, and PXF_KEYTAB settings in the pxf-env.sh file. You can use the pxf-site.xml file to configure Kerberos and impersonation settings for your new Hadoop server configurations.
    • The pxf.impersonation.jdbc property setting in the jdbc-site.xml file. You can use the pxf.service.user.impersonation property to configure user impersonation for a new JDBC server configuration.
  • 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.

  • The Greenplum Platform Extension Framework (PXF) HDFS profile names for the Text, Avro, JSON, Parquet, and SequenceFile data formats (deprecated since 5.16).

    Refer to Connectors, Data Formats, and Profiles in the PXF Hadoop documentation for more information.

  • 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

Note: Greenplum 6 does not support direct upgrades from Greenplum 4 or Greenplum 5 releases, or from earlier Greenplum 6 Beta releases.

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

Pivotal Greenplum 6 has these limitations:

  • Upgrading a Greenplum Database 4 or 5 release, or Greenplum 6 Beta release, to Pivotal Greenplum 6 is not supported.
  • MADlib, GPText, and PostGIS are not yet provided for installation on Ubuntu systems.
  • Greenplum 6 is not supported for installation on DCA systems.
  • Greenplum for Kubernetes is not yet provided with this release.

The following table lists key known issues in Pivotal Greenplum 6.x.

Table 1. Key Known Issues in Pivotal Greenplum 6.x
Issue Category Description
N/A Metrics collector Setting the gpcc_enable_query_profiling configuration parameter to on may cause Greenplum Database to crash. This affects Greenplum Database versions 6.3, 6.4, and 6.5.

Workaround: Install Greenplum Command Center 6.2.0 and upgrade the metrics_collector extension with the gppkg package included with Greenplum Command Center 6.2.0.

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.

170824967 gpfidsts 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.
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:
  • data type parsing errors
  • unexpected value type errors
  • data type conversion errors
  • errors returned by native and user-defined functions
LOG ERRORS returns error information for data exceptions only. When it encounters a parsing error, Greenplum terminates the load job, but it cannot log and propagate the error back to the user via gp_read_error_log().

Workaround: Clean the input data before loading it into Greenplum Database.

168689202 PXF PXF fails to run any query on Java 11 that specifies a Hive* profile due to this Hive known issue: ClassCastException when initializing HiveMetaStoreClient on JDK10 or newer.

Workaround: Run PXF on Java 8 or use the PXF JDBC Connector to access Hive.

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.

169200795 Greenplum Stream Server When loading Kafka data into Greenplum Database in UPDATE and MERGE modes, GPSS requires that a MAPPING exist for each column name identified in the MATCH_COLUMNS and UPDATE_COLUMNS lists.
170202002 Greenplum-Kafka Integration Updating the METADATA:SCHEMA property and restarting a previously-run load job could cause gpkafka to re-read Kafka messages published to the topic, and load duplicate messages into Greenplum Database.
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 in
Workaround: Use CREATE EXTENSION to install PL/R, as described in the documentation.
30437 JDBC Driver JDBC cached query plans do not store the partition selector parameter that is required for performing partition elimination. If you create a JDBC prepared statement that operates against a partitioned table, partition elimination is performed the first 5 times the query is executed. After that point, the JDBC driver may choose to cache the query plan, in which case partition elimination is no longer performed and the query may suffer from extremely degraded performance.

Workaround: Use the DataDirect JDBC driver version 5.1.4.000270 (F000450.U000214) or later, introduced in Greenplum 6.1, and set the prepareThreshold connection parameter to a very large value. For example: jdbc:Pivotal:greenplum://<ip>:<port>;DatabaseName=<name>;prepareThreshold=1000000000 See PrepareThreshold in the DataDirect 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

Pivotal Greenplum 6.x includes all of the functionality in the open source Greenplum Database project and adds:
  • 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 Stream Server
  • Data Direct ODBC/JDBC Drivers
  • gpcopy utility for copying or migrating objects between Greenplum systems
  • Support for managing Greenplum Database using Pivotal Greenplum Command Center
  • Support for full text search and text analysis using Pivotal GPText
  • Greenplum backup plugin for DD Boost
  • Backup/restore storage plugin API (Beta)