Search in sources :

Example 6 with Insert

use of io.pravega.client.tables.Insert in project pravega by pravega.

the class KeyValueTableTestBase method testIterators.

@Test
public void testIterators() {
    @Cleanup val kvt = createKeyValueTable();
    val iteration = new AtomicInteger(0);
    // Populate everything.
    val versions = new Versions();
    forEveryPrimaryKey((pk, secondaryKeys) -> {
        List<TableModification> inserts = secondaryKeys.stream().map(sk -> new Insert(new TableKey(pk, sk), getValue(pk, sk, iteration.get()))).collect(Collectors.toList());
        val keyVersions = kvt.update(inserts).join();
        for (int i = 0; i < inserts.size(); i++) {
            versions.add(getUniqueKeyId(pk, inserts.get(i).getKey().getSecondaryKey()), keyVersions.get(i));
        }
    });
    // Check the Primary Key iterator.
    checkPrimaryKeyIterator(kvt, versions, iteration.get());
    // Check the Global iterators.
    checkGlobalIterator(kvt, versions, iteration.get());
}
Also used : lombok.val(lombok.val) Insert(io.pravega.client.tables.Insert) IntStream(java.util.stream.IntStream) Put(io.pravega.client.tables.Put) Getter(lombok.Getter) AssertExtensions(io.pravega.test.common.AssertExtensions) Cleanup(lombok.Cleanup) HashMap(java.util.HashMap) Random(java.util.Random) KeyValueTableConfiguration(io.pravega.client.tables.KeyValueTableConfiguration) BitConverter(io.pravega.common.util.BitConverter) Function(java.util.function.Function) ByteBuffer(java.nio.ByteBuffer) ArrayList(java.util.ArrayList) AccessLevel(lombok.AccessLevel) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) KeyValueTableInfo(io.pravega.client.admin.KeyValueTableInfo) Duration(java.time.Duration) Map(java.util.Map) BiConsumer(java.util.function.BiConsumer) Timeout(org.junit.rules.Timeout) Nullable(javax.annotation.Nullable) Before(org.junit.Before) Serializer(io.pravega.client.stream.Serializer) LeakDetectorTestSuite(io.pravega.test.common.LeakDetectorTestSuite) TableEntry(io.pravega.client.tables.TableEntry) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) lombok.val(lombok.val) Test(org.junit.Test) Collectors(java.util.stream.Collectors) Version(io.pravega.client.tables.Version) TimeUnit(java.util.concurrent.TimeUnit) TableModification(io.pravega.client.tables.TableModification) List(java.util.List) Rule(org.junit.Rule) KeyValueTable(io.pravega.client.tables.KeyValueTable) TableKey(io.pravega.client.tables.TableKey) Assert(org.junit.Assert) BadKeyVersionException(io.pravega.client.tables.BadKeyVersionException) Remove(io.pravega.client.tables.Remove) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) TableModification(io.pravega.client.tables.TableModification) TableKey(io.pravega.client.tables.TableKey) Insert(io.pravega.client.tables.Insert) Cleanup(lombok.Cleanup) Test(org.junit.Test)

Aggregations

Insert (io.pravega.client.tables.Insert)6 TableKey (io.pravega.client.tables.TableKey)6 Cleanup (lombok.Cleanup)6 lombok.val (lombok.val)6 Test (org.junit.Test)6 BadKeyVersionException (io.pravega.client.tables.BadKeyVersionException)5 Put (io.pravega.client.tables.Put)5 Remove (io.pravega.client.tables.Remove)5 Version (io.pravega.client.tables.Version)5 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)5 Random (java.util.Random)4 KeyValueTableInfo (io.pravega.client.admin.KeyValueTableInfo)3 Serializer (io.pravega.client.stream.Serializer)3 KeyValueTable (io.pravega.client.tables.KeyValueTable)3 KeyValueTableConfiguration (io.pravega.client.tables.KeyValueTableConfiguration)3 TableEntry (io.pravega.client.tables.TableEntry)3 TableModification (io.pravega.client.tables.TableModification)3 BitConverter (io.pravega.common.util.BitConverter)3 AssertExtensions (io.pravega.test.common.AssertExtensions)3 LeakDetectorTestSuite (io.pravega.test.common.LeakDetectorTestSuite)3