Skip to content

Conversation

@danolivo
Copy link
Contributor

No description provided.

danolivo and others added 7 commits January 16, 2026 14:55
- Enable TCP/IP connections (listen_addresses, pg_hba.conf)
- Implement sequential startup: n2/n3 depend on n1 health
- Use Z0DAN spock.add_node() for n2/n3 cluster joining
- Add exception log and conflict resolution tests
- Integrate spockbench 3-node testing framework

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Invalidate the cached index information before calling
RelationGetReplicaIndex() when temporarily changing relreplident
to REPLICA_IDENTITY_DEFAULT. Without this, the cached index from
REPLICA_IDENTITY_FULL mode may be incorrectly used.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Cosmetic changes only:
- Remove extra blank lines
- Consolidate multi-line conditions onto single lines where appropriate
- Reformat SQL function declarations for readability

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Docker infrastructure improvements:
- Add healthcheck marker file to prevent race conditions during
  container startup - node is only marked healthy after full Spock
  initialization completes
- Mount tests directory as volume for faster iteration
- Use environment variables from .bashrc instead of hardcoded paths
- Update spockbench to delta-apply-update branch
- Move spockbench installation before PostgreSQL build (needs root)

Test script improvements:
- Add wait_for_pg() function to check all nodes (local + peers) are ready
- Use sync_event/wait_for_sync_event for proper replication synchronization
- Simplify psql authentication using trust configuration
- Use 'default' repset instead of 'demo_replication_set'
- Fix conflict type check: delete_missing instead of delete_delete

Configuration changes:
- Reduce log verbosity from debug5 to log level
- Enable spock.save_resolutions for conflict tracking
- Fix DSN strings to include host and port for all nodes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Workflow improvements:
- Split workflow into separate steps: build, cluster startup, test
  execution, log collection, cleanup, regression, and TAP tests
- Run spockbench tests on all three nodes (n1, n2, n3) in parallel
  using background processes with proper PID tracking
- Add artifact collection for node logs and spockbench output
- Add always-run cleanup step to ensure docker-compose down executes
- Remove --build flag from docker compose up to reuse pre-built image
  (fixes bug where image was rebuilt with default PGVER=17)
- Add if: always() to regression and TAP test steps

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add GitHub Actions workflow to run regression tests on a Docker-based
three-node Spock cluster.

Features:
- Collect PostgreSQL logs from all nodes (n1, n2, n3) for debugging
- Collect regression output (diffs, out, results) from n1 where tests run
- Skip security_label test which cannot pass without PostgreSQL core changes
@danolivo danolivo self-assigned this Jan 22, 2026
@danolivo danolivo added the enhancement New feature or request label Jan 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants