Skip to content

Support parallel execution map generation - #2

Open
kaiks wants to merge 1 commit into
fix-parallel-rspec-supportfrom
support-parallel-map-generation
Open

kaiks wants to merge 1 commit into
fix-parallel-rspec-supportfrom
support-parallel-map-generation

Conversation

@kaiks

@kaiks kaiks commented Sep 2, 2026

Copy link
Copy Markdown

Summary

  • keep one execution map when test workers generate it at the same time
  • lock map initialization, writes, and reads
  • merge duplicate example entries by taking the union of their dependencies
  • preserve the original replace behavior for nonparallel map generation
  • share parallel-runner environment detection with the evaluation code

Problem

Each map generator worker cleared the shared YAML file during RSpec startup. A later worker therefore removed data written by an earlier worker. Concurrent YAML appends could also overlap.

The feature test runs two Kaia-style workers concurrently. One worker runs the Class1 spec and the other runs the Class2 spec. The final map must contain data from both workers.

Verification

  • bundle exec rspec spec features (312 examples, 0 failures on Ruby 4.0)
  • bundle exec rubocop
  • bundle exec yard --fail-on-warning
  • bundle exec rake build
  • focused storage, generator, runner configuration, and parallel feature tests on Ruby 3.2 (48 examples, 0 failures)

This PR is stacked on #1, which fixes parallel prediction evaluation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant