1 - Known issues

Known issues release notes for 23.4.x.

Vertica makes every attempt to provide you with an up-to-date list of significant known issues in each release. We will update this list as we resolve issues and as we learn of new issues.

23.4.0-0

Updated 10/04/2023

Issue Key Component Description
VER-85911 Client Drivers - VSQL

When you connect to your database, vsql can show the following message:

{{Bad terminal type: "vt100". Will assume vt100.}}

This message can be safely ignored.

VER-78310 Client Drivers - JDBC

JDBC complex types return NULL arrays as empty arrays. For example, when executing this SQL statement: SELECT ARRAY[null,ARRAY[1,2,3],null,ARRAY[4,5],null] as array;

The array column the server returns will be: [[],[1,2,3],[],[4,5],[]]

Because of the null values in the string literal, it should return this value: [null,[1,2,3],null,[4,5],null]

This is a work around to a limitation in Simba.

VER-78074 Procedural Languages, UDX Stored procedures that contain DML queries on tables with key constraints do not return a value.
VER-69803 Hadoop The infer_external_table_ddl meta-function will hang if you do not set authentication information in the current session when analyzing a file on GCP.
VER-64352 SDK

Under special circumstances, a sequence of statements to create and drop Python libraries fails. For example, the following session statements attempt to create Python libraries lib1 and lib2:

CREATE LIBRARY lib1 AS :lib1_path DEPENDS :numpy_path LANGUAGE 'Python'; DROP LIBRARY lib1; CREATE LIBRARY lib2 AS :lib2_path DEPENDS :sklearn_path LANGUAGE 'Python';

Here, lib1 is a Python library that imports module numpy, while lib2 imports module sklearn, which relies on numpy. After lib1 is dropped, the CREATE LIBRARY statement for lib2 fails.

VER-62983 Hadoop When hcatalogconnector schemas are created with custom_partitions enabled, poor performance has been observed when there are many (500+) partitions. By default, custom_partitions are disabled on hcatalogconnector schemas.
VER-61420 Data Removal - Delete, Purge, Partitioning Partition operations such as move_partitions_to_table must split storage containers that have partitions that match and do not match the operation. Version 9.1 introduced an inefficiency where such a split can split a storage container into an extra storage container. In this case, the tuple mover eventually merged the extra container.
VER-61069 Execution Engine In very rare circumstances, if a Vertica process crashes during shutdown, the remaining processes might hang indefinitely.

2 - Resolved issues

Resolved issues release notes for 23.4.x.

23.4.0-8

Updated 05/03/2024

Issue Key Component Description
VER-92663 Scrutinize The scrutinize utility produces a tar file of the data it collects. Previously, scrutinize could fail to create this tar file if it encountered a broken symbolic link. This issue has been resolved, and the size of the tar file is now logged to scrutinize_collection.log.
VER-93194 Data load / COPY When the Avro parser would read a byte array that is at most 8 bytes long into a numeric-typed target, it would only accept a single-word numeric as the target type. This has been resolved; now, the Avro parser supports reading short byte arrays into multi-word numeric targets.
VER-93326 Execution Engine User-Defined Aggregates didn't work with single distinct built-in aggregate in the same query when the input wasn't sorted on grouping columns plus distinct aggregate column. The issue has been resolved.
VER-93446 Backup/DR LocalStorageLocator did not implement the construct_new() method. When called, it fell back to the StorageLocation.construct_new() method, which raised an error. This issue has been resolved. LocalStorageLocator.construct_new() is now implemented.

23.4.0-7

Updated 04/05/2024

Issue Key Component Description
VER-91793 Execution Engine In rare situations, a logic error in the execution engine "ABuffer" operator would lead to buffer overruns resulting in undefined behavior.  This issue has been resolved.
VER-92113 Catalog Engine Previously, syslog notifiers could cause the node to go down when attached to certain DC tables. This issue has been resolved.
VER-92187 Data load / COPY Loading JSON arrays into table columns having different case for JSON key and table column used to fail in some cases. The issue has been resolved.
VER-92287 Sessions The ALTER USER statement could not set the idle timeout for a user to the default value, which is defined by the DefaultIdleSessionTimeout configuration parameter. If the empty string was specified, the idle timeout was set to unlimited. This issue has been resolved. You can now set the idle timeout to the DefaultIdleSessionTimeout value by specifying 'default' in the ALTER USER statement.
VER-92748 HTTP Changing the Vertica server certificate triggers an automatic restart of the built-in HTTPS server. When this happened on a busy system, the nodes could sometimes go down. The issue has been resolved.
VER-92821 Data load / COPY In COPY, some missing error checks made it so certain invalid input could crash the database. This has been resolved.
VER-92927 Installation Program When you installed Vertica on RHEL 9 with the install_vertica script, there was a warning about a missing ] character. This issue has been resolved.
VER-93251 EON, S3 Previously, FIPS-enabled databases crashed when Vertica accessed an S3 bucket. This issue has been resolved.

23.4.0-6

Updated 03/06/2024

Issue Key Component Description
VER-92109 DDL - Projection When we would scan over a projection sorted by two columns (ORDER BY a,b) and materialize only the second one in the sort order (b), we would mistakenly assume the scan is sorted by that column for the purposes of collecting column statistics. This would lead to possible incorrect results when predicate analysis is enabled, and has now been resolved.
VER-92165 Procedural Languages Previously, running certain types of queries inside a stored procedure could cause the database to go down. This issue has been resolved.
VER-92494 Execution Engine When you executed a query that filtered data into a JOIN statement, the query processed incorrectly or returned an error. This issue has been resolved.

23.4.0-5

Updated 02/14/2024

Issue Key Component Description
VER-92055 Procedural Languages Fixed memory leaks that could occur with certain stored procedures.
VER-92124 Optimizer Queries using the same views repeatedly would sometimes return errors if those views included WITH clauses. The issue has been resolved.

23.4.0-4

Updated 02/14/2024

Issue Key Component Description
VER-90105 Catalog Engine Queries now run correctly when the files of delete vectors are in different storage locations.
VER-91234 Backup/DR On HDFS, vbr tried to delete storage files from the wrong fan-out directory. This issue has been resolved.
VER-91477 Execution Engine Since Version 11.1SP1, in some cases, an optimization in the query plan caused queries running under Crunch Scaling mode of COMPUTE_OPTIMIZED to produce wrong results. This issue has been fixed.
VER-91667 ResourceManager If the default resource pool, defined by the DefaultResourcePoolForUsers configuration parameter, was set to a value other than 'general', the user's view incorrectly reported the non-general resource pool as the default pool when the user didn't have that non-general pool set in the profile. This issue has been resolved. The default pool in such cases is now correctly reported as 'general'.
VER-91714 Optimizer Queries with identically looking predicates on different tables used in different subqueries where predicates have very different selectivity could result in bad query plans and worse performance due to incorrect estimates on those tables. The issue has been resolved.
VER-91742 Execution Engine The NULLIF function would infer its output type based on only the first argument. This led to type compatibility errors when the first argument was a small numeric type and the second argument was a much larger numeric type. This has been resolved; now, numeric NULLIF accounts for the types of both arguments when inferring its output type.
VER-91818 Execution Engine Vertica's execution engine pre-fetches data from disk to reduce wait time during query execution. Memory for the pre-fetch buffers was not reserved with the resource manager, and in some situations a pre-fetch buffer could grow to a large size and bloat the memory footprint of a query until it completed.  Now queries will account for this pre-fetch memory in requests to the resource manager; and several internal changes mitigate the long-term memory footprint of larger-than-average pre-fetch buffers.

23.4.0-3

Updated 01/23/2024

Issue Key Component Description
VER-90535 Optimizer Update statements with subqueries in SET clauses would sometimes return an error. The issue has been resolved.
VER-91149 Data load / COPY The upgrade of the C++ AWS SDK in 12.0.2 caused Vertica to make repeated calls to the metadata server for IAM authentication, affecting performance when accessing S3. Vertica now resets the timestamp to prevent excessive pulling.
VER-91189 Optimizer In version 10.1, Vertica updated its execution engine to sample execution times and selectivity of query predicates and join predicates to run them in the most efficient order.  This has been disruptive to users who wrote queries which depended on a certain evaluation order, in particular that single-table predicates would be evaluated before join conditions.  In particular, queries whose single-table predicates filter out data which would raise a coercion error at the join condition would sometimes raise an error after this change due to the join condition being evaluated first.  Now we have improved this experience by ensuring that join conditions do not raise type coercion errors when they are evaluated before single-table predicates.
VER-91336 Data Export Previously, large (chunked) file uploads from Vertica to GCS (such as exports of Parquet to GCS) would fail if the uploaded files included a special character in their path. This issue has been resolved.
VER-91550 Execution Engine When a hash join on unique keys would spill, the value columns would sometimes have alignment issues between how the hash table was written and how it gets read by the spill code. If these value columns were string types, this could lead to a crash. This issue has been resolved.

23.4.0-2

Updated 12/19/2023

Issue Key Component Description
VER-89773 Execution Engine When casting a negative numeric value to an integer and the result of that cast would be 0, then we would incorrectly get an "out of range" error. This has been resolved.
VER-89777 Security

The following improvements have been made to LDAPLink:

  • LDAP synchronizations have been optimized and now are much faster for nested groups.
  • Query profiling now works with LDAP dryrun functions.
VER-89780 Hadoop Previously 'Get block locations' events were missing from the dc_udfs_events table, now this is fixed.
VER-89781 Optimizer In some circumstances, a UNION query that grouped an expression that coerced a value to a common data type returned an error. This issue has been resolved.
VER-89843 Data Collector If a notifier was set for some DC tables and then subsequently dropped, it still remained present in those DC table policies. This could cause a very large number of messages in vertica.log and potential node crashes. The issue was resolved by making "DROP NOTIFIER" support the CASCADE logic. Without CASCADE, drop would fail for the notifiers still used by DC tables.
VER-89907 Security Previously, when configuring a chain of certificates longer than a root CA certificate and a client certificate for internode TLS, the configuration would successfully be applied, but cause the cluster to shut down. This has been fixed.
VER-89986 Kafka Integration When a notifier was set for the NotifierErrors or NotifierStats Data collector (DC) tables, notifications sent with a Kafka notifier might cause a loop that produced an infinite stream of notifications. This might result in severely degradated node performance. This issue has been resolved. Now, notifications are disabled for these DC tables, and any existing notifiers have been removed from these tables.
VER-90064 ComplexTypes, Data load / COPY A logic gap in the source code could lead to an infinite loop while loading complex arrays with thousands of elements, causing the DML statement to never complete. This issue has been fixed.
VER-90089 Security In cases of intermittent network connectivity to an LDAP server, Vertica will now retry bind operations.
VER-90856 Optimizer Create Table As Select statements with repeated occurrences of now() and similar functions were inserting incorrect results into the target table. The issue has been fixed.

23.4.0-1

Updated 11/01/2023

Issue Key Component Description
VER-89489 EON, Execution Engine A LIKE ANY or LIKE ALL expression with a non-constant pattern argument on the right-hand side of the expression sometimes resulted in a crash or incorrect internal error. This issue has been resolved. Now, this type of pattern argument results in a normal error.
VER-89565 Tuple Mover When the node with the lowest OID became secondary (for example, during cluster demotion), there might have been an increased number of deadlocks and timeouts due to Data Manipulation Language (DML) statements and internal Tuple Mover tasks. This issue has been resolved.
VER-89888 Backup/DR Backups to S3 object storage and Google Cloud Storage failed and returned a "Temp path" error. This issue has been resolved.
VER-89895 Catalog Engine During load planning, the EnableWithTempRelReuseLimit configuration parameter was temporarily set to 1. This affected other sessions on the same node, and concurrent COPY commands might make this change permanent. This issue has been resolved.

23.4.0-0

Updated 10/04/2023

Issue Key Component Description
VER-40945 Client Drivers - VSQL

Previously, vsql -f would return 0 (success) even if it encountered an error.

vsql -f now properly reports errors if they occur. On success, it continues to return 0. On failure, it returns a non-zero error code that maps to the [standard Linux error codes for file access|https://man7.org/linux/man-pages/man3/errno.3.html].

VER-69918 Client Drivers - VSQL VSQL now returns a more detailed error message if it is disconnected from the server.
VER-81199 Execution Engine Queries with large tables stopped the database because the indices that Vertica uses to navigate the tables consumed too much RAM. This issue has been resolved, and now the indices use less RAM.
VER-82009 Client Drivers - ODBC

Previously, the connection property FastCursorClose was set to false by default, which prevented you from canceling sqlfetch(). You had to set it to true with conn.addToConnString("FastCursorClose=1"); to cancel requests.

FastCursorClose is now set to {{true}} by default.

VER-84047 Procedural Languages Previously, calling a stored procedure with insufficient temporary disk space could cause the node to go down. This has been fixed. Stored procedures now produce a standard query error indicating that there is insufficient space.
VER-85340 SDK Previously, you could not compile Vertica UDx builds with GCC compiler version 13 and higher. This issue has been resolved.
VER-86100 Performance tests In some cases, the NVL2 function caused Vertica to crash when it returned an array type. This issue has been resolved.
VER-86690 Optimizer During the planning stage, updates on tables with thousands of columns using thousands of SET USING clauses took a long time. Planning performance for these updates was improved.
VER-86714 Catalog Engine If you used CREATE PROJECTION to create a projection whose name conflicted with an existing projection's name, there would be a ROLLBACK. This issue has been resolved. Now, CREATE PROJECTIONS appends suffixes (_v1, v2, etc.) to new projection names to avoid naming conflicts.
VER-86863 Catalog Engine

Previously, when a cluster lost quorum and switched to read-only mode or stopped, some transaction commits in the queue might get processed. However, due to the loss of quorum, these commits might not have been persisted. These "transient transactions" were reported as successful, but they were lost when the cluster restarted.

Now, when Vertica detects a transient transaction, it issues a WARNING so you can diagnose the problem, and it creates an event in ACTIVE_EVENTS that describes what happened.

VER-87049 Optimizer In some cases, using SQL macros that return string types could result in core dumps. The issue has been resolved.
VER-87075 ComplexTypes, Execution Engine The optimization that makes it so that EXPLODE on complex types only materializes fields that are needed in the query was not applied to the similar UNNEST function. This has been resolved, and now UNNEST similarly prunes out unused fields from scans/loads.
VER-87084 EON In rare circumstances, the automatic sync of catalog files to the communal storage stopped working on some nodes. Users could still manually sync with sync_catalog(). The issue has been resolved.
VER-87158 Tuple Mover The Tuple Mover logged a large number of PURGE requests on a projection while another MERGEOUT job was running on the same projection. This issue has been resolved.
VER-87183 Optimizer Queries that contained a WITH query that was referred to more than once and also contained multiple distinct aggregates failed with a system error. This issue has been resolved.
VER-87229 Optimizer NOT LIKE ANY and NOT LIKE ALL are consistent with PostgreSQL now - the phrases LIKE, ILIKE, NOT LIKE, and NOT ILIKE are generally treated as operators in PostgreSQL syntax.
VER-87361 ComplexTypes The flex and kafka parsers would erroneously not respect the parameter "reject_on_materialized_type_error" in cases where an array was too large for the target column, and no element was rejected.  Previously, such values would always be rejected. This has been corrected, and now if "reject_on_materialized_type_error" is false, those values will be set to NULL instead.
VER-87445 Kafka Integration In some circumstances, there were long timeouts or the process might hang indefinitely when the KafkaAvroParser accessed the Avro Schema Registry. This issue has been resolved.
VER-87537 Documentation, Installation Program Some characters did not render correctly when specific commands were copied and pasted from the documentation. This issue has been resolved.
VER-87574 Backup/DR When the database had multiple backup locations, vbr did not use the correct credentials, causing operations to fail. This issue has been corrected.
VER-87647 Execution Engine When casting a NUMERIC type to an INTEGER type, the bounds of acceptable values were based on the NUMERIC(18, 0) type, not the INTEGER type. This meant that valid 64-bit integers with 19 digits returned an error. This issue has been resolved, and now casting a NUMERIC type to an INTEGER type uses the correct bounds for the INTEGER type.
VER-87654 Admin Tools, Data Collector If you revived a database and the EnableDataCollector parameter was set to 1, you could not start the database after it was revived. This issue was resolved. To start the database, disable the cluster lease check.
VER-87666 ComplexTypes, Execution Engine When rewriting a CROSS JOIN UNNEST query into an equivalent query that puts the UNNEST in a subquery, requesting scalar columns from a table with larger complex columns could lead to an INTERNAL error. This has been resolved.
VER-87668 Optimizer In some query plans with segmentation across multiple nodes, Vertica would get an internal optimizer error when trying to prune out unused data edges from the plan. This issue has been resolved.
VER-87685 Client Drivers - ODBC Previously, the ODBC driver could return 64-bit FLOATs with incorrect values in its last bit, which are not IEEE-compliant. This has been fixed.
VER-87701 Admin Tools On SUSE Linux Enterprise Server 15, the systemctl status verticad command failed. This issue has been resolved.
VER-87723 Optimizer Queries with outer joins over subqueries with WHERE clauses that contain AND expressions with constant terms sometimes returned an error. This issue has been resolved.
VER-87817 Optimizer When you created a UDx side process, Vertica required that the current time zone have a name. This caused a crash when a UDx side process was created under a time zone with a GMT offset rather than a name. This issue has been resolved.
VER-87857 DevOps Fixed RPM digests by installing a newer version of the RPM on our build container when building RPMs.
VER-87864 Procedural Languages Fixed memory leaks that could occur with certain stored procedures.
VER-87912 Procedural Languages When a Stored Procedure executed a subquery that included constraints, it returned an incorrect value. This issue has been resolved.
VER-87942 EON The sync_catalog function failed when MinIO communal storage did not meet read-after-write and list-after-write consistency guarantees. A check was added to bypass this restriction. However, if possible, users should make sure that their MinIO storage is configured for read-after-write and list-after-write consistency.
VER-87945 Backup/DR Every time Vertica tries to load a snapshot, it checks all the storage files. The file check costs too much time and is not necessary to do it so often. This check is now disabled.
VER-87992 Data Collector In some environments the io_stats system view was empty. The monitoring functionality has been improved with better detection of I/O devices.
VER-88010 Optimizer In some cases, when Vertica used an optimization to constant-fold a CASE expression in a query into one of its possible results, it would produce an internal error. This issue has been resolved.
VER-88014 DevOps, UI - Agent On SUSE Linux Enterprise Server 15, systemd failed to start the agent process, which caused some Management Console actions to fail on nodes that ran SUSE 15. This issue has been resolved.
VER-88166 Backup/DR Backup and restore operations failed on FIPS-enabled systems. This issue has been resolved.
VER-88171 Admin Tools The Admintools stop_db command failed and returned an error that described active sessions prevented the shutdown. This issue has been resolved, and now the stop_db command stops the database with no errors.
VER-88233 UI - Management Console When you provisioned a new database on Amazon Web Services, the operation failed. This issue has been resolved.
VER-88395 Logging Previously, if writes failed because the disk was full, Vertica could go down. This has been fixed.
VER-88447 Execution Engine If there are user-created system tables and IS_SYSTEM_TABLE is set to "true" when you upgrade to 23.3.0, queries on some V_CATALOG system tables fail with an assertion error after you complete the upgrade.
VER-88468 Optimizer In some circumstances, queries with outer joins or cross joins that also utilized Top-k projections caused a server error. This issue has been resolved.
VER-88618 Optimizer Queries that contained a WITH query that was referred to more than once, and also contained joins on tables with segmented projections and SELECT DISTINCT or LIMIT subqueries sometimes produced an incorrect result. This issue has been resolved.
VER-88634 Spread Previously, if Vertica received unexpected UDP traffic from its client port, the node could go down. This issue has been fixed.
VER-88895 Security

The following improvements have been made to LDAPLink:

  • LDAP synchronizations have been optimized and now are much faster for nested groups.
  • Query profiling now works with LDAP dryrun functions.
VER-89273 Data load / COPY If a Parquet query or load were to be interrupted (such as by a LIMIT clause, exception during execution, or user cancellation) while the database has configuration parameter "ParquetColumnReaderSize" set to zero, then Vertica could crash.  This issue has been fixed.

3 - New features guide

4 - Deprecated and removed