Skip to content

Tutorial End-to-End Test Results

Tutorial End-to-End Test Results

Date: 2026-01-26

Summary

TutorialConfig ParseE2E Test
pool-modes-tutorial.shPASSPASS
ha-pool-failover-tutorial.shPASSPASS
distribcache-tutorial.shN/A*PASS

*DistribCache uses Rust API configuration, not TOML

Verified Operations

HeliosDB Daemon Mode

  • Starts in daemon mode and stays running
  • Accepts PostgreSQL client connections
  • Executes queries correctly
  • Stops gracefully with SIGTERM
  • Commit: 756e541 fixed daemon exit bug

HeliosProxy Pool Modes

  • Parses pool-modes tutorial configuration
  • Transaction pooling mode works correctly
  • Multiple connections share backend pool
  • Queries routed to backend successfully

HeliosProxy HA Configuration

  • Parses HA failover tutorial configuration
  • Health check configuration validated
  • Node configuration with roles (primary/standby)
  • Connection routing to primary node works

Test Execution Details

Test Environment

  • HeliosDB backend on port 25550
  • HeliosProxy on ports 25551 (pool-modes) and 25552 (HA)
  • Health endpoint on port 28080

Pool Modes Tutorial Tests

-- Basic SELECT: PASS
SELECT 1 AS test_value;
-- Table operations: PASS
CREATE TABLE pool_test (id INT, name VARCHAR(50));
INSERT INTO pool_test VALUES (1, 'Transaction Pooling Works!');
SELECT * FROM pool_test;
-- Transaction boundaries: PASS
BEGIN; INSERT INTO pool_test VALUES (2, 'In Transaction'); COMMIT;

HA Failover Tutorial Tests

-- Basic routing: PASS
SELECT 1 AS ha_test;
-- Table operations through HA proxy: PASS
CREATE TABLE ha_test (id INT, msg VARCHAR(100));
-- Connection pooling under load: PASS
-- 5 rapid sequential connections all successful

DistribCache Tutorial Tests

  • Tutorial script syntax validation: PASS
  • Configuration example review: PASS
  • Rust API documentation: Complete

Fixes Applied

  1. Tutorial Configuration Fixes (Commit: 00600e4)

    • Fixed field names: listen_addrlisten_address
    • Fixed TOML syntax: [cluster].nodes[[nodes]]
    • Added complete ProxyConfig structure
  2. Daemon Mode Bug Fix (Commit: 756e541)

    • Added --daemon-child hidden flag
    • Use SIGTERM/SIGINT signal handlers for daemon mode
    • Keep ctrl_c() for interactive mode

Notes

  • Port 8080 may conflict on some systems; use --http-port flag
  • HeliosDB-Lite doesn’t implement pg_backend_pid() function
  • Transaction handling may differ from PostgreSQL in edge cases

Commits

  1. 00600e4 - fix: Update tutorial configurations to match ProxyConfig schema
  2. 756e541 - fix: Daemon mode exits immediately - use SIGTERM signal handling