Comments (21)
I created support ticket #3004 for this issue.
from android-client.
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 [email protected] 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.
from android-client.
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?
from android-client.
CC @chillaq
from android-client.
Hi Guys, our ETA is within 2 weeks, will let you know once it is released.
Thanks
Bilal
from android-client.
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.
from android-client.
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!
from android-client.
Glad to hear! thank you very much for reporting back!
from android-client.
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
from android-client.
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.
from android-client.
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
from android-client.
io.split.client:android-client:2.6.2
from android-client.
Are there any updates on this front? We're using v2.6.5 and still encountering issues.
Our latest test case is:
- Start the app normally, SDK READY FROM CACHE event is triggered and we get the correct treatments.
- Put the app in the background, go to settings and disable a permission which was previously granted.
- Resume the app (it will actually restart itself since the OS detected a permission change and needs to reload the process).
- The SDK READY FROM CACHE events gets triggered again.
- Treatments are now not working.
from android-client.
Hi Bogdan, we will try to repro, could you provide which permissions you disable for the app? also Android version.
Thanks
Bilal
from android-client.
Hi Bilal. It doesn't matter which permission we disable. It's a Huawei P20 Lite with Android 8.
from android-client.
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
from android-client.
Hi Bogdan, Just want to follow up on this issue, do you still see it on your end?
Thanks
Bilal
from android-client.
Hi. We are currently not seeing it anymore. It might caused by your backend, thus only acting up in some cases.
from android-client.
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
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
from android-client.
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
But at the factory method you put
databaseName
as the last parameter which must be key
paramRegarding 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
from android-client.
A fix was applied for this ticket for both issues. Closing it because it has been inactive for one year.
from android-client.
Related Issues (20)
- Crashes in SplitUpdatesWorker and MySegmentsUpdateWorker HOT 11
- Proguard issue HOT 3
- Fatal Exception: java.lang.NullPointerException SqLitePersistentMySegmentsStorage HOT 4
- name: android.database.sqlite.SQLiteFullException database or disk is full (code 13) HOT 3
- [QUESTION] Best practices for re-initializing Split after shutdown() HOT 6
- Crash CursorWindow.java - Could not allocate CursorWindow HOT 7
- Very slow startup, split consuming 100% CPU HOT 9
- SdkTargetPath.mySegments does not URL encode the Key String HOT 2
- Android Custom Widgets and Keyboard not getting updated Split Partitions Value when Apps is in Background HOT 8
- Creating a Split client on app targeting Android S (API 31) causes crash on Android S devices HOT 9
- App crash on launch after upgrading from 2.7.2 to 2.7.3 HOT 3
- IllegalArgumentException on SDK 31+ devices emulators HOT 3
- A listener was added for SDK_READY on the SDK, which has already fired and won’t be emitted again. The callback won’t be executed. HOT 4
- A listener was added for SDK_READY on the SDK, which has already fired and won’t be emitted again. The callback won’t be executed.
- Any issue not calling `client.destroy() ` before app shut down? HOT 2
- [v2.13.0] NPE on SplitEventTask.onPostExecution HOT 5
- [v2.13.1] Splits with custom targeting rules always return `control` HOT 3
- okhttp3 outdated version HOT 3
- Callbacks are not executing on client.on(SplitEvent.SDK_READY) HOT 4
- (Network) Instrumentation/Telemetry on top of OkHttp HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android-client.