Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion VERSION.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
:minor: 1
:patch: 2
:patch: 3
:major: 0
:build:
7 changes: 5 additions & 2 deletions lib/capistrano/configuration/extensions/actions/invocation.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
module Capistrano

ParallelError = Class.new(Capistrano::Error)

class Configuration
module Extensions
module Actions
Expand Down Expand Up @@ -34,7 +37,7 @@ def run_parallelize_loop(proxy, thread_count)
threads = run_in_threads(chunk)
all_threads << threads
wait_for(threads)
rollback_all_threads(all_threads.flatten) and return if threads.any? {|t| t[:rolled_back] || t[:exception_raised]}
rollback_all_threads(all_threads.flatten) and raise ParallelError.new("Subthread failed in parallel running, rolled back.") if threads.any? {|t| t[:rolled_back] || t[:exception_raised]}
batch += 1
end
all_threads
Expand Down Expand Up @@ -81,4 +84,4 @@ def rollback_all_threads(threads)
end
end
end
end
end