Skip to content
This repository was archived by the owner on Oct 16, 2025. It is now read-only.

Commit 6479142

Browse files
committed
fix orphan rpt
1 parent 40d211d commit 6479142

1 file changed

Lines changed: 30 additions & 20 deletions

File tree

src-colladmin/actions/zookeeper_action.rb

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -200,30 +200,40 @@ def show_test(n)
200200
jid = rx2.match(n)[1]
201201
bid = get_data(n)
202202
test_node(n, false, "/batches/#{bid}")
203-
d = get_data("/jobs/#{jid}/status")
204-
status = d.fetch(:status, 'na').downcase
205-
case status
206-
when 'deleted'
207-
bstatus = 'batch-deleted'
208-
when 'completed'
209-
bstatus = 'batch-completed'
210-
when 'failed'
211-
bstatus = 'batch-failed'
212-
else
213-
bstatus = 'batch-processing'
214-
end
215-
test_node(n, false, "/batches/#{bid}/states/#{bstatus}/#{jid}")
216-
%w[batch-deleted batch-completed batch-failed batch-processing].each do |ts|
217-
next if ts == bstatus
203+
snode = "/jobs/#{jid}/status"
204+
test_node(n, true, snode)
205+
if @zk.exists?(snode)
206+
d = get_data(snode)
207+
return if d.nil?
208+
209+
status = d.fetch(:status, 'na').downcase
210+
case status
211+
when 'deleted'
212+
bstatus = 'batch-deleted'
213+
when 'completed'
214+
bstatus = 'batch-completed'
215+
when 'failed'
216+
bstatus = 'batch-failed'
217+
else
218+
bstatus = 'batch-processing'
219+
end
220+
test_node(n, false, "/batches/#{bid}/states/#{bstatus}/#{jid}")
221+
%w[batch-deleted batch-completed batch-failed batch-processing].each do |ts|
222+
next if ts == bstatus
218223

219-
test_not_node(n, false, "/batches/#{bid}/states/#{ts}/#{jid}")
224+
test_not_node(n, false, "/batches/#{bid}/states/#{ts}/#{jid}")
225+
end
220226
end
221227
when rx3
222228
jid = rx3.match(n)[1]
223-
d = get_data("#{n}/status")
224-
status = d.fetch(:status, 'na').downcase
225-
priority = get_data("#{n}/priority")
226-
test_node(n, false, "/jobs/states/#{status}/#{format('%02d', priority)}-#{jid}")
229+
snode = "/jobs/#{jid}/status"
230+
test_node(n, true, snode)
231+
if @zk.exists?(snode)
232+
d = get_data(snode)
233+
status = d.fetch(:status, 'na').downcase
234+
priority = get_data("#{n}/priority")
235+
test_node(n, false, "/jobs/states/#{status}/#{format('%02d', priority)}-#{jid}")
236+
end
227237
when rx4
228238
jid = rx4.match(n)[1]
229239
test_node(n, true, "/jobs/#{jid}")

0 commit comments

Comments
 (0)