Resolved issues release notes for 10.1.x.
Issue Key |
Component |
Description |
VER-79882 |
Tuple Mover |
Users can now control configuration parameter MaxDVROSPerContainer knob and set it to any value>1. The new formula is:
max(2, (MaxDVROSPerContainer+1)/2)
A two-level strata helps avoid excessive DVMergeouts: DVs with fewer deleted rows than
(TBL.nrows/MaxDVROSPerStratum), where maxDVROSPerStratun is max(2, (MaxDVROSPerContainer+1)/2),
are placed at stratum 0; if the number of these DVs exceeds MaxDVROSPerStratum, they are merged
together. As before, larger DVs at stratum 1 are not merged.
|
VER-79954 |
Depot |
If you called copy_partitions_to_table on two tables with the same pinning policies, and the target
table had no projection data, the Vertica database server crashed. This issue has been resolved. |
VER-79961 |
UI - Management Console |
The MC feedback form caused other MC pages to load slowly. The issue has been resolved. |
VER-80235 |
Execution Engine |
Query predicates were reordered at runtime in a way that caused queries to fail if they compared
numeric values (integer or float) to non-numeric strings such as 'abc’. This issue has been
resolved. |
VER-80239 |
Recovery |
The Tuple Mover uses the configuration parameter MaxMrgOutROSSizeMB to determine the maximum size of
ROS containers that are candidates for mergeout. After a rebalance operation, Tuple Mover now groups
ROS containers in batches that are smaller than MaxMrgOutROSSizeMB. A ROS container that is larger
than MaxMrgOutROSSizeMB is merged individually. |
VER-80372 |
DDL, Execution Engine |
The server crashed when system queries used large strings as predicate constants--for example,
"table_name = ..." or "schema_name = ..." This issue has been resolved. |
VER-80525 |
ComplexTypes, Execution Engine |
Previously, expressions with "subquery." as arguments (not in the top level of a SELECT statement
or subquery) could result in undefined behavior. This issue has been resolved. Now, whenever
"subquery." appears as an expression argument, it expands into a complex ROW expression with one
field for each of the subquery's columns. |
Issue Key |
Component |
Description |
VER-78240 |
ComplexTypes, Kafka Integration |
Data loads containing an array data type might cause failures in a
fenced mode filter or parser. |
VER-79226 |
Data Removal - Delete, Purge, Partitioning, DDL |
The type metadata for epoch columns in version 9.3.1 and earlier was
slightly different than in later versions. After upgrading from 9.3.1,
SWAP_PARTITIONS_BETWEN_TABLES treated those columns as not equivalent and threw an error. This
issue has been resolved. Now, when SWAP_PARTITIONS_BETWEN_TABLES compares column types, it
ignores metadata differences in epoch columns. |
VER-79245 |
DDL - Projection, Optimizer |
Eligible predicates were not pushed down into subqueries with a LIMIT
OVER clause. The issue has been resolved. |
VER-79250 |
Hadoop |
Exporting Parquet files with over 2^31 rows caused node failures. The
limit was raised to 2^64 rows. |
VER-79252 |
Execution Engine |
Some sessions that used User Defined Load code (or external table
queries backed by User Defined Loads) accumulated memory usage through the life of the session.
The memory was only used on non-initiator nodes, and was released after the session ended. This
issue has been resolved. |
VER-79415 |
Tuple Mover |
In the previous release, the DVMergeout plan reads the storage files
during plan compilation stage to find out the offset and length of each column in the storage
files. The metadata access incurs S3 API calls. The fix is to calculate offset and length of
each column instead of accessing the storage files. |
Issue Key |
Component |
Description |
VER-78352 |
UI-Management Console |
Internet Explorer 11 did not display Queries chart information on the Activity tab. This issue has
been resolved. |
VER-78587 |
Database Designer Core |
Database Designer generated files with wrong permissions. This issue has been resolved. |
VER-78664 |
Execution Engine |
Queries on system table EXTERNAL_TABLE_DETAILS with complex predicates on the table_schema,
table_name, or source_format columns either returned wrong results or caused the cluster to crash.
This issue has been resolved. |
VER-78669 |
Backup/DR |
When performing a full restore, AWS configuration parameters such as AWSEndpoint,AWSAuth and
AWSEnableHttps were overwritten on the restored database with their backup settings. This issue has
been resolved: the restore leaves the parameter values unchanged. |
VER-78713 |
Optimizer |
The configuration parameter MaxParsedQuerySizeMB knob is set in MB (as documented). The optimizer
can require very large amounts of memory for a given query, much of it consumed by internal
objects that the parser creates when it converts the query into a query tree for optimization.
Other issues were identified as contributing to excessive memory consumption, and these have
been addressed, including freeing memory allocated to query tree objects when they are no longer
in use.
|
VER-78727 |
Optimizer |
The optimizer combines multiple predicates into a single-column Boolean predicate where subqueries
are involved, to achieve predicate pushdown. The optimizer failed to properly handle cases where two
NotNull predicates were combined into a single Boolean predicate, and returned an error. This issue
has been resolved. |
VER-78748 |
AP-SparkIntegration, Client Drivers - JDBC |
In the V1 Spark Connector, using the DefaultSourceAPI to read data from Vertica could expose
passwords and other credentials in the Spark log. This issue has been resolved: credentials are no
longer exposed in the log file. |
Issue Key |
Component |
Description |
VER-78347 |
Data Networking |
In rare circumstances, the socket on which Vertica accepts internal connections could erroneously
close and send a large number of socket-related error messages to vertica.log. This issue has been
fixed. |
VER-78350 |
S3, Storage and Access Layer |
Vertica now stores S3 storage location Location_path values in the same upper and lower case format
that they were created in. |
VER-78351 |
UI-Management Console |
After an automatic upgrade in AWS, the Management Console Overview page now displays properly. |
VER-78354 |
Catalog Engine |
Standby nodes did not get changes to the GENERAL resource pool when it replaced a down node. This
problem has been resolved. |
VER-78357 |
Optimizer |
Updating the result set of a query that called the volatile function LISTAGG resulted in unequal row
counts among projections of the updated table. This issue has been resolved. |
VER-78362 |
UI-Management Console;Management Console |
COPY type of queries have been added to the list of queries displayed for Completed Queries on Query
Monitoring Activity page. |
VER-78364 |
ILM, Tuple Mover |
Several Vertica partition management operations support a force-split option:
copy_partitions_to_table, drop_partitions, move_partitions_to_table, and
swap_partitions_between_tables. In all cases, if force-split is true, and the operation
specifies a range of partition keys that span multiple containers or part of a single container,
Vertica executes the operation in two steps:
- Breaks open the ROS containers
- Reorganizes/merges the ROS containers as per operation requirements
Occasionally, the Tuple Mover would attempt to merge the split ROS containers before step 2 was
complete, and the operation would fail. This issue has been resolved: the two stages are now
part of a single transaction. Until the transaction is complete, the Tuple Mover does not queue
merge requests on the split containers.
|
VER-78441 |
Admin Tools |
If admintools called create_db and the database creation process was lengthy, admintools sometimes
prompted users to confirm whether to continue waiting. If the user did not answer the prompt--for
example, when create_db was called by a script--create_db completed execution without creating all
database nodes and properly updating the configuration file admintools.conf. In this case, the
database was incomplete and unusable.
Now, the prompt times out after 120 seconds. If the user doesn't respond within that time period,
create_db exits.
|
VER-78500 |
Installation Program |
Vertica now properly handles nofile and nproc values in environments with >1TB RAM. |
VER-78523 |
Depot |
Vertica now properly detects and handles corrupted depot index files. |
Issue Key |
Component |
Description |
VER-77828 |
Backup/DR |
When restoring objects in coexist mode, the STDOUT now contains the correct schema name prefix. |
VER-77871 |
Kafka Integration |
The Kafka scheduler no longer hangs in rare cases. |
VER-77875 |
Backup/DR |
The access permission check for the S3 bucket root during backup/restore has been removed. Users
with access permissions to specific bucket directories can now perform backup/restore in those
directories without getting AccessDenied errors. |
VER-78124 |
Catalog Engine |
Vertica now restarts properly for nodes that have very large checkpoint files. |
VER-78129 |
Optimizer |
Queries that included the TABLESAMPLE option were not supported for views. This issue has been
resolved: you can now query views with the TABLESAMPLE option. |
VER-78130 |
Execution Engine |
It was unsafe to reorder query predicates when the following conditions were true:
- The query contained a predicate on a projection's leading sort order columns that restricted
the leading columns to constant values, where the leading columns also were not run-length
encoded.
- A SIPS predicate from a merge join was applied to non-leading sort order columns of that
projection.
This issue has been resolved: query predicates can no longer be reordered when it contains a
predicate on a projection's leading sort order columns that restrict leading columns to constant
values, where the leading columns are not run-length encoded.
|
VER-78132 |
Installation Program |
The Vertica installer now optimizes and caches the information obtained in get_disks and reuses it
instead of calling get_disks repeatedly. |
VER-78147 |
Data Removal - Delete, Purge, Partitioning |
If you created a local storage location for USER data on a cluster that included standby nodes,
attempts to drop the storage location returned with an error that Vertica was unable to drop the
storage location from standby nodes. This issue has been resolved. |
VER-78201 |
Spread |
Spread now responds properly to network changes. |
VER-78211 |
Catalog Engine |
If you called close_session() while running analyze_statistics() on a local temporary table, Vertica
sometimes crashed. This issue has been resolved. |
Issue Key |
Component |
Description |
VER-76360 |
Catalog Sync and Revive, Depot, EON |
Previously, when a node belonging to a secondary subcluster restarted, it lost files in its depot.
This issue has been fixed. |
VER-76361 |
Execution Engine |
The REGEXP_REPLACE function now properly accepts and returns LONG VARCHAR values. |
VER-76400 |
Kafka Integration |
Kafka UDx now officially supports SASL SCRAM-SHA-256 AND SCRAM-SHA-512 |
VER-76457 |
Data Export |
Previously during export to Parquet, Vertica wrote the time portion of each timestamp value as a
negative number for all timestamps before POSTGRES EPOCH DATE (2000-01-01). Due to this some tools
(e.g. Impala) could not load such timestamps from parquet files exported by Vertica. This is fixed
now. |
VER-76475 |
Execution Engine |
With Vertica running on machines with very high core counts, complex memory-intensive queries
featuring an analytical function that fed into a merge operation sometimes caused a crash if the
query ran in a resource pool where EXECUTIONPARALLELISM was set to a high value. This issue has been
resolved. |
VER-76486 |
Depot |
System tables continued to report that a file existed in the depot after it was evicted, which
caused queries on that file to return "File not found" errors. This issue has been resolved. |
VER-76522 |
Installation Program, UI-Management Console;Management Console |
The Vertica Management Console installer has been optimized to reduce its storage footprint. |
VER-76581 |
Recovery |
Before this fix, when DFS files go missing on one or more nodes, it would cause the LGE and expected
recovery epoch to be pushed to the createEpoch of the DFS file. This recovery epoch might be less
than AHM epoch and prevent normal startup with auto recovery as well as ASR. In another scenario, if
DFS file is missing on multiple nodes, it would also prevent startup with auto recovery with
insufficient UP nodes error. Here, ASR would also fail as it does not try to recover the DFS files
as part of specified recovery and relied on auto Recovery to recover missing files.
After this fix, we no longer consider DFS files in determining LGE and expected recovery
epoch so, missing DFS files cannot push recovery epoch to behind AHM. Also, ASR will try to recover
missing DFS files from replicas on other nodes and drop any unrecoverable DFS files (those that are
missing on all nodes in cluster). This will prevent auto recovery later on from erroring out due to
insufficient UP nodes. The cluster startup with ASR and --force flag will now succeed. |
VER-76631 |
Data Export, Optimizer |
Previously, during export to parquet Vertica checked the write permissions for the output location
on all UP nodes in the cluster. This caused errors when some nodes that are not participating in the
export didn't have write permissions for the output location. This is now fixed by Vertica checking
write permissions only on participating nodes. |
VER-76655 |
UI-Management Console;Management Console |
In the wizard mode of the MC Database Designer, k-safety warning dialog had OK button unresponsive
under certain conditions. The issue was resolved. |
VER-76700 |
Admin Tools |
When adding a node to an Eon-mode database with Administration Tools, users were prompted to
rebalance the cluster, even though this action is not supported for Eon. This issue was resolved:
now Administration Tools skips this step for an Eon database. |
VER-76756 |
Optimizer, Security |
For a view A.v1, its base table B.t1, and an access policy on B.t1: users no longer require a USAGE
privilege on schema B to SELECT view A.v1. |
VER-76769 |
Execution Engine |
In queries that used variable-length-optimized joins, certain types of joins incurred a small risk
of a crashing the database due to a problem when checking for NULL join keys. This issue has been
resolved. |
VER-76802 |
Client Drivers - JDBC, ComplexTypes |
The JDBC client driver now returns the correct type ID for complex types. |
VER-76803 |
Client Drivers - ODBC, Client Drivers - VSQL, Client Drivers – OLEDB, Security |
Vertica FIPS support is restored. |
Issue Key |
Component |
Description |
VER-36888 |
Admin Tools |
stop_db no longer returns early and now returns the proper return code. |
VER-45474 |
Optimizer |
When a node is down, DELETE and UPDATE queries now use optimized query plans that account for the
down node. |
VER-68356 |
Security |
LDAPLink now properly trims whitespace from LDAPLinkSearchBase. |
VER-70760 |
Optimizer |
Queries with subqueries on tables with TopK projections sometimes returned with an error. The issue
has been resolved. |
VER-71074 |
Security |
Previously, CREATE OR REPLACE VIEW could only replace an existing view if the current user was the
existing view's owner. Now, DROP privilege is sufficient to replace the view (in addition to CREATE
on the SCHEMA, as before). |
VER-72232 |
ComplexTypes |
As a fix, the QUERY_EVENTS system table will no longer make the recommendation to collect stats on
ARRAY & SET columns. |
VER-72394 |
Execution Engine |
This issue would occur when the root operator would treat non-DML queries as DML plans. The way
Vertica collects the processed row-count statistics differs between these two types, so the results
were incorrect. Vertica now correctly detects whether a query represents a DML plan. |
VER-72735 |
Security |
LDAPLink now checks for circular role/group assignment, assigns the first one returned (skipping the
rest of the circular relationship), and then logs the error in DC_LDAP_LINK_EVENTS. |
VER-72850 |
Optimizer |
Incorrect usage of meta-function EXPORT_TABLES in the SELECT statement of EXPORT TO VERTICA caused
the database to crash. This issue has been resolved: incorrect usage of meta-functions now returns
with an error. |
VER-72978 |
Depot |
Resizing the database depot with alter_location_size were propagated sequentially to all nodes,
which adversely affected performance in a database with many nodes. This issue has been resolved:
depot size changes are now propagated to all nodes in parallel (simultaneously). |
VER-73137 |
Data Removal - Delete, Purge, Partitioning |
ILM operations such as copy_partition and swap_partition held global catalog locks until all copy
and migration processes were complete, thereby blocking other queries, and creating bottlenecks when
these processes were lengthy. This issue has been resolved: now, the same ILM operations obtain
global catalog locks only after storage and migration is complete. |
VER-73110 |
Backup/DR |
Previously, when migrate_enterprise_to_eon found projections that were Inconsistent with cluster
segmentation, it wrote to the migration log file an incorrect anchor table name; it also provided
only one projection, _b0. This issue has been resolved: now the log file
error log file lists the names of all tables with problematic projections. You can use these names
as arguments to meta-function REBALANCE_TABLE.
|
VER-73382 |
Execution Engine |
Queries sometimes threw a Sort Order Violation error when join output that was sorted like the
target projection was consumed by a single Analytic function that only partially sorted the data as
required by the target projection. This issue has been resolved. |
VER-73811 |
Execution Engine |
Expressions of the form IN () were not handled correctly
in cases where was of type LONG VARCHAR or LONG VARBINARY. If the IN list was
long, query execution could be slow and use excessive memory. This problem has been resolved. |
VER-73841 |
Admin Tools |
Adding nodes on large, busy databases now runs fewer queries and takes less time. |
VER-73881 |
Scrutinize |
Scrutinize now collects a memory report log. |
VER-73937 |
Execution Engine |
Under some circumstances, the size of the METADATA resource pool was calculated incorrectly. This
issue has been resolved. |
VER-74043 |
Admin Tools |
Relaxed the checks of user storage locations during revive Eon database. |
VER-74116 |
Optimizer |
Analytic functions triggered an Optimizer error when used with a LIMIT OVER clause. This issue has
been resolved. |
VER-74130 |
Depot, Tuple Mover |
Calls to meta-function enforce_object_storage_policy() on an Eon-mode database wrote a large number
of errors to the Vertica log file. This issue has been resolved: Vertica now returns with a single
error message that the meta-function is not supported in Eon mode. |
VER-74182 |
Admin Tools |
The performance of db_remove_subcluster has been improved for subclusters with several nodes. |
VER-74300 |
Backup/DR |
migrate_enterprise_to_eon migrated grants on external procedures even though the procedures
themselves were excluded from migration. This inconsistency caused the migrated database to crash
and further attempts at startup to fail. This issue has been resolved: the migration now excludes
privileges that are granted on external procedures, and also checks that all migrated objects have
consistent dependencies. |
VER-74350 |
Execution Engine |
Adding support for tables with more than 1600 columns adversely affected performance of some
operations. This issue has been resolved. |
VER-74355 |
ComplexTypes |
ALTER TABLE...ALTER COLUMN did not correctly handle attempts to create multi-dimensional arrays,
reporting the dimensionality incorrectly. Multi-dimensional arrays are not supported for internal
tables, and Vertica now treats this as an error. |
VER-74512 |
Depot |
System table DEPOT_PIN_POLICIES was erroneously populated with enterprise storage policies. This
issue has been resolved: now, in Enterprise mode, DEPOT_PIN_POLICIES is always empty. |
VER-74521 |
Optimizer |
When a LIMIT OVER query executed on a multi-node database, the data was always sent back to the
initiator which applied the LIMIT across all nodes. This interim step was unnecessary for
INSERT...SELECT queries, which read data from the same node where it is stored. This issue is now
resolved: Vertica no longer transfers data to the initiator for INSERT...SELECT queries, and thus
avoids the extra overhead previously incurred. |
VER-74575 |
Optimizer |
In certain outer join operations that included a LIMIT OVER (PARTITION BY) clause, Vertica applied
GUA (guaranteed uniqueness) optimization before populating the Top-K attribute, which pruned the
inner view and caused an internal error. This issue has been resolved: now the optimizer defers GUA
optimization until after it populates all query-related attributes. |
VER-74576 |
Execution Engine |
When computing COUNT window aggregates over Fixed type columns that included UUIDs, the aggregate
incremented the count on reading a row from the Fixed type column. It then also hit an assertion
failure intended for aggregating over invalid types. This issue has been resolved: the assertion
failure no longer occurs in Fixed type window aggregates. |
VER-74588 |
Hadoop |
Queries to external tables with Hive partition columns could crash Vertica if a predicate on a
partition column throws an error. This issue has been fixed. |
VER-74616 |
Execution Engine |
Enabling inter-node encryption adversely affected query performance across a variety of workloads.
In many cases, this issue has been addressed with improved performance. |
VER-74707 |
Tuple Mover |
Enabling both mergeout caching (deprecated) and reflexive mergeout adversely affected performance on
a new or restarted database. This issue has been resolved: when reflexive mergeout is enabled,
mergeout caching is automatically disabled. |
VER-74783 |
DDL - Table |
ALTER TABLE...OWNER TO threw an error when the target table was already owned by the specified user.
This issue has been resolved: it now returns with NOTICE instead of ERROR. |
VER-74795 |
Optimizer |
Previously, the Vertica optimizer ignored a PROJS hint that specified a live aggregate projection
(LAP), and returned a warning. This issue has been resolved: the optimizer now supports PROJS hints
that specify a LAP and uses the projection if it is feasible for that query. |
VER-74918 |
Security |
LDAPLink now properly supports instances where the number of members returned for an attribute
exceeds 1500. |
VER-75051 |
Execution Engine |
An internal memory error sometimes caused simple CASE statements of this format to fail:
CASE expression
WHEN comparand THEN result
...
[ ELSE result ]
END
This issue has been resolved. |
VER-75105 |
Execution Engine |
Passing a volatile expression such as RANDOM() as an argument to an inline function such as CORR
returned incorrect output if the argument appeared multiple times in the function body. This issue
has been resolved: now, when you pass a volatile expression as an argument multiple times to an
inline function, Vertica returns an error message. |
VER-75196 |
Execution Engine |
Calling ALTER TABLE REORGANIZE immediately after setting group partitioning with ALTER TABLE
sometimes caused Vertica to crash. This issue has been resolved. |
VER-75265 |
Execution Engine |
When a subquery was used in an expression and implied a correlated join with relations in the parent
query, and also aggregated output, it sometimes returned multiple rows for each matched join key and
returned unexpected results. This issue has been resolved. |