parent
7f0134e725
commit
e366a45203
|
@ -136,7 +136,7 @@ public final class IndexingSlowLog implements IndexingOperationListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void postIndex(Engine.Index index) {
|
public void postIndex(Engine.Index index, boolean created) {
|
||||||
final long took = index.endTime() - index.startTime();
|
final long took = index.endTime() - index.startTime();
|
||||||
postIndexing(index.parsedDoc(), took);
|
postIndexing(index.parsedDoc(), took);
|
||||||
}
|
}
|
||||||
|
|
|
@ -468,7 +468,7 @@ public class IndexShard extends AbstractIndexShardComponent {
|
||||||
throw ex;
|
throw ex;
|
||||||
}
|
}
|
||||||
|
|
||||||
indexingOperationListeners.postIndex(index);
|
indexingOperationListeners.postIndex(index, created);
|
||||||
|
|
||||||
return created;
|
return created;
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ public interface IndexingOperationListener {
|
||||||
/**
|
/**
|
||||||
* Called after the indexing operation occurred.
|
* Called after the indexing operation occurred.
|
||||||
*/
|
*/
|
||||||
default void postIndex(Engine.Index index) {}
|
default void postIndex(Engine.Index index, boolean created) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called after the indexing operation occurred with exception.
|
* Called after the indexing operation occurred with exception.
|
||||||
|
@ -89,11 +89,11 @@ public interface IndexingOperationListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postIndex(Engine.Index index) {
|
public void postIndex(Engine.Index index, boolean created) {
|
||||||
assert index != null;
|
assert index != null;
|
||||||
for (IndexingOperationListener listener : listeners) {
|
for (IndexingOperationListener listener : listeners) {
|
||||||
try {
|
try {
|
||||||
listener.postIndex(index);
|
listener.postIndex(index, created);
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
logger.warn("postIndex listener [{}] failed", t, listener);
|
logger.warn("postIndex listener [{}] failed", t, listener);
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,7 @@ final class InternalIndexingStats implements IndexingOperationListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postIndex(Engine.Index index) {
|
public void postIndex(Engine.Index index, boolean created) {
|
||||||
long took = index.endTime() - index.startTime();
|
long took = index.endTime() - index.startTime();
|
||||||
totalStats.indexMetric.inc(took);
|
totalStats.indexMetric.inc(took);
|
||||||
totalStats.indexCurrent.dec();
|
totalStats.indexCurrent.dec();
|
||||||
|
|
|
@ -210,13 +210,13 @@ public class IndexingMemoryController extends AbstractComponent implements Index
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postIndex(Engine.Index index) {
|
public void postIndex(Engine.Index index, boolean created) {
|
||||||
bytesWritten(index.getTranslogLocation().size);
|
bytesWritten(index.getTranslogLocation().size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postDelete(Engine.Delete delete) {
|
public void postDelete(Engine.Delete delete) {
|
||||||
bytesWritten(delete.getTranslogLocation().size);
|
bytesWritten(delete.getTranslogLocation().size);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final class ShardAndBytesUsed implements Comparable<ShardAndBytesUsed> {
|
private static final class ShardAndBytesUsed implements Comparable<ShardAndBytesUsed> {
|
||||||
|
|
|
@ -576,7 +576,8 @@ public class IndexShardTests extends ESSingleNodeTestCase {
|
||||||
IndexService test = indicesService.indexService(resolveIndex("test_iol"));
|
IndexService test = indicesService.indexService(resolveIndex("test_iol"));
|
||||||
IndexShard shard = test.getShardOrNull(0);
|
IndexShard shard = test.getShardOrNull(0);
|
||||||
AtomicInteger preIndex = new AtomicInteger();
|
AtomicInteger preIndex = new AtomicInteger();
|
||||||
AtomicInteger postIndex = new AtomicInteger();
|
AtomicInteger postIndexCreate = new AtomicInteger();
|
||||||
|
AtomicInteger postIndexUpdate = new AtomicInteger();
|
||||||
AtomicInteger postIndexException = new AtomicInteger();
|
AtomicInteger postIndexException = new AtomicInteger();
|
||||||
AtomicInteger preDelete = new AtomicInteger();
|
AtomicInteger preDelete = new AtomicInteger();
|
||||||
AtomicInteger postDelete = new AtomicInteger();
|
AtomicInteger postDelete = new AtomicInteger();
|
||||||
|
@ -589,8 +590,12 @@ public class IndexShardTests extends ESSingleNodeTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postIndex(Engine.Index index) {
|
public void postIndex(Engine.Index index, boolean created) {
|
||||||
postIndex.incrementAndGet();
|
if(created) {
|
||||||
|
postIndexCreate.incrementAndGet();
|
||||||
|
} else {
|
||||||
|
postIndexUpdate.incrementAndGet();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -620,7 +625,17 @@ public class IndexShardTests extends ESSingleNodeTestCase {
|
||||||
Engine.Index index = new Engine.Index(new Term("_uid", "1"), doc);
|
Engine.Index index = new Engine.Index(new Term("_uid", "1"), doc);
|
||||||
shard.index(index);
|
shard.index(index);
|
||||||
assertEquals(1, preIndex.get());
|
assertEquals(1, preIndex.get());
|
||||||
assertEquals(1, postIndex.get());
|
assertEquals(1, postIndexCreate.get());
|
||||||
|
assertEquals(0, postIndexUpdate.get());
|
||||||
|
assertEquals(0, postIndexException.get());
|
||||||
|
assertEquals(0, preDelete.get());
|
||||||
|
assertEquals(0, postDelete.get());
|
||||||
|
assertEquals(0, postDeleteException.get());
|
||||||
|
|
||||||
|
shard.index(index);
|
||||||
|
assertEquals(1, preIndex.get());
|
||||||
|
assertEquals(1, postIndexCreate.get());
|
||||||
|
assertEquals(1, postIndexUpdate.get());
|
||||||
assertEquals(0, postIndexException.get());
|
assertEquals(0, postIndexException.get());
|
||||||
assertEquals(0, preDelete.get());
|
assertEquals(0, preDelete.get());
|
||||||
assertEquals(0, postDelete.get());
|
assertEquals(0, postDelete.get());
|
||||||
|
@ -629,8 +644,9 @@ public class IndexShardTests extends ESSingleNodeTestCase {
|
||||||
Engine.Delete delete = new Engine.Delete("test", "1", new Term("_uid", "1"));
|
Engine.Delete delete = new Engine.Delete("test", "1", new Term("_uid", "1"));
|
||||||
shard.delete(delete);
|
shard.delete(delete);
|
||||||
|
|
||||||
assertEquals(1, preIndex.get());
|
assertEquals(2, preIndex.get());
|
||||||
assertEquals(1, postIndex.get());
|
assertEquals(1, postIndexCreate.get());
|
||||||
|
assertEquals(1, postIndexUpdate.get());
|
||||||
assertEquals(0, postIndexException.get());
|
assertEquals(0, postIndexException.get());
|
||||||
assertEquals(1, preDelete.get());
|
assertEquals(1, preDelete.get());
|
||||||
assertEquals(1, postDelete.get());
|
assertEquals(1, postDelete.get());
|
||||||
|
@ -646,8 +662,9 @@ public class IndexShardTests extends ESSingleNodeTestCase {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
assertEquals(2, preIndex.get());
|
assertEquals(3, preIndex.get());
|
||||||
assertEquals(1, postIndex.get());
|
assertEquals(1, postIndexCreate.get());
|
||||||
|
assertEquals(1, postIndexUpdate.get());
|
||||||
assertEquals(1, postIndexException.get());
|
assertEquals(1, postIndexException.get());
|
||||||
assertEquals(1, preDelete.get());
|
assertEquals(1, preDelete.get());
|
||||||
assertEquals(1, postDelete.get());
|
assertEquals(1, postDelete.get());
|
||||||
|
@ -659,8 +676,9 @@ public class IndexShardTests extends ESSingleNodeTestCase {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
assertEquals(2, preIndex.get());
|
assertEquals(3, preIndex.get());
|
||||||
assertEquals(1, postIndex.get());
|
assertEquals(1, postIndexCreate.get());
|
||||||
|
assertEquals(1, postIndexUpdate.get());
|
||||||
assertEquals(1, postIndexException.get());
|
assertEquals(1, postIndexException.get());
|
||||||
assertEquals(2, preDelete.get());
|
assertEquals(2, preDelete.get());
|
||||||
assertEquals(1, postDelete.get());
|
assertEquals(1, postDelete.get());
|
||||||
|
|
|
@ -46,7 +46,7 @@ public class IndexingOperationListenerTests extends ESTestCase{
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postIndex(Engine.Index index) {
|
public void postIndex(Engine.Index index, boolean created) {
|
||||||
postIndex.incrementAndGet();
|
postIndex.incrementAndGet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ public class IndexingOperationListenerTests extends ESTestCase{
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postIndex(Engine.Index index) {
|
public void postIndex(Engine.Index index, boolean created) {
|
||||||
throw new RuntimeException(); }
|
throw new RuntimeException(); }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -135,7 +135,7 @@ public class IndexingOperationListenerTests extends ESTestCase{
|
||||||
assertEquals(2, postDelete.get());
|
assertEquals(2, postDelete.get());
|
||||||
assertEquals(2, postDeleteException.get());
|
assertEquals(2, postDeleteException.get());
|
||||||
|
|
||||||
compositeListener.postIndex(index);
|
compositeListener.postIndex(index, false);
|
||||||
assertEquals(0, preIndex.get());
|
assertEquals(0, preIndex.get());
|
||||||
assertEquals(2, postIndex.get());
|
assertEquals(2, postIndex.get());
|
||||||
assertEquals(0, postIndexException.get());
|
assertEquals(0, postIndexException.get());
|
||||||
|
|
Loading…
Reference in New Issue