Resolved issues
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:
|
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:
|
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. |