Skip to content

removeQueries -> removeTargets #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Sep 17, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ interface LruDelegate {
*
* @return the number of targets removed.
*/
int removeQueries(long upperBound, Set<Integer> activeTargetIds);
int removeTargets(long upperBound, Set<Integer> activeTargetIds);

/**
* Removes all unreferenced documents from the cache that have a sequence number less than or
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ long nthSequenceNumber(int count) {
* Removes targets with a sequence number equal to or less than the given upper bound, and removes
* document associations with those targets.
*/
int removeQueries(long upperBound, Set<Integer> liveQueries) {
return delegate.removeQueries(upperBound, liveQueries);
int removeTargets(long upperBound, Set<Integer> activeTargetIds) {
return delegate.removeTargets(upperBound, activeTargetIds);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ public void setAdditionalReferences(ReferenceSet additionalReferences) {
}

@Override
public int removeQueries(long upperBound, Set<Integer> activeTargetIds) {
public int removeTargets(long upperBound, Set<Integer> activeTargetIds) {
return persistence.getQueryCache().removeQueries(upperBound, activeTargetIds);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ public void removeReference(DocumentKey key) {
}

@Override
public int removeQueries(long upperBound, Set<Integer> activeTargetIds) {
public int removeTargets(long upperBound, Set<Integer> activeTargetIds) {
return persistence.getQueryCache().removeQueries(upperBound, activeTargetIds);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,9 @@ private void removeDocumentFromTarget(DocumentKey key, int targetId) {
queryCache.removeMatchingKeys(keySet(key), targetId);
}

private int removeQueries(long upperBound, Set<Integer> liveQueries) {
private int removeTargets(long upperBound, Set<Integer> activeTargetIds) {
return persistence.runTransaction(
"Remove queries", () -> garbageCollector.removeQueries(upperBound, liveQueries));
"Remove queries", () -> garbageCollector.removeTargets(upperBound, activeTargetIds));
}

private SetMutation mutation(DocumentKey key) {
Expand Down Expand Up @@ -283,19 +283,19 @@ public void testSequenceNumbersWithMutationsInQueries() {

@Test
public void testRemoveQueriesUpThroughSequenceNumber() {
Map<Integer, QueryData> liveQueries = new HashMap<>();
Map<Integer, QueryData> activeTargetIds = new HashMap<>();
for (int i = 0; i < 100; i++) {
QueryData queryData = addNextQuery();
// Mark odd queries as live so we can test filtering out live queries.
int targetId = queryData.getTargetId();
if (targetId % 2 == 1) {
liveQueries.put(targetId, queryData);
activeTargetIds.put(targetId, queryData);
}
}
// GC up through 20th query, which is 20%.
// Expect to have GC'd 10 targets, since every other target is live
long upperBound = 20 + initialSequenceNumber;
int removed = removeQueries(upperBound, liveQueries.keySet());
int removed = removeTargets(upperBound, activeTargetIds.keySet());
assertEquals(10, removed);
// Make sure we removed the even targets with targetID <= 20.
persistence.runTransaction(
Expand Down Expand Up @@ -566,11 +566,11 @@ public void testRemoveTargetsThenGC() {
});

// Finally, do the garbage collection, up to but not including the removal of middleTarget
Set<Integer> liveQueries = new HashSet<>();
liveQueries.add(oldestTarget.getTargetId());
int queriesRemoved = garbageCollector.removeQueries(upperBound, liveQueries);
Set<Integer> activeTargetIds = new HashSet<>();
activeTargetIds.add(oldestTarget.getTargetId());
int targetsRemoved = garbageCollector.removeTargets(upperBound, activeTargetIds);
// Expect to remove newest target
assertEquals(1, queriesRemoved);
assertEquals(1, targetsRemoved);
int docsRemoved = garbageCollector.removeOrphanedDocuments(upperBound);
assertEquals(expectedRemoved.size(), docsRemoved);
persistence.runTransaction(
Expand Down