Skip to content

Commit 8d102b0

Browse files
(fix)UPS: don't trim unless over 100 experiments in user's UPS (#248)
* don't trim user profile service unless it has gotten to over 100 experiments. (#244) * update changelog * fix changelog
1 parent 71f4895 commit 8d102b0

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Optimizely Android X SDK Changelog
22

3+
## 2.1.4
4+
Feburary 8th, 2019
5+
6+
This is a patch release.
7+
8+
### Bug Fixes
9+
* Fix for User Profile Service. Don't trim the user profile service unless there are over 100 experiments in a users UPS. This will be configurable in the future.
10+
311
## 2.1.3
412
December 6th, 2018
513

user-profile/src/main/java/com/optimizely/ab/android/user_profile/UserProfileCache.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,14 @@ public void removeInvalidExperiments(Set<String> validExperimentIds) {
185185
Map<String, Object> maps = memoryCache.get(userId);
186186
Map<String, Map<String, String>> experimentBucketMap =
187187
(ConcurrentHashMap<String, Map<String, String>>) maps.get(experimentBucketMapKey);
188-
for (String experimentId : experimentBucketMap.keySet()){
189-
if (!validExperimentIds.contains(experimentId)) {
190-
experimentBucketMap.remove(experimentId);
188+
if (experimentBucketMap != null && experimentBucketMap.keySet().size() > 100) {
189+
for (String experimentId : experimentBucketMap.keySet()) {
190+
if (!validExperimentIds.contains(experimentId)) {
191+
experimentBucketMap.remove(experimentId);
192+
}
191193
}
192194
}
195+
193196
}
194197
diskCache.save(memoryCache);
195198
}

0 commit comments

Comments
 (0)