Search in sources :

Example 26 with StateMap

use of io.prestosql.spi.statestore.StateMap in project hetu-core by openlookeng.

the class TestHazelcastStateStoreFactory method testTcpipCreateWithStaticSeeds.

/**
 * Test state store creation with tcp-ip with static seeds configured
 */
@Test
public void testTcpipCreateWithStaticSeeds() {
    HazelcastStateStoreFactory factory = new HazelcastStateStoreFactory();
    assertEquals(factory.getName(), HAZELCAST);
    SeedStoreFactory seedStoreFactory = new FileBasedSeedStoreFactory();
    assertEquals(seedStoreFactory.getName(), "filebased");
    // bootstrap state store with static seeds
    Map<String, String> config = new HashMap<>(0);
    config.put(DISCOVERY_MODE_CONFIG_NAME, DISCOVERY_MODE_TCPIP);
    config.put(STATE_STORE_CLUSTER_CONFIG_NAME, "static-seed-cluster");
    config.put(DISCOVERY_PORT_CONFIG_NAME, PORT2);
    config.put(DISCOVERY_TCPIP_SEEDS, MEMBER_ADDRESS2);
    StateStoreBootstrapper bootstrapper = new HazelcastStateStoreBootstrapper();
    bootstrapper.bootstrap(ImmutableSet.of(MEMBER_ADDRESS2), config);
    // create state store client
    String stateStoreName = "static-seed-state-store";
    StateStore stateStore = factory.create(stateStoreName, null, config);
    assertEquals(stateStore.getName(), stateStoreName);
    StateCollection collection = stateStore.createStateCollection("test", StateCollection.Type.MAP);
    ((StateMap<String, String>) collection).put(TEST_KEY, TEST_VALUE);
    assertEquals(collection.size(), 1);
    assertEquals(((StateMap<String, String>) collection).get(TEST_KEY), TEST_VALUE);
    ((HazelcastStateStore) stateStore).shutdown();
}
Also used : HashMap(java.util.HashMap) StateCollection(io.prestosql.spi.statestore.StateCollection) StateMap(io.prestosql.spi.statestore.StateMap) StateStore(io.prestosql.spi.statestore.StateStore) SeedStoreFactory(io.prestosql.spi.seedstore.SeedStoreFactory) FileBasedSeedStoreFactory(io.hetu.core.seedstore.filebased.FileBasedSeedStoreFactory) FileBasedSeedStoreFactory(io.hetu.core.seedstore.filebased.FileBasedSeedStoreFactory) StateStoreBootstrapper(io.prestosql.spi.statestore.StateStoreBootstrapper) Test(org.testng.annotations.Test)

Example 27 with StateMap

use of io.prestosql.spi.statestore.StateMap in project hetu-core by openlookeng.

the class PagePublisherQueryManager method saveDynamicFilter.

public synchronized void saveDynamicFilter(String globalQueryId, Map<String, byte[]> bloomFilters) {
    PagePublisherQueryRunner queryRunner = this.queryRunners.get(globalQueryId);
    StateStore stateStore = this.stateStoreProvider.getStateStore();
    if (queryRunner != null && stateStore != null) {
        if (this.stateStoreProvider.getStateStore() == null) {
            return;
        }
        String collectionName = queryRunner.getQueryId().getId() + CROSS_REGION_DYNAMIC_FILTER_COLLECTION;
        synchronized (queryRunner) {
            if (queryRunner.isDone() || queryRunner.isExpired()) {
                return;
            }
            StateMap map = (StateMap<String, Map<String, byte[]>>) stateStore.getOrCreateStateCollection(CROSS_REGION_DYNAMIC_FILTERS, StateCollection.Type.MAP);
            map.put(collectionName, bloomFilters);
        }
    }
}
Also used : StateMap(io.prestosql.spi.statestore.StateMap) StateStore(io.prestosql.spi.statestore.StateStore)

Aggregations

StateMap (io.prestosql.spi.statestore.StateMap)27 StateStore (io.prestosql.spi.statestore.StateStore)16 HashMap (java.util.HashMap)11 Map (java.util.Map)10 StateCollection (io.prestosql.spi.statestore.StateCollection)8 Test (org.testng.annotations.Test)8 ImmutableSet (com.google.common.collect.ImmutableSet)5 Symbol (io.prestosql.spi.plan.Symbol)5 IOException (java.io.IOException)5 ImmutableMap (com.google.common.collect.ImmutableMap)4 HashSet (java.util.HashSet)4 Set (java.util.Set)4 PrestoException (io.prestosql.spi.PrestoException)3 DynamicFilter (io.prestosql.spi.dynamicfilter.DynamicFilter)3 StateSet (io.prestosql.spi.statestore.StateSet)3 SimpleDateFormat (java.text.SimpleDateFormat)3 Date (java.util.Date)3 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)3 TimeUnit (java.util.concurrent.TimeUnit)3 Collectors (java.util.stream.Collectors)3