Gathering Information for SQream Support

Getting Support and Reporting Bugs

When contacting SQreamDB Support, we recommend reporting the following information:

  • What is the problem encountered?

  • What was the expected outcome?

  • How can SQream reproduce the issue?

When possible, please attach as many of the following:

How SQream Debugs Issues

Reproduce

If we are able to easily reproduce your issue in our testing lab, this greatly improves the speed at which we can fix it.

Reproducing an issue consists of understanding:

  1. What was SQream DB doing at the time?

  2. How is the SQream DB cluster configured?

  3. How does the schema look?

  4. What is the query or statement that exposed the problem?

  5. Were there any external factors? (e.g. Network disconnection, hardware failure, etc.)

See the Collecting a Reproducible Example of a Problematic Statement section ahead for information about collecting a full reproducible example.

Logs

The logs produced by SQream DB contain a lot of information that may be useful for debugging.

Look for error messages in the log and the offending statements. SQream’s support staff are experienced in correlating logs to workloads, and finding possible problems.

See the Collecting Logs and Metadata Database section ahead for information about collecting a set of logs that can be analyzed by SQream support.

Fix

Once we have a fix, this can be issued as a hotfix to an existing version, or as part of a bigger major release.

Your SQream account manager will keep you up-to-date about the status of the issue.

Collecting a Reproducible Example of a Problematic Statement

SQream DB contains an SQL utility that can help SQream support reproduce a problem with a query or statement.

This utility compiles and executes a statement, and collects the relevant data in a small database which can be used to recreate and investigate the issue.

SQL Syntax

SELECT EXPORT_REPRODUCIBLE_SAMPLE(output_path, query_stmt [, ... ])
;

output_path ::=
   filepath

Parameters

Parameter

Description

output_path

Path for the output archive. The output file will be a tarball.

query_stmt [, ...]

Statements to analyze.

Example

SELECT EXPORT_REPRODUCIBLE_SAMPLE('/home/rhendricks', 'SELECT * FROM t', $$SELECT "Name", "Team" FROM nba$$);

Collecting Logs and Metadata Database

SQream DB comes bundled with a data collection utility and an SQL utility intended for collecting logs and additional information that can help SQream support drill down into possible issues.

See more information in the Collect logs from your cluster section of the Logging guide.

Examples

Write an archive to /home/rhendricks, containing log files:

SELECT REPORT_COLLECTION('/home/rhendricks', 'log')
;

Write an archive to /home/rhendricks, containing log files and metadata database:

SELECT REPORT_COLLECTION('/home/rhendricks', 'db_and_log')
;

Using the Command Line Utility:

$ ./bin/report_collection /home/rhendricks/sqream_storage /home/rhendricks db_and_log