Resolved issues

Resolved issues release notes for 23.4.x.

23.4.0-13

Updated 09/17/2024

Issue Key Component Description
VER-95821 Execution Engine An error in expression analysis for REGEXP_SUBSTR would sometimes lead to a crash when that function was in the join condition. This issue has been resolved.
VER-95836 UI - Management Console There was an issue caused by a problem with URL parsing during the redirect to Keycloak from the MC, where if the URL had special characters (||), the URL parsing failed with this symbol. We have made the fix and written proper loggers’ messages.
VER-95964 Machine Learning There is a corner case where an orphan blob may remain in a session when the training of an ML model is cancelled. This orphan blob could cause a crash if there was an attempt to train a model with the same name on the same session. This issue has been resolved.
VER-96128 Security install_vertica will no longer prefer the system openssl library to the one shipped with Vertica on non-fips systems. If you would like to use the system openssl library, delete the openssl libraries located at /opt/vertica/lib.
VER-96253 EON Previously, in certain cases when a cancel occurred during Vertica uploads to the communal storage, the node would crash. This issue has now been resolved.

23.4.0-12

Updated 07/29/2024

Issue Key Component Description
VER-95551 Execution Engine An issue that caused a crash while using WITHIN GROUP () function with listagg has been fixed.
VER-95663 Execution Engine Due to a bug in the numeric division code, users would get a wrong result when evaluating the mod operator on some numeric values with large precision. This issue has been resolved.

23.4.0-11

Updated 07/16/2024

Issue Key Component Description
VER-95198 Optimizer Under certain circumstances, partition statistics could be used in place of full table statistics, leading to suboptimal plans. This has been corrected.
VER-95250 Optimizer FKPK Joins over projections with derived expressions would put PK input on the Inner side, even when it was much bigger than FK input, which resulted in worse performance in some scenarios. The issue has been resolved.
VER-95318 ComplexTypes, Kafka Integration Loading JSON/Avro data with Kafka and Flex parsers into tables with many columns suffered from performance degradation. The performance issue has been resolved.

23.4.0-10

Updated 07/10/2024

Issue Key Component Description
VER-94331 Kafka Integration The vkconfig --refresh-interval option now functions properly. Setting it to one hour will refresh the lane worker every hour.
VER-94571 Data load / COPY In rare cases, copying a JSON to a table using FJsonParser or KafkaJsonParser could cause the server to go down. This issue has been resolved.
VER-94598 FlexTable The copy of multiple JSON files to a Vertica table using fjsonparser() was causing the initiator node to go down. This issue has been resolved.
VER-95105 Optimizer If ARGMAX_AGG and DISTINCT were both used in a query, an internal error was raised. This issue has been resolved. Now, this case raises an unsupported error message that includes a hint on how to rework the SQL query to avoid the error.
VER-95110 Data load / COPY Vertica is now handling the null file and a null found case outside the JSON object with fjsonparser.

23.4.0-9

Updated 05/30/2024

Issue Key Component Description
VER-89631 UI - Management Console The HTTP Strict-Transport-Security (HSTS) response header was added to all MC responses. This header informs the browser that you should access the site through HTTPS only, and that the browser should automatically convert any HTTP connections to HTTPS.
VER-91910 Optimizer When a node goes down in Eon mode, the buddy node that handles double duty did not adjust the resource calculation. Now, the behavior is consistent with the Enterprise mode node-down scenario.
VER-92925 UI - Management Console Previously, upgrading the Management Console from version 12.0.4 to 23.3.0 could cause LDAP users to be incorrectly migrated, preventing users from logging in. This issue has been resolved.
VER-93925 Execution Engine Whether LIKE ANY / ALL read strings as UTF8 character sequences or binary byte arrays depended on whether the collation of the current locale was binary, leading to incorrect results when reading multi-character UTF8 strings in binary-collated locales. This has been resolved. Now, LIKE ANY / ALL always reads UTF8 character sequences, regardless of the current locale's collation.
VER-93933 Client Drivers - ODBC

The Windows DSN configuration utility no longer sets vertica as the default KerberosServiceName value when editing a DSN.

Starting with version 11.1, providing a value causes the ODBC driver to assume the connection is using Kerberos authentication and communicates to the server that it prefers to use that authentication method, assuming that the user has a grant to a Kerberos authentication method. The KerberosServiceName value might be set in earlier versions of Windows ODBC DSNs. Clearing the value will resolve the issue. This issue only applies to users who have a Kerberos authentication method granted with a lower priority than other authentication methods and use the DSN configuration utility to set up a DSN on Windows.

VER-94090 Basics Setting SlowEventsProfilingFreq to 0 caused a cluster failure. This has been resolved.
VER-94093 Catalog Engine As dc_catalog_refcounts is useful only for debugging purposes, it is disabled by default.
VER-94199 Depot The subcluster-level depot pin policy became the cluster-level policy after upgrading to version 23.4 or later. This issue has been resolved. For users already using version 23.4 or later, subcluster-level depot policies must be recreated.
VER-94337 Depot Depot fetch used to call aws list request, now doesn't.

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.