QUERY_EVENTS

Returns information about query planning, optimization, and execution events.

Column Name Data Type Description
EVENT_TIMESTAMP

TIMESTAMPTZ

Time when Vertica recorded the event.

NODE_NAME

VARCHAR

Name of the node that is reporting the requested information.

USER_ID

INTEGER

Identifier of the user for the query event.

USER_NAME

VARCHAR

Name of the user for which Vertica lists query information at the time it recorded the session.

SESSION_ID

VARCHAR

Identifier for this session. This identifier is unique within the cluster at any point in time but can be reused when the session closes.

REQUEST_ID

INTEGER

Unique identifier of the query request in the user session.

TRANSACTION_ID

INTEGER

Identifier for the transaction within the session, if any; otherwise NULL.

STATEMENT_ID

INTEGER

Unique numeric ID for the currently-running statement. NULL indicates that no statement is currently being processed. The combination of TRANSACTION_ID, STATEMENT_ID, and REQUEST_ID uniquely identifies a statement within a session.

EVENT_CATEGORY

VARCHAR

Category of event: OPTIMIZATION or EXECUTION.

EVENT_TYPE

VARCHAR

Type of event. For more information, refer to the following sections below:

EVENT_DESCRIPTION

VARCHAR

Generic description of the event.

OPERATOR_NAME

VARCHAR

Name of the Execution Engine component that generated the event, if applicable; for example, NetworkSend. Values from the OPERATOR_NAME and PATH_ID columns let you tie a query event back to a particular operator in the query plan. If the event did not come from a specific operator, the OPERATOR_NAME column is NULL.

PATH_ID

INTEGER

Unique identifier that Vertica assigns to a query operation or path in a query plan. If the event did not come from a specific operator, the PATH_ID column is NULL.

See EXECUTION_ENGINE_PROFILES for more information.

OBJECT_ID

INTEGER

Object identifier (such as projection or table) to which the event refers.

EVENT_DETAILS

VARCHAR

Free-form text describing the specific event.

SUGGESTED_ACTION

VARCHAR

Suggested user action, if any is available.

Informational Event Types

Event Type Description
SIP_FALLBACK

This optimization did not apply to this query type.

SMALL_MERGE_REPLACED

Vertica has chosen a more efficient way to access the data by replacing a merge.

STORAGE_CONTAINERS_ELIMINATED
Vertica has performed partition pruning for the purpose of optimization.
GROUPBY PUSHDOWN
(Message is Internal to Vertica.)
NO GROUPBY PUSHDOWN
(Message is Internal to Vertica.)
VALUE_TRUNCATED
A character value is too long.
GROUP_BY_PREPASS_FALLBACK
Vertica could not run an optimization. In-memory prepass is disabled. The projection may not be optimal.
MERGE_CONVERTED_TO_UNION
Vertica has converted a merge operator to a union operator due to the sort order of the multi-threaded storage access stream.
TRANSITIVE PREDICATE

Vertica has optimized by adding predicates to joins where it makes logical sense to do so.

For example, for the statement, SELECT * FROM A, B WHERE A.a = B.a AND A.a = 1;Vertica may add a predicate B a = 1 as a filter for better storage access of table B.

NODE PRUNING
Vertica has performed node pruning, which is similar to partition pruning, but at the node level.
SEQUENCE CACHE REFILLED
Vertica has refilled sequence cache.
OUTER OVERRIDE USED
For efficiency and optimization, Vertica has swapped the inner/outer tables in a join. Vertica used the smaller table as the inner table.
OUTER OVERRIDE NOT USED
Vertica found swapping inner/outer tables in a join unnecessary because the inner/outer tables were in good order. (For example, a smaller table was used in an inner join.)
EXTERNAL_PREDICATE_PUSHDOWN_NOT_SUPPORTED

Predicate pushdown for older Hive versions may not be supported.  For more information, see Improving Query Performance.

LibHDFS++ UNSUPPORTED OPERATION

Vertica accessed HDFS using the hdfs URL scheme, but the HDFS cluster uses an unsupported feature such as wire encryption or HTTPS_ONLY or the Vertica session uses delegation tokens. Vertica fell back to WebHDFS.

LibHDFS++ MANUAL FALLBACK
Vertica accessed HDFS using the hdfs URL scheme but HDFSUseWebHDFS is set.

Vertica fell back to WebHDFS.

LibHDFS++ FAILOVER RETRY

Vertica attempted to contact a Name Node on an HDFS cluster that uses High Availability Name Node and did not receive a response. Vertica retried with a different Name Node.

Event Types for Corrective Action

Review the following event types for possible corrective action:

Event Type Description Action
GROUP_BY_SPILLED

This event type is typically related to a specific type of query, which you might need to adjust.

Identify the type of query and make adjustments accordingly. You might need to adjust resource pools, projections, or the amount of RAM available. Try running the query on a cluster with no additional workload.
RESEGMENTED_MANY_ROWS

This event type is typically related to a specific type of query, which you might need to adjust.

Do projections need to be segmented in a different way to allow for join locality? Can you rewrite the query to filter out more rows at storage access time? (Typically, Vertica does so automatically through predicate pushdown.) Review your explain plan.
RLE_OVERRIDDEN

The average run counts are not large enough for Run Length Encoding (RLE). This event occurs with queries where the filtered results for certain columns do not work with RLE because cardinality is less than 10.

Review and rewrite your query, if necessary.
PREDICATE OUTSIDE HISTOGRAM

A predicate value you are trying to match does not exist in a set of possible values for a specific column. For example, you try to match a VARCHAR value WHERE mystring = "ABC<newline>". In this case, the newline character throws off the predicate matching optimizations.

Review and rewrite your query, if necessary.

Critical Event Types

Review the following event types, and resolve issues as recommended:

Event Type Description Action
WOS_SPILL

WOS ran out of memory, and began spilling to ROS.

Try one or more of the following:

  • Adjust the load process to run bigger batches less frequently.
  • Give the WOS resource pool more memory.
  • Increase how often the Tuple Mover moveout and mergeout processes run for high ingest rates. (Adjustment of the moveout process helps avoid ROS issues.)
NO HISTOGRAM 

Indicates a table does not have an updated column histogram.

Running the function ANALYZE_STATISTICS most often corrects this issue.
MEMORY LIMIT HIT 

Indicates query complexity or, possibly, lack of available system memory.

Consider adjusting the MAXMEMORYSIZE and PLANNEDCONCURRENCY resource pools so that the optimizer has sufficient memory. On a heavily used system, this event may occur more frequently.
DELETE WITH NON OPTIMIZED PROJECTION

One or more projections do not have your delete filter column in their sort order,causing Vertica difficulty identifying rows to mark as deleted.

Add the delete filter column to the end of every projection sort order for your target delete table.
JOIN_SPILLED

Vertica has spilled a join to disk. A join spill event slows down the subject query and all other queries as it consumes resources while using disk as virtual memory.

Try the following (in sequence):

  • Review the explain plan. The query could be too ambitious, for example, cross joining two large tables.
  • Consider adding the query to a lower priority pool to reduce impact on other queries.
  • Create projections that allow for a merge join instead of a hash join.
  • Adjust the PLANNEDCONCURRENCYresource pool so that queries have more memory to execute.

Privileges

No explicit privileges are required. You only see the records for tables that you have privileges to view.

See Also