Search in sources :

Example 6 with ValueIndexReader

use of org.neo4j.kernel.api.index.ValueIndexReader in project neo4j by neo4j.

the class DeferredConflictCheckingIndexUpdaterTest method shouldThrowOnIndexEntryConflict.

@Test
void shouldThrowOnIndexEntryConflict() throws Exception {
    // given
    IndexUpdater actual = mock(IndexUpdater.class);
    ValueIndexReader reader = mock(ValueIndexReader.class);
    doAnswer(new NodeIdsIndexReaderQueryAnswer(descriptor, 101, 202)).when(reader).query(any(), any(), any(), any());
    DeferredConflictCheckingIndexUpdater updater = new DeferredConflictCheckingIndexUpdater(actual, () -> reader, descriptor, NULL);
    // when
    updater.process(add(0, descriptor, tuple(10, 11)));
    var e = assertThrows(IndexEntryConflictException.class, updater::close);
    assertThat(e.getMessage()).contains("101");
    assertThat(e.getMessage()).contains("202");
}
Also used : IndexUpdater(org.neo4j.kernel.api.index.IndexUpdater) ValueIndexReader(org.neo4j.kernel.api.index.ValueIndexReader) Test(org.junit.jupiter.api.Test)

Example 7 with ValueIndexReader

use of org.neo4j.kernel.api.index.ValueIndexReader in project neo4j by neo4j.

the class LuceneIndexProvider method getMinimalIndexAccessor.

@Override
public MinimalIndexAccessor getMinimalIndexAccessor(IndexDescriptor descriptor) {
    PartitionedIndexStorage indexStorage = indexStorageFactory.indexStorageOf(descriptor.getId());
    DroppableIndex<ValueIndexReader> index = new DroppableIndex<>(new DroppableLuceneIndex<>(indexStorage, new ReadOnlyIndexPartitionFactory(), descriptor));
    return new LuceneMinimalIndexAccessor<>(descriptor, index, true);
}
Also used : LuceneMinimalIndexAccessor(org.neo4j.kernel.api.impl.index.LuceneMinimalIndexAccessor) DroppableIndex(org.neo4j.kernel.api.impl.index.DroppableIndex) PartitionedIndexStorage(org.neo4j.kernel.api.impl.index.storage.PartitionedIndexStorage) ValueIndexReader(org.neo4j.kernel.api.index.ValueIndexReader) ReadOnlyIndexPartitionFactory(org.neo4j.kernel.api.impl.index.partition.ReadOnlyIndexPartitionFactory)

Aggregations

ValueIndexReader (org.neo4j.kernel.api.index.ValueIndexReader)7 Test (org.junit.jupiter.api.Test)5 IndexUpdater (org.neo4j.kernel.api.index.IndexUpdater)4 IndexDescriptor (org.neo4j.internal.schema.IndexDescriptor)3 ArrayList (java.util.ArrayList)2 BeforeEach (org.junit.jupiter.api.BeforeEach)2 PropertyIndexQuery (org.neo4j.internal.kernel.api.PropertyIndexQuery)2 CursorContext (org.neo4j.io.pagecache.context.CursorContext)2 IndexSample (org.neo4j.kernel.api.index.IndexSample)2 IndexSampler (org.neo4j.kernel.api.index.IndexSampler)2 ValueIndexEntryUpdate (org.neo4j.storageengine.api.ValueIndexEntryUpdate)2 Value (org.neo4j.values.storable.Value)2 String.format (java.lang.String.format)1 Arrays (java.util.Arrays)1 Collection (java.util.Collection)1 Collections (java.util.Collections)1 HashSet (java.util.HashSet)1 Iterator (java.util.Iterator)1 List (java.util.List)1 Set (java.util.Set)1