Resolved issues release notes for 24.1.x.
Issue Key |
Component |
Description |
VER-95963 |
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-96251 |
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. |
VER-96387 |
Backup/DR |
VBR no longer requires compat-openssl11 to be installed on RHEL9 systems. |
VER-96872 |
Security |
Clients not sending packets during initialization of TLS connections will no longer cause CPU usage to spike. |
VER-97036 |
Optimizer |
Between v12 and v24, a previous bugfix made it so null rows passed hash SIP filters. This led to a performance drop on queries that relied on SIPS to filter out nulls early. This has been resolved; now, SIP filters remove null rows again. |
VER-97118 |
UI - Management Console |
In MC v11.0, the Query Profile page was working without any issues. MC v12.0 was localized and all labels were translated. However, the Query Profile page was not localized by oversight.
This issue has been resolved. |
VER-97235 |
Data load / COPY |
Previously, when querying certain ORC/Parquet files in a certain way, a hang would occur. This issue has been resolved. |
VER-97340 |
Optimizer |
An issue occurred, where a join spill was happening when processing the optimized delete part of the plan, which disallows Filter/Filter join distribution. Since the join inner was too large to fit in memory, an error was returned with a hint to retry with Filter/Filter enabled, even though it was already enabled in the session. This issue has been resolved; to address this, when the EnableFilterFilter hint is encountered when it's already enabled, we check if it's an optimized delete plan and in that case retry with optimized delete disabled, allowing the optimizer to choose a Filter/Filter join distribution. |
VER-97491 |
Execution Engine |
When converting strings to numeric using the binary scale notation, using some very large powers would cause internal calculations to overflow, bypass some syntax checks, and crash. This issue has been resolved; the syntax checks now account for those large powers. |
Issue Key |
Component |
Description |
VER-92427 |
UI - Management Console |
On RedHat 8, clients will use systemctl to start/stop the Management Console. RedHat 8's default timeout to start an application is 90s; this default timeout might not be long enough. With this fix, the timeout is now set to 5 minutes. |
VER-92924 |
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-94143 |
Client Drivers - JDBC |
Previously, the JDBC driver used the com.google.gson package that was available in the original maven build. The classes are now shaded under com.vertica to avoid conflict with other versions of gson packages used. |
VER-94205 |
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-94570 |
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-94596 |
FlexTable |
The copy of multiple json files to Vertica table using fjsonparser() is successful now, which was causing the initiator node down issue before this fix. |
VER-95104 |
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-95109 |
Data load / COPY |
Vertica is now handling the null file and a null found case outside the json object with fjsonparser. |
VER-95249 |
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-95550 |
Execution Engine |
An issue that caused a crash while using WITHIN GROUP () function with listagg has been fixed. |
VER-95662 |
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. |
VER-95820 |
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 error has been resolved. |
Issue Key |
Component |
Description |
VER-93445 |
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. |
VER-93610 |
Installation Program |
Previously, the install_vertica script would return an error if it was unable to determine the device ID, which occurred if any file under /sys/block/ sd_dir /dev/ was missing. This has been fixed; install_vertica now skips missing dev files, if any. |
VER-93924 |
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-93931 |
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-94332 |
Kafka Integration |
The vkconfig --refresh-interval option now functions properly. Setting it to one hour will refresh the lane worker every hour. |
VER-94401 |
Installation: Server RPM/Deb |
On some RHEL9 machines, the vioperf utility would OOM (out-of-memory) if run. This issue has been fixed. |
Issue Key |
Component |
Description |
VER-91666 |
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-92112 |
Catalog Engine |
Previously, syslog notifiers could cause the node to go down when attached to certain DC tables. This issue has been resolved. |
VER-92286 |
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-92534 |
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-92662 |
Scrutinize |
The scrutinize utility produces a tarball of the data it collects. Previously, scrutinize could fail to create this tarball if it encountered a broken symbolic link. This has been fixed, and the size of the tarball is now logged to scrutinize_collection.log . |
VER-92747 |
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 fixed. |
VER-92819 |
Data load / COPY |
In COPY, some missing error checks made it so certain invalid input could crash the database. This has been resolved. |
VER-92926 |
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-93250 |
EON, S3 |
Previously, FIPS-enabled databases crashed when Vertica accessed an S3 bucket. This issue has been resolved. |
VER-93325 |
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-93527 |
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. |
Issue Key |
Component |
Description |
VER-91476 |
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 resolved. |
VER-91713 |
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-91741 |
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-91792 |
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-91817 |
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. |
VER-91909 |
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-91959 |
Execution Engine |
Queries using WITH clauses which refer to the temporary relation at least N times, where N is the value of the configuration parameter "EnableWITHTempRelReuseLimit", could suddenly abort the entire Vertica process if an exception (such as running out of temp space) occurred while materializing the temporary relation. We have improved the exception handling of this routine to avoid suddenly crashing the entire process, returning a normal error back to the user when possible or at least handling a PANIC in the fall-back scenario. |
VER-92054 |
Procedural Languages |
Fixed memory leaks that could occur with certain stored procedures. |
VER-92108 |
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-92123 |
Optimizer |
Queries using the same views repeatedly would sometimes return errors if those views included WITH clauses. The issue has been resolved. |
Issue Key |
Component |
Description |
VER-28231 |
Data load / COPY |
Copy statement FILLER columns may now have the same name as table columns. Expressions referring to a column which has the same name between the table and the FILLER column set may be fully-qualified to resolve ambiguities with either the table name, or the special
\*FILLER\* relation. |
VER-80570 |
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-85618 |
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 improved this experience by ensuring that join conditions do not raise type coercion errors when they are evaluated before single-table predicates. |
VER-86330 |
UI - Management Console |
The Vertica CloudFormation Templates (CFTs) available on the Amazon Web Services Marketplace were updated to enhance security. |
VER-86838 |
Execution Engine |
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-87863 |
Machine Learning |
Because of legacy contingencies of the SEEDED_RANDOM function, the function is left as is, and a new DISTRIBUTED_SEEDED_RANDOM function is added that generates a correct distribution of pseudorandom numbers. As with SEEDED_RANDOM, the new function is not publicly documented and supported because it does not meet the general expectations of a seeded random function. |
VER-88411 |
Security |
In cases of intermittent network connectivity to an LDAP server, Vertica will now retry bind operations. |
VER-88467 |
Client Drivers - VSQL |
When you executed CREATE ROUTING RULE to create a workload routing rule for a subcluster that did not exist, the error message returned an incorrect object ID for the nonexistent subcluster. This issue has been resolved, and now the error message returns the subcluster name provided in the TO SUBCLUSTER clause. |
VER-88499 |
Installation Program, Installation: Server RPM/Deb |
The Vertica installer outputs hints with URLs to the Vertica documentation website to help users with the installation process. The URLs in the installer have been updated to reflect a change in the Vertica documentation URL format. |
VER-88658 |
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-88985 |
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-89103 |
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 resolved. |
VER-89211 |
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-89284 |
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-89369 |
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-89447 |
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-89482 |
UI - Management Console |
Node.js has been upgraded to address the CVE-2023-32002 and CVE-2022-43548 security vulnerabilities. |
VER-89508 |
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-89530 |
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 resolved. |
VER-89623 |
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 fixed. |
VER-89647 |
Hadoop |
Previously, 'Get block locations' events were missing from the dc_udfs_events table. This issue has been resolved. |
VER-89665 |
Backup/DR |
Backups to S3 object storage and Google Cloud Storage failed and returned a "Temp path" error. This issue has been resolved. |
VER-89684 |
Scrutinize |
The parameter --log-limit determines the maximum size of the vertica log that will be preserved when running scrutinize. The limit is applied to the vertica.log file on all nodes in the cluster. The default value changed from 1GB to unlimited. |
VER-89721 |
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 resolved. |
VER-89825 |
Backup/DR |
On HDFS, vbr tried to delete storage files from the wrong fan-out directory. This has been resolved by providing vbr with the correct fan out directory. |
VER-89874 |
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. |
VER-89881 |
Catalog Engine |
ALTER SESSION no longer crashes the node when a user without USAGE privileges on the public schema sets a non-udparameter. |
VER-89933 |
Catalog Engine |
Queries now run correctly when the files of delete vectors are in different storage locations. |
VER-90101 |
SDK-Python |
Due to the user's specific environment settings, the pip package had problems installing matplotlib-3.5.3 on the user's environment. There were no issues when installing newer versions of matplotlib. To avoid these install issues, install verticapy-1.0.0, which is compatible with the newer matplotlib versions. |
VER-90115 |
Scrutinize |
Scrutinize no longer hangs when running "Command" tasks. |
VER-90145 |
UI - Management Console |
A custom alert was disabled if its query ran for more than 10 seconds. Now, the default timeout is 30 seconds. You can adjust this setting with the threshold_query.disable_time_out property in the /opt/vconsole/config/console.properties file. |
VER-90855 |
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 resolved. |
VER-91148 |
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. |