Skip to content

Commit 75f636d

Browse files
committed
Removed gettrackkeys function
1 parent 4a9e545 commit 75f636d

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

client/src/main/java/io/split/client/impressions/UniqueKeysTrackerImp.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public class UniqueKeysTrackerImp implements UniqueKeysTracker{
2828
private static final double MARGIN_ERROR = 0.01;
2929
private static final int MAX_UNIQUE_KEYS_POST_SIZE = 5000;
3030
private static final int MAX_AMOUNT_OF_KEYS = 10000000;
31+
private int trackerKeysSize = 0;
3132
private FilterAdapter filterAdapter;
3233
private final TelemetrySynchronizer _telemetrySynchronizer;
3334
private final ScheduledExecutorService _uniqueKeysSyncScheduledExecutorService;
@@ -60,10 +61,11 @@ public boolean track(String featureFlagName, String key) {
6061
(feature, current) -> {
6162
HashSet<String> keysByFeature = Optional.ofNullable(current).orElse(new HashSet<>());
6263
keysByFeature.add(key);
64+
trackerKeysSize++;
6365
return keysByFeature;
6466
});
6567
_logger.debug("The feature flag " + featureFlagName + " and key " + key + " was added");
66-
if (getTrackerKeysSize() >= MAX_UNIQUE_KEYS_POST_SIZE){
68+
if (trackerKeysSize >= MAX_UNIQUE_KEYS_POST_SIZE){
6769
_logger.warn("The UniqueKeysTracker size reached the maximum limit");
6870
try {
6971
sendUniqueKeys();
@@ -108,6 +110,7 @@ public HashMap<String,HashSet<String>> popAll(){
108110
HashSet<String> value = uniqueKeysTracker.remove(key);
109111
toReturn.put(key, value);
110112
}
113+
trackerKeysSize = 0;
111114
return toReturn;
112115
}
113116

@@ -188,6 +191,7 @@ private int getTrackerKeysSize() {
188191
private interface ExecuteUniqueKeysAction{
189192
void execute();
190193
}
194+
191195
private class ExecuteCleanFilter implements ExecuteUniqueKeysAction {
192196

193197
@Override

client/src/test/java/io/split/client/impressions/UniqueKeysTrackerImpTest.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import org.junit.Assert;
77
import org.junit.Test;
88
import org.mockito.Mockito;
9+
10+
import java.lang.reflect.Field;
911
import java.lang.reflect.InvocationTargetException;
1012
import java.lang.reflect.Method;
1113
import java.util.HashMap;
@@ -158,17 +160,18 @@ public void testUniqueKeysChunks() throws NoSuchMethodException, InvocationTarge
158160
}
159161

160162
@Test
161-
public void testTrackReachMaxKeys() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
163+
public void testTrackReachMaxKeys() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, NoSuchFieldException {
162164
TelemetrySynchronizer telemetrySynchronizer = Mockito.mock(TelemetryInMemorySubmitter.class);
163165
UniqueKeysTrackerImp uniqueKeysTrackerImp = new UniqueKeysTrackerImp(telemetrySynchronizer, 10000, 10000, null);
164166
for (int i=1; i<6000; i++) {
165167
Assert.assertTrue(uniqueKeysTrackerImp.track("feature1", "key" + i));
166168
Assert.assertTrue(uniqueKeysTrackerImp.track("feature2", "key" + i));
167169
}
168170
Mockito.verify(telemetrySynchronizer, Mockito.times(2)).synchronizeUniqueKeys(Mockito.anyObject());
169-
Method methodGetTrackerSize = uniqueKeysTrackerImp.getClass().getDeclaredMethod("getTrackerKeysSize");
170-
methodGetTrackerSize.setAccessible(true);
171-
int trackerSize = (int) methodGetTrackerSize.invoke(uniqueKeysTrackerImp);
171+
172+
Field getTrackerSize = uniqueKeysTrackerImp.getClass().getDeclaredField("trackerKeysSize");
173+
getTrackerSize.setAccessible(true);
174+
int trackerSize = (int) getTrackerSize.get(uniqueKeysTrackerImp);
172175
Assert.assertTrue(trackerSize == 1998);
173176
}
174177
}

0 commit comments

Comments
 (0)