Skip to content

Commit

Permalink
add logging with a reason why the cache is cleared (filter and field)
Browse files Browse the repository at this point in the history
  • Loading branch information
kimchy committed May 1, 2012
1 parent 6393f0b commit 8944456
Show file tree
Hide file tree
Showing 9 changed files with 23 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -122,15 +122,15 @@ protected ShardClearIndicesCacheResponse shardOperation(ShardClearIndicesCacheRe
boolean clearedAtLeastOne = false;
if (request.filterCache()) {
clearedAtLeastOne = true;
service.cache().filter().clear();
service.cache().filter().clear("api");
}
if (request.fieldDataCache()) {
clearedAtLeastOne = true;
if (request.fields() == null || request.fields().length == 0) {
service.cache().fieldData().clear();
service.cache().fieldData().clear("api");
} else {
for (String field : request.fields()) {
service.cache().fieldData().clear(field);
service.cache().fieldData().clear("api", field);
}
}
}
Expand All @@ -146,10 +146,10 @@ protected ShardClearIndicesCacheResponse shardOperation(ShardClearIndicesCacheRe
if (request.fields() != null && request.fields().length > 0) {
// only clear caches relating to the specified fields
for (String field : request.fields()) {
service.cache().fieldData().clear(field);
service.cache().fieldData().clear("api", field);
}
} else {
service.cache().clear();
service.cache().clear("api");
}
}
service.cache().invalidateCache();
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/org/elasticsearch/index/cache/IndexCache.java
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,9 @@ public void clear(IndexReader reader) {
bloomCache.clear(reader);
}

public void clear() {
filterCache.clear();
fieldDataCache.clear();
public void clear(String reason) {
filterCache.clear(reason);
fieldDataCache.clear(reason);
idCache.clear();
queryParserCache.clear();
bloomCache.clear();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ public interface FieldDataCache extends IndexComponent, CloseableComponent {

String type();

void clear(String fieldName);
void clear(String reason, String fieldName);

void clear();
void clear(String reason);

void clear(IndexReader reader);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,12 @@ public String type() {
}

@Override
public void clear(String fieldName) {
public void clear(String reason, String fieldName) {

}

@Override
public void clear() {
public void clear(String reason) {
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ public void onRefreshSettings(Settings settings) {
ResidentFieldDataCache.this.expire = expire;
}
if (changed) {
clear();
clear("update_settings");
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,18 +53,20 @@ protected AbstractConcurrentMapFieldDataCache(Index index, @IndexSettings Settin

@Override
public void close() throws ElasticSearchException {
clear();
clear("close");
}

@Override
public void clear(String fieldName) {
public void clear(String reason, String fieldName) {
logger.debug("clearing field [{}] cache, reason [{}]", fieldName, reason);
for (Map.Entry<Object, Cache<String, FieldData>> entry : cache.entrySet()) {
entry.getValue().invalidate(fieldName);
}
}

@Override
public void clear() {
public void clear(String reason) {
logger.debug("full cache clear, reason [{}]", reason);
cache.clear();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public EntriesStats(long sizeInBytes, long count) {

void clear(IndexReader reader);

void clear();
void clear(String reason);

EntriesStats entriesStats();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public boolean isCached(Filter filter) {
}

@Override
public void clear() {
public void clear(String reason) {
// nothing to do here
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,13 @@ public String type() {

@Override
public void close() throws ElasticSearchException {
clear();
clear("close");
indicesFilterCache.removeRemovalListener(index.name());
}

@Override
public void clear() {
public void clear(String reason) {
logger.debug("full cache clear, reason [{}]", reason);
for (Object readerKey : seenReaders.keySet()) {
Boolean removed = seenReaders.remove(readerKey);
if (removed == null) {
Expand Down

0 comments on commit 8944456

Please sign in to comment.