Skip to content

Commit 4344437

Browse files
committed
remove dead DRb code from codebase
1 parent b3634e3 commit 4344437

13 files changed

+5
-223
lines changed

infrastructure/drb_test_help.rb

-30
This file was deleted.

infrastructure/load.rb

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
require File.dirname(__FILE__) + "/timewarp/lib/timewarp"
22
require File.dirname(__FILE__) + "/fake_deadlock_error"
3-
require File.dirname(__FILE__) + "/drb_test_help"
43
require File.dirname(__FILE__) + "/test_central_command"
54
require File.dirname(__FILE__) + "/test_factory"
65
require File.dirname(__FILE__) + "/test_logger"

lib/deep_test.rb

-31
Original file line numberDiff line numberDiff line change
@@ -11,35 +11,6 @@ def logger=(logger)
1111
end
1212
end
1313

14-
# Fork in a separate thread. If we fork from a DRb thread
15-
# (a thread handling a method call invoked over drb),
16-
# DRb still thinks the current object is the DRb Front Object,
17-
# and reports its uri as the same as in the parent process, even
18-
# if you restart DRb service.
19-
#
20-
# Stop all drb servers in child process to ensure that objects passed
21-
# over drb to children are treated as remote objects.
22-
#
23-
def self.drb_safe_fork
24-
Thread.new do
25-
Process.fork do
26-
DRb.stop_service # stop the primary server
27-
DRb.instance_variable_get(:@server).values.each do |server|
28-
server.stop_service
29-
end
30-
DRb::DRbConn.instance_eval do
31-
@mutex.synchronize do
32-
@pool.each do |conn|
33-
conn.close if conn.alive?
34-
end
35-
@pool.clear
36-
end
37-
end
38-
yield
39-
end
40-
end.value
41-
end
42-
4314
def self.init(options)
4415
return if @initialized
4516
@initialized = true
@@ -58,7 +29,6 @@ def backtrace
5829
end
5930

6031
require "logger"
61-
require "drb"
6232
require "timeout"
6333
require "thread"
6434
require "socket"
@@ -68,7 +38,6 @@ def backtrace
6838

6939
require File.dirname(__FILE__) + "/telegraph"
7040
require File.dirname(__FILE__) + "/deep_test/extensions/object_extension"
71-
require File.dirname(__FILE__) + "/deep_test/extensions/drb_extension"
7241

7342
require File.dirname(__FILE__) + "/deep_test/demon"
7443
require File.dirname(__FILE__) + "/deep_test/deadlock_detector"

lib/deep_test/agent.rb

-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ def execute
3434
end
3535
rescue CentralCommand::NoWorkUnitsRemainingError
3636
DeepTest.logger.debug { "Agent #{number}: no more work to do" }
37-
rescue DRb::DRbConnError, Timeout::Error
38-
DeepTest.logger.debug { "Unable to contact DRb server. Exiting" }
3937
end
4038

4139
def next_work_unit

lib/deep_test/distributed/beachhead.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module DeepTest
22
module Distributed
33
class Beachhead < LocalDeployment
4-
include Demon, DRb::DRbUndumped
4+
include Demon
55

66
MERCY_KILLING_GRACE_PERIOD = 10 * 60 unless defined?(MERCY_KILLING_GRACE_PERIOD)
77

lib/deep_test/distributed/dispatch_controller.rb

+1-6
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,6 @@ def dispatch_with_options(method_name, options, *args)
3636
rescue Timeout::Error
3737
@receivers.delete t[:receiver]
3838
DeepTest.logger.error { "Timeout dispatching #{method_name} to #{description t[:receiver]}" }
39-
rescue DRb::DRbConnError
40-
@receivers.delete t[:receiver]
41-
unless options[:ignore_connection_error]
42-
DeepTest.logger.error { "Connection Refused dispatching #{method_name} to #{description t[:receiver]}" }
43-
end
4439
rescue Exception => this_exception
4540
@receivers.delete t[:receiver]
4641
DeepTest.logger.error { "Exception while dispatching #{method_name} to #{description t[:receiver]}:" }
@@ -57,7 +52,7 @@ def dispatch_with_options(method_name, options, *args)
5752
end
5853

5954
def description(receiver)
60-
receiver.__drburi rescue receiver.inspect
55+
receiver.inspect
6156
end
6257

6358
end

lib/deep_test/extensions/drb_extension.rb

-34
This file was deleted.

lib/deep_test/options.rb

+1-2
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,7 @@ def origin_hostname
6060
end
6161

6262
# Don't store UI instances in the options instance, which will
63-
# need to be dumped over DRb. UI instances may not be dumpable
64-
# and we don't want to have to start yet another DRb Server
63+
# need to be dumped over Telegraph since UI instances may not be dumpable.
6564
#
6665
UI_INSTANCES = {} unless defined?(UI_INSTANCES)
6766
def ui_instance

lib/deep_test/warlock.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def start(name, demon, *demon_args)
1515
begin
1616
pid = nil
1717
@demons_semaphore.synchronize do
18-
pid = DeepTest.drb_safe_fork do
18+
pid = fork do
1919
# Fork leaves the semaphore locked and we'll never make it
2020
# to end of synchronize block.
2121
#

test/deep_test/agent_test.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ def ==(other)
110110

111111
test "Agent::Error can marshal itself even if the contents are not marshallable" do
112112
o = Object.new
113-
o.extend DRb::DRbUndumped
113+
def o._dump; raise "error"; end
114114

115115
error = Agent::Error.new o, Exception.new("my error")
116116
error_through_marshalling = Marshal.load Marshal.dump(error)

test/deep_test/distributed/dispatch_controller_test.rb

-32
Original file line numberDiff line numberDiff line change
@@ -81,24 +81,6 @@ def receiver.sleep_100_millis
8181
controller.dispatch(:method_call_2)
8282
end
8383

84-
test "receiver is dropped when connection is refused" do
85-
receiver_1, receiver_2 = mock, mock
86-
receiver_1.expects(:method_call_1).raises(DRb::DRbConnError)
87-
receiver_1.expects(:method_call_2).never
88-
89-
receiver_2.expects(:method_call_1).returns(:value)
90-
receiver_2.expects(:method_call_2)
91-
92-
controller = DispatchController.new(
93-
Options.new({:ui => "UI::Null", :timeout_in_seconds => 0.05}),
94-
[receiver_1, receiver_2]
95-
)
96-
97-
assert_equal [:value], controller.dispatch(:method_call_1)
98-
99-
controller.dispatch(:method_call_2)
100-
end
101-
10284
test "receiver is dropped when any exception occurs" do
10385
receiver = mock
10486
receiver.expects(:method_call).raises(Exception)
@@ -132,20 +114,6 @@ def receiver.sleep_100_millis
132114
end_log
133115
end
134116

135-
test "no error is printed if dispatching without error" do
136-
receiver_1 = mock
137-
receiver_1.expects(:method_call_1).raises(DRb::DRbConnError)
138-
139-
controller = DispatchController.new(
140-
Options.new({:ui => "UI::Null", :timeout_in_seconds => 0.05}),
141-
[receiver_1]
142-
)
143-
144-
DeepTest.logger.expects(:error).never
145-
146-
controller.dispatch_with_options(:method_call_1, :ignore_connection_error => true)
147-
end
148-
149117
test "dispatch calls notifies ui of start and stop of dispatch" do
150118
options = Options.new({:ui => "UI::Null"})
151119
controller = DispatchController.new(

test/deep_test/drb_safe_fork_test.rb

-64
This file was deleted.

test/drb_test_help.rb

-18
This file was deleted.

0 commit comments

Comments
 (0)