@@ -20,12 +20,8 @@ def permanent?
2020 end
2121 end
2222
23- TRANSIENT_ERROR_CLASSES = [
24- Aws ::Kinesis ::Errors ::InternalFailure ,
25- Aws ::Kinesis ::Errors ::ServiceUnavailable ,
26- Aws ::Kinesis ::Errors ::Http503Error ,
27- Aws ::Kinesis ::Errors ::ProvisionedThroughputExceededException ,
28- Seahorse ::Client ::NetworkingError ,
23+ PERMANENT_ERROR_CLASSES = [
24+ Aws ::Kinesis ::Errors ::ValidationException ,
2925 ] . freeze
3026
3127 # Send a batch of database events to Kinesis
@@ -73,23 +69,21 @@ def send_event(event)
7369 )
7470
7571 event
76- rescue *TRANSIENT_ERROR_CLASSES => e
77- # Event failed with transient error
78- Rails . logger . error ( "Kinesis event send failed (transient): #{ e . class } - #{ e . message } " )
72+ rescue *PERMANENT_ERROR_CLASSES => e
73+ Rails . logger . error ( "Kinesis event send failed (permanent): #{ e . class } - #{ e . message } " )
7974 FailedEvent . new (
8075 event :,
8176 error_code : e . class . to_s ,
8277 error_message : e . message ,
83- transient : true ,
78+ transient : false ,
8479 )
8580 rescue StandardError => e
86- # Event failed with permanent error
87- Rails . logger . error ( "Kinesis event send failed (permanent): #{ e . class } - #{ e . message } " )
81+ Rails . logger . error ( "Kinesis event send failed (transient): #{ e . class } - #{ e . message } " )
8882 FailedEvent . new (
8983 event :,
9084 error_code : e . class . to_s ,
9185 error_message : e . message ,
92- transient : false ,
86+ transient : true ,
9387 )
9488 end
9589
0 commit comments