rudderlabs / rudder-sdk-ios

iOS SDK for RudderStack - the Customer Data Platform for Developers. Now supports tvOS, watchOS and macOS tracking!
https://www.rudderstack.com
Other
18 stars 38 forks source link

BUG : Excessive retrying #374

Open andreasgangso opened 1 year ago

andreasgangso commented 1 year ago

Describe the bug I'm going to keep this short because @desusai7 already knows the details here.

But basically, RSCloudModeManager is only handing some specific response states, and is missing at least BAD_REQUEST. Should probably have an else {} to catch all edge cases. https://github.com/rudderlabs/rudder-sdk-ios/blob/d478c23de1e671d2d112ab1ab8181d55064ed427/Sources/Classes/RSCloudModeManager.m#L71

This results in it retrying the same payload on every loop, which is like ~10 requests per second.

andreasgangso commented 1 year ago

For the record, this was noticed through https://github.com/rudderlabs/rudder-sdk-flutter/issues/116, where gzip payloads were sent to an old rudder-server without gzip support, which was causing the response to be 400 BAD_REQUEST.