File tree Expand file tree Collapse file tree 2 files changed +11
-2
lines changed Expand file tree Collapse file tree 2 files changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -84,7 +84,14 @@ def handle_errors
84
84
raise ERROR_MAPPING . fetch ( node_error . class ) , node_error . message , node_error . backtrace
85
85
end
86
86
end
87
- raise ERROR_MAPPING . fetch ( error . class ) , error . message , error . backtrace
87
+ remapped_node_errors = error . errors . map do |node_key , node_error |
88
+ remapped = ERROR_MAPPING . fetch ( node_error . class , node_error . class ) . new ( node_error . message )
89
+ remapped . set_backtrace node_error . backtrace
90
+ [ node_key , remapped ]
91
+ end . to_h
92
+ raise ( Redis ::Cluster ::CommandErrorCollection . new ( remapped_node_errors , error . message ) . tap do |remapped |
93
+ remapped . set_backtrace error . backtrace
94
+ end )
88
95
rescue ::RedisClient ::Error => error
89
96
raise ERROR_MAPPING . fetch ( error . class ) , error . message , error . backtrace
90
97
end
Original file line number Diff line number Diff line change @@ -21,9 +21,11 @@ def test_bgsave
21
21
'Use BGSAVE SCHEDULE in order to schedule a BGSAVE whenever possible.'
22
22
23
23
redis_cluster_mock ( bgsave : -> ( *_ ) { "-Error #{ err_msg } " } ) do |redis |
24
- assert_raises ( Redis ::Cluster ::CommandErrorCollection , 'Command error replied on any node' ) do
24
+ err = assert_raises ( Redis ::Cluster ::CommandErrorCollection , 'Command error replied on any node' ) do
25
25
redis . bgsave
26
26
end
27
+ assert_includes err . message , err_msg
28
+ assert_kind_of Redis ::CommandError , err . errors . values . first
27
29
end
28
30
end
29
31
You can’t perform that action at this time.
0 commit comments