Skip to content

Commit dee38b1

Browse files
don't trim user profile service unless it has gotten to over 100 experiments. (#244)
1 parent b3fdf1d commit dee38b1

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

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)