Skip to main content

Datometry Documentation

Hyper-Q Error Log File

The Hyper-Q error log contains both error and informational system messages.

The error log is a comma-separated values (CSV) file, a delimited text file that uses a comma to separate values. Each line of the file is a data record. Each record consists of one or more fields, separated by commas.

Note

The error log typically contains one message per line, though messages can span multiple lines. Note that although multi-line rows are considered valid CSV format, some tools which are otherwise able to parse CSV files may encounter issues parsing multi-line messages.

If the legacy logger is enabled, a column header line is printed at the top of each log file. If the legacy logger is disabled, the header line is omitted. Regardless of the presence or absence of a column header, the log file is always formatted as a valid CSV file.

Table 11. Hyper-Q Error Log Columns

Column Name

Description

Time

The timestamp when the event occurred, using the local server timezone and formatted with millisecond-precision timestamps as: YYYY-MM-DD HH:MM:SS.mmm

PID

The internal process ID of the process that published the message. This column lets you filter log messages generated by a specific process, which can be useful if you suspect a particular process has an issue.

Session ID

The integer session identifier for the session to which the event belongs.

Defaults to zero (0) if a message is not associated with a session.

Client Request ID

The universally unique identifier (UUID) identifier for the current client request.

LSN

An ID generated for bulk jobs that use multiple, parallel sessions. Typically, these connect different sessions with distinct session IDs that are part of the same job.

Defaults to zero (0) if a message is not associated with a session, or if the associated session does not have an LSN.

Tag Category

The tracer event category formatted as both a numeric code prefixed with DLC and a user-readable string. For example: DLC002--Preprocessing

Tag Name

The tracer event name, formatted as both a numeric code prefix with DLE and a user-readable string. Foe example: DLE0003--Start Client Query

Tag Value

The tracer tag value (if included in the event). This value is free-form, and may span multiple lines, with the meaning of the value dependent on the particular event.

Severity

Indicates the importance and urgency of a log message. Severity values in the error log may either be one of the standard System Logging Protocol (syslog) severity levels described in RFC 5424, or a special level of TRACE reserved for certain messages that are even lower-level than the standard DEBUG severity.

The system log level setting determines whether messages below a certain severity level are included in the logs or not.

To learn how to specify a severity level to be recorded to the error log, see Set the Error Log Severity Level Interactively.

Message

The text of the log message.

Query String

Typically, this column is unused and contains an empty string, however, it can include SQL query text alongside a log message.



Error Log Message Codes

For most log messages, the Message Code column contains a placeholder value that corresponds to the log severity. However, certain messages have dedicated codes which make it easier to filter the log files for these messages. Standard INFO messages use DTM1000. Other severity levels use codes in the range DTM1013–DTM1021. There are hundreds of message codes, which, while not listed here, their meaning can be easily determined by looking at the text of the log message associated with it.

Set the Error Log Severity Level Interactively

You can change the severity values being recorded by the error log interactively from either a SQL client tool command shell or in a SQL script using the dtm set loglevel command. The dtm set loglevel command lets you change the error log severity level without having to restart Hyper-Q.

The syntax for dtm set loglevel is:

dtm set loglevel level

where:

Parameter

Description

level

Indicates the importance and urgency of a log message. Severity values in the error log may either be one of the standard System Logging Protocol (syslog) severity levels described in RFC 5424, or a special level of TRACE reserved for certain messages that are even lower-level than the standard DEBUG severity.

The error log levels are:

debug

Debugging messages.

info

Informational messages.

notice

Normal, but significant events.

warning

Warning conditions that should be taken care of.

error

Non-critical error conditions.

critical

Critical conditions.

emergency

The system is unusable.

Change the Error Log Severity Level Using the Command Shell

You can change the error log level from the command shell of your SQL client.

  1. Log into Hyper-Q using a SQL client and valid credentials for the database instance with which Hyper-Q is associated.

  2. Execute the command dtm set setlevel level, where level is one of the severity levels described earlier in this section.

    The Hyper-Q error log will now record messages of the severity level specified for all active sessions.

Change the Error Log Severity Level Using a Script

You can include the dtm set setlevel command in a SQL script. In the following example the error log severity level is set to debug.

dtm set loglevel debug;
*** Query completed. One row found. One column returned. 
*** Total elapsed time was 1 second.

status
-----------------------
log level set to: debug

select CURRENT_TIMESTAMP;

*** Query completed. One row found. One column returned. 
*** Total elapsed time was 1 second.

                        SQL_COL1
--------------------------------
192021-10-26 06:19:52.507000+00:00