Skip to main content

Debugging

Describes tools and methods for analyzing and resolving problems that occur during pipeline execution. D.Hub records execution history by pipeline, batch, and step, so you can debug the problem by narrowing it down step by step.

Execution history (Traces)

Detailed execution history (trace) is automatically saved each time the pipeline runs.

Execution history structure

The execution history consists of three layers:

tierDescription
PipelinePipeline Entire Execution Unit
BatchIndividual running instances of a pipeline (each run creates a new batch)
StepExecution unit for each node in the deployment

Check execution history

  1. Select a code node in the workflow editor and open the History tab in the Properties panel.
  2. When you select a specific batch from the batch list, details for each step of that batch will be displayed.

If you hover your mouse over the execution history bar at the top, you can quickly view the execution number, status, time, and time required. The information available for each batch is as follows:

ItemDescription
Batch IDIdentifier of the running instance
StatusExecution result (success/failure/running, etc.)
Time RequiredTime taken for full run

Batch status

Each batch is in one of the following states:

statusDescriptionFollow-up
runningCurrently runningWait for completion or stop if necessary
Success (ready)All steps completed successfullyCheck output dataset
failed / errorAn error occurred in one or more stepsAfter analyzing the error, correct and rerun
stopUser interrupts executionRerun if necessary

Error analysis

Check log for each step

Here are the steps to analyze a batch that failed to run:

  1. Select the failing code node to open its properties panel.
  2. In the History tab, select the batch marked as failed (red).
  3. Expand the failed step and check the description and stack trace (a record of the location of the error) (copyable).

Execution failed without step records

Not all failures are recorded step by step. Infrastructure issues that prevent the execution itself from starting (e.g. a running pod fails to pop up) will not leave a checkpoint at any step, so you will not find a stacktrace in the History tab. The reason for this run-level failure is displayed in the error notification (toast) and desktop notification that appear immediately after execution. If there are no failed steps in the history and the batch ended in failure, check the reason for this notification first.

Additionally, if the execution status is not read repeatedly (approximately 1 minute), the query automatically stops and displays Pipeline status unknown. Prevents infinite waiting when the state appears to be frozen.

Error message interpretation

The information that can be found in the step details of the history tab is as follows.

ItemDescription
StatusStep execution results (failure, etc.)
Description (Error Message)Message explaining the cause of the error
Stack Tracedetailed call stack
Start/End TimeStep execution time

Common error types and solutions

Error TypeCauseSolution
ConnectionErrorData source (DB, API) connection failureCheck network status, authentication information, and endpoint address
SchemaErrorSchema mismatch of input/output dataCheck column name and data type mapping
SyntaxErrorSyntax errors in Python/SQL codeModify code syntax and rerun
RuntimeErrorException occurred while executing codeModify logic by analyzing stack traces
TimeoutErrorexecution timeoutOptimizing queries, reducing data size, adjusting timeout values ​​
ResourceErrorInsufficient CPU/memory resourcesRaise resource limits or handle data splitting
tip

If the error repeats in the Code node, try logging (print or logging) in your code to check the intermediate data status. You can find the cause faster.

Detailed trace for each step

You can check the following information in the execution history of each step.

ItemDescription
StatusStep execution result
Start/End TimeStep start/end time
DescriptionRun/Error Description Message
StacktraceDetailed call stack on failure

The number of records processed and the time taken can be checked from the status display at the top of the canvas node during execution.

Rerun batch

You can fix a failed batch and run it again.

How to rerun

  1. Analyze the cause of the failure and fix the code or settings.
  2. Save your changes.
  3. Click the Run button in the top toolbar to create a new batch.
warning

When you rerun you will have a new batch. The history of previous failed batches remains and can be used to compare and analyze two batches.

Debugging Best Practices

  1. Log confirmation order: Narrow the scope and analyze in the following order: Pipeline → Batch → Step.
  2. Stepwise testing: Complex pipelines add nodes one by one, verifying each step.
  3. Test with small data: Test with a small amount of sample data first before running the entire data.
  4. Compare previous successful batch: Compare the input data and settings differences between the failed batch and the previously successful batch.