Skip to content

Conversation

@danolivo
Copy link
Contributor

@danolivo danolivo commented Jan 13, 2026

Includes:

  • Spockbench fix (shift to the new version of the delta_apply feature)
  • run-tests fix - some changes made 5 months ago around pgbench_history weren't correctly used.
  • Change Dockerfile concept - all source codes are now inside, and all paths are in bashrc. Please, load it before testing and update it if any extra paths are needed.
  • Visual improvement of SQL UI while I was in place.
  • delta_apply bug fix: we have an architectural fragility and need to constantly remember that SpockRelation cache updates independently from the Relation one.

I think we should spend one or two more release cycles carefully watching how it behaves due to multiple changes.

@danolivo danolivo self-assigned this Jan 13, 2026
@danolivo danolivo added bug Something isn't working enhancement New feature or request labels Jan 13, 2026
@danolivo danolivo force-pushed the spoc-398 branch 27 times, most recently from 1ed3b02 to 4d85b7b Compare January 16, 2026 12:26
- 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>
danolivo and others added 4 commits January 16, 2026 15:09
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants