Closed bogdanzurac closed 2 years ago
Hey. We've also noticed this issue as well and is causing trouble for us in edge cases with poor connectivity. What is an ETA on fixing this?
CC @chillaq
Hi Guys, our ETA is within 2 weeks, will let you know once it is released.
Thanks Bilal
Hi @bogdanzurac and @cosminstefanxp !
This fixes were already released, could you bump the SDK to the latest version on your end and let us know if you're still experiencing issues?
Thanks in advance, Nico.
Hey @NicoZelaya. We've updated the SDK to the latest version and all seems good. Will let you know if we encounter any more issues. Thanks for your help guys!
Glad to hear! thank you very much for reporting back!
Hey guys. We've starting seeing again issues with the caching. We're currently using v2.6.2. Tried to copy-paste as much info from logs as I could get:
Firstly, tested with perfect network connection:
1st run, the SDK manages to load the feature flags and they're correctly visible inside the app.
2020-06-29 15:27:54.923 31463-31577/com.example D/SplitSDK: Features have been updated 2020-06-29 15:27:54.925 31463-31594/com.example D/AsyncTask #1/SplitFeatureManager$init$$inlined$apply$lambda: SPLIT SDK READY
2nd run, the SDK fetches from cache and loads feature flags correctly, but receives an SDK TIMEOUT, then immediately returns SDK READY.
2020-06-29 15:32:04.264 31936-31936/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:32:04.502 31936-32068/com.example D/AsyncTask #1/SplitFeatureManager$init: SPLIT SDK READY FROM CACHE 2020-06-29 15:32:04.644 31936-32021/com.example D/SplitSDK: Posting 6 Split impressions 2020-06-29 15:32:05.283 31936-32068/com.example E/AsyncTask #1/SplitFeatureManager$init$$inlined$apply$lambda: SPLIT SDK TIMEOUT 2020-06-29 15:32:08.320 31936-32025/com.example D/SplitSDK: My Segments have been updated 2020-06-29 15:32:08.881 31936-31936/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'fp_survey' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:32:11.138 31936-32024/com.example D/SplitSDK: Features have been updated 2020-06-29 15:32:11.204 31936-32068/com.example D/AsyncTask #1/SplitFeatureManager$init$$inlined$apply$lambda: SPLIT SDK READY
3rd run, the SDK reads from cache, but some features flags are not read properly, such as storage_logging
and mock_data
, which in the previous 2 runs were read perfectly. The SDK TIMEOUT is still present.
2020-06-29 15:35:10.082 32627-32668/com.example D/SplitSDK: Connecting to SSE server 2020-06-29 15:35:10.111 32627-32668/com.example I/SplitSDK: Peridic recording tasks scheduled 2020-06-29 15:35:10.193 32627-32668/com.example I/SplitSDK: Android SDK initialized! 2020-06-29 15:35:10.232 32627-32709/com.example D/SplitSDK: Posting 12 Split impressions 2020-06-29 15:35:10.261 32627-32730/com.example D/AsyncTask #1/SplitFeatureManager$init: SPLIT SDK READY FROM CACHE 2020-06-29 15:35:10.298 32627-32627/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'storage_logging' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:35:11.082 32627-32760/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'mock_data' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:35:11.142 32627-32760/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'mock_data' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:35:11.629 32627-32709/com.example D/SplitSDK: 12 split impressions sent 2020-06-29 15:35:11.629 32627-32709/com.example D/SplitSDK: Posting 12 Split impressions 2020-06-29 15:35:11.643 32627-32716/com.example D/SplitSDK: SSE Authentication done, now parsing token... 2020-06-29 15:35:11.667 32627-32716/com.example D/SplitSDK: Streaming enabled: true 2020-06-29 15:35:12.035 32627-305/com.example I/SplitSDK: Streaming connection opened 2020-06-29 15:35:12.036 32627-305/com.example I/SplitSDK: Sending polling disabled message through event broadcaster. 2020-06-29 15:35:12.037 32627-305/com.example D/SplitSDK: Disable polling event message received. 2020-06-29 15:35:12.037 32627-305/com.example I/SplitSDK: Polling disabled. 2020-06-29 15:35:12.039 32627-305/com.example I/SplitSDK: Disabling polling 2020-06-29 15:35:12.069 32627-305/com.example I/SplitSDK: Sending polling disabled message through event broadcaster. 2020-06-29 15:35:12.069 32627-305/com.example D/SplitSDK: Disable polling event message received. 2020-06-29 15:35:12.069 32627-305/com.example I/SplitSDK: Polling disabled. 2020-06-29 15:35:12.070 32627-305/com.example D/SplitSDK: Ignoring occupancy notification in channel: [?occupancy=metrics.publishers]control_sec 2020-06-29 15:35:12.368 32627-32730/com.example E/AsyncTask #1/SplitFeatureManager$init$$inlined$apply$lambda: SPLIT SDK TIMEOUT 2020-06-29 15:35:12.412 32627-32627/com.example D/SplitSDK: Connecting to SSE server 2020-06-29 15:35:12.472 32627-32709/com.example D/SplitSDK: My Segments have been updated 2020-06-29 15:35:12.597 32627-32716/com.example D/SplitSDK: Features have been updated 2020-06-29 15:35:12.632 32627-32730/com.example D/AsyncTask #1/SplitFeatureManager$init$$inlined$apply$lambda: SPLIT SDK READY 2020-06-29 15:35:12.754 32627-32709/com.example D/SplitSDK: SSE Authentication done, now parsing token... 2020-06-29 15:35:12.761 32627-32709/com.example D/SplitSDK: Streaming enabled: true
4th run, the SDK ready from cache, but has issues reading feature flags before and after SDK READY event. Major issue.
2020-06-29 15:38:16.250 2421-2511/com.example D/SplitSDK: Connecting to SSE server 2020-06-29 15:38:16.290 2421-2511/com.example I/SplitSDK: Peridic recording tasks scheduled 2020-06-29 15:38:16.361 2421-2511/com.example I/SplitSDK: Android SDK initialized! 2020-06-29 15:38:16.398 2421-2591/com.example D/AsyncTask #1/SplitFeatureManager$init: SPLIT SDK READY FROM CACHE 2020-06-29 15:38:16.423 2421-2578/com.example D/SplitSDK: Posting 5 Split impressions 2020-06-29 15:38:16.637 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'storage_logging' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:17.465 2421-2639/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'mock_data' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:17.487 2421-2639/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'mock_data' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:17.875 2421-2578/com.example D/SplitSDK: 5 split impressions sent 2020-06-29 15:38:17.877 2421-2578/com.example D/SplitSDK: Posting 5 Split impressions 2020-06-29 15:38:17.893 2421-2575/com.example D/SplitSDK: SSE Authentication done, now parsing token... 2020-06-29 15:38:17.956 2421-2575/com.example D/SplitSDK: Streaming enabled: true 2020-06-29 15:38:18.494 2421-2591/com.example E/AsyncTask #1/SplitFeatureManager$init$$inlined$apply$lambda: SPLIT SDK TIMEOUT 2020-06-29 15:38:18.520 2421-2654/com.example I/SplitSDK: Streaming connection opened 2020-06-29 15:38:18.520 2421-2654/com.example I/SplitSDK: Sending polling disabled message through event broadcaster. 2020-06-29 15:38:18.521 2421-2654/com.example D/SplitSDK: Disable polling event message received. 2020-06-29 15:38:18.521 2421-2654/com.example I/SplitSDK: Polling disabled. 2020-06-29 15:38:18.530 2421-2654/com.example I/SplitSDK: Disabling polling 2020-06-29 15:38:18.558 2421-2654/com.example I/SplitSDK: Sending polling disabled message through event broadcaster. 2020-06-29 15:38:18.561 2421-2654/com.example D/SplitSDK: Disable polling event message received. 2020-06-29 15:38:18.561 2421-2654/com.example I/SplitSDK: Polling disabled. 2020-06-29 15:38:18.570 2421-2654/com.example D/SplitSDK: Ignoring occupancy notification in channel: [?occupancy=metrics.publishers]control_sec 2020-06-29 15:38:19.217 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'fp_news_feed_new_design' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:19.370 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'sp_v2' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:19.378 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'food_feature_enabled' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:19.379 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'food_feature_enabled' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:19.666 2421-2580/com.example D/SplitSDK: My Segments have been updated 2020-06-29 15:38:19.699 2421-2578/com.example D/SplitSDK: My Segments have been updated 2020-06-29 15:38:19.718 2421-2575/com.example D/SplitSDK: Features have been updated 2020-06-29 15:38:19.722 2421-2591/com.example D/AsyncTask #1/SplitFeatureManager$init$$inlined$apply$lambda: SPLIT SDK READY 2020-06-29 15:38:19.841 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'sp_v2' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:19.849 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'fp_news_feed_new_design' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:19.851 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'fp_news_feed_new_design' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:20.044 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'the_north' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:20.325 2421-2579/com.example D/SplitSDK: Features have been updated 2020-06-29 15:38:20.744 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'the_north' that does not exist in this environment, please double check what Splits exist in the web console. 2020-06-29 15:38:21.070 2421-2421/com.example W/SplitSDK: getTreatmentWithConfig: split: you passed 'the_north' that does not exist in this environment, please double check what Splits exist in the web console.
Secondly, tested with poor network connection:
5th run (so the feature flags should still be in the local cache), complete chaos. Nothing works.
2020-06-29 15:41:51.229 3827-3871/com.example D/SplitSDK: Connecting to SSE server 2020-06-29 15:41:51.253 3827-3871/com.example I/SplitSDK: Peridic recording tasks scheduled 2020-06-29 15:41:51.321 3827-3871/com.example I/SplitSDK: Android SDK initialized! 2020-06-29 15:41:51.452 3827-3913/com.example D/SplitSDK: Posting 207 Split impressions 2020-06-29 15:41:51.571 3827-3827/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:41:51.959 3827-3947/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:41:51.973 3827-3947/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:41:52.383 3827-3827/com.example D/SplitSDK: Connecting to SSE server 2020-06-29 15:41:53.187 3827-3916/com.example E/SplitSDK: Error while executing splits sync task: Newtwork error while fetching splitsError while fetching data from source https://sdk.split.io/api/splitChanges: Source not reachable 2020-06-29 15:41:53.187 3827-3916/com.example E/SplitSDK: Error while executing splits sync task: Retrying... 2020-06-29 15:41:53.304 3827-3913/com.example E/SplitSDK: Impressions recorder task: Some impressions couldn't be sent.Saving to send them in a new iterationError while sending data to https://events.split.io/api/testImpressions/bulk: Source not reachable 2020-06-29 15:41:53.540 3827-3965/com.example E/AsyncTask #1/SplitFeatureManager$init$$inlined$apply$lambda: SPLIT SDK TIMEOUT 2020-06-29 15:41:53.678 3827-3827/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:41:53.753 3827-3827/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:41:53.769 3827-3827/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:41:54.694 3827-3916/com.example E/SplitSDK: Error while executing splits sync task: Newtwork error while fetching splitsError while fetching data from source https://sdk.split.io/api/splitChanges: Source not reachable 2020-06-29 15:41:54.694 3827-3916/com.example E/SplitSDK: Error while executing splits sync task: Retrying... 2020-06-29 15:41:54.776 3827-3917/com.example E/SplitSDK: Error while executing my segments sync task: Network error while retrieving my segments: Error while fetching data from source https://sdk.split.io/api/mySegments/app_split-91fee0f0-b4b7-4332-bbc1-f73f707b84f6: HttpException: Something happened while retrieving data: failed to connect to sdk.split.io/151.101.114.2 (port 443) from /10.0.2.16 (port 35422) after 3000ms 2020-06-29 15:41:54.776 3827-3917/com.example E/SplitSDK: Error while executing my segments sync task: Retrying... 2020-06-29 15:41:54.995 3827-3827/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:41:55.014 3827-3827/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:41:55.764 3827-3827/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:41:55.785 3827-3827/com.example W/SplitSDK: getTreatmentWithConfig: the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method 2020-06-29 15:41:56.205 3827-3916/com.example E/SplitSDK: Error while executing splits sync task: Newtwork error while fetching splitsError while fetching data from source https://sdk.split.io/api/splitChanges: Source not reachable 2020-06-29 15:41:56.205 3827-3916/com.example E/SplitSDK: Error while executing splits sync task: Retrying... 2020-06-29 15:41:57.781 3827-3914/com.example E/SplitSDK: Error while authenticating to SSE server: Unexpected Error while fetching data from source https://auth.split.io/api/auth: HttpException: Something happened while retrieving data: failed to connect to auth.split.io/52.2.126.135 (port 443) from /10.0.2.16 (port 37658) after 3000ms 2020-06-29 15:41:57.785 3827-3914/com.example I/SplitSDK: Enabling polling 2020-06-29 15:41:57.807 3827-3914/com.example D/SplitSDK: Disable polling event message received. 2020-06-29 15:41:57.807 3827-3914/com.example I/SplitSDK: Periodic fetcher tasks scheduled 2020-06-29 15:41:57.814 3827-3914/com.example I/SplitSDK: Polling enabled. 2020-06-29 15:41:57.931 3827-3914/com.example D/SplitSDK: Posting 231 Split impressions
Hi @bogdanzurac !
I'm really sorry to hear you're having issues, we're already taking a look at it and trying to repro. Will let you know once we have an update! In the meantime, could you reach out via support@split.io so we can start a support ticket? It might be easier in case we need to ask you for some details of your application.
Thank you for your patience, Nico.
I created support ticket #3004 for this issue.
For some users we're also seeing the following logs, being spit out every second or so:
2020-07-01 16:06:22.036 26887-27020/? E/SQLiteLog: (1) too many SQL variables
2020-07-01 16:06:22.037 26887-27020/? E/SplitSDK: An error has ocurred while running task on executor: too many SQL variables (code 1 SQLITE_ERROR): , while compiling: UPDATE impressions SET status = ? WHERE id IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,
2020-07-01 16:06:22.037 26887-27020/? E/SplitSDK: ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
Dunno if it's related or not.
Hi Bogdan, I have seen this error when there are lot of Split Factories created with different user ids, will pass this internally, could you provide the code that uses the SDK?
Thanks Bilal
io.split.client:android-client:2.6.2
Are there any updates on this front? We're using v2.6.5 and still encountering issues.
Our latest test case is:
Hi Bogdan, we will try to repro, could you provide which permissions you disable for the app? also Android version.
Thanks Bilal
Hi Bilal. It doesn't matter which permission we disable. It's a Huawei P20 Lite with Android 8.
Hi Bogdan, We are not able to reproduce the issue, tried in a Moto G 5 plus with Android 8.1 (API 27) and also in an emulator.
Could you provide the following info:
If this issue is happening in all devices
The code used using to instantiate de sdk
Any data that you think it would be useful for us to reproduce the issue
Hi Bogdan, Just want to follow up on this issue, do you still see it on your end?
Thanks Bilal
Hi. We are currently not seeing it anymore. It might caused by your backend, thus only acting up in some cases.
Hi @chillaq @NicoZelaya currently we faced similar to this issue,
Happened in my poor connection, I got HSDPA connection in my device and did same step: 1 Start the app from cold start (normally) 2 Put the app in the background -> go to settings and disable a permission which will trigger configuration change from the OS 3 Resume (maximise) the app
and I got this
Error while executing my segments sync task: Network error while retrieving my segments: Error while fetching data from source https://sdk.split.io/api/mySegments/YRIzEj9dbJoDAPgH6%2Fk9VTrt: http return code 404
I think the error coming from here https://github.com/splitio/android-client/blob/399e191881830577edd3e9442f79bce37d59d8fe/src/main/java/io/split/android/client/service/mysegments/MySegmentsSyncTask.java#L58
I can send the replication video if needed, And It happened also when we put the app in the background for 1 or 2 hours and after that resume the app again.
It's like breaking others thread, because there's no result or feedback when using getTreatmentWithConfig
or SplitEventTask
we cannot have control treatment
Is there's something wrong with the work manager when the app configuration is changed or once the app in the background for quite long period?
and why the mySegments
api returning 404? Is there any log that presenting how many error 404 happened from your BE?
Thanks
Btw we use SDK version 2.7.0
After debugging normal flow, I am afraid my previous founding leading the real issue, since it happened when the app opened normally.
After reading the code I found wrong arguments submitted once creating workmanagerwrapper for MySegments
Here is the parameter require
https://github.com/splitio/android-client/blob/0653e5a2f41944dbcdafd4c7cfd45438d6353b64/src/main/java/io/split/android/client/service/synchronizer/WorkManagerWrapper.java#L53
But at the factory method you put databaseName
as the last parameter which must be key
param
https://github.com/splitio/android-client/blob/dd9ec12a73f5956b45bfc77cea4bb14a446aa770/src/main/java/io/split/android/client/SplitFactoryHelper.java#L122
Regarding the real issue that I raised before, I also can reproduce it by making the app crash but once application try to retain the activity and refetch the config, SDK no returning any result
A fix was applied for this ticket for both issues. Closing it because it has been inactive for one year.
The SDK in its current form doesn't appear to be handling network connectivity issues properly. The issue we're facing is the following:
SDK_READY
, and returnsControl
flag, even though it actually has data loaded from cacheSDK_READY
flagWe expect that after a period of time (timeout), Split SDK would return the treatments from cache instead of still waiting for the network calls to finish.
As a possible fix, we tried to set connection timeouts for Split:
But this doesn't really have any impact, as they're not even used by Split SDK internally...
Also, when setting a timeout for the ready event:
.ready(2000)
Then the
SDK_READY_TIMED_OUT
is triggered after the timeout period, but the HTTP calls that Split SDK makes are not cancelled and are still pending and after they finish,SDK_READY
still gets triggered.So we don't really have any control over Split SDK's networking and it's a real blocker in our current implementation... We would require that
connectionTimeout
andreadTimeout
actually work internally inside Split SDK, so that Split would return the cached treatments after those specific timeouts.