Search in sources :

Example 6 with CustId

use of org.apache.geode.internal.cache.execute.data.CustId in project geode by apache.

the class RemoteCQTransactionDUnitTest method testTXWithCQCommitInAccessorConnectedToAccessorCQ.

@Test
public void testTXWithCQCommitInAccessorConnectedToAccessorCQ() throws Exception {
    Host host = Host.getHost(0);
    VM accessor = host.getVM(0);
    VM datastore = host.getVM(1);
    VM client = host.getVM(2);
    initAccessorAndDataStore(accessor, datastore, 0);
    int port = startServer(accessor);
    createClientRegion(client, port, false, true, true);
    accessor.invoke(new SerializableCallable() {

        @Override
        public Object call() throws Exception {
            Region<CustId, Customer> custRegion = getCache().getRegion(CUSTOMER);
            Region<OrderId, Order> orderRegion = getCache().getRegion(ORDER);
            Region<CustId, Customer> refRegion = getCache().getRegion(D_REFERENCE);
            CustId custId = new CustId(1);
            OrderId orderId = new OrderId(1, custId);
            getCache().getCacheTransactionManager().begin();
            custRegion.put(custId, new Customer("foo", "bar"));
            getCache().getCacheTransactionManager().commit();
            return null;
        }
    });
    Thread.sleep(10000);
    client.invoke(new SerializableCallable() {

        @Override
        public Object call() throws Exception {
            Region<CustId, Customer> custRegion = getCache().getRegion(CUSTOMER);
            Region<OrderId, Order> orderRegion = getCache().getRegion(ORDER);
            Region<CustId, Customer> refRegion = getCache().getRegion(D_REFERENCE);
            ClientListener cl = (ClientListener) custRegion.getAttributes().getCacheListeners()[0];
            assertTrue(cl.invoked);
            assertTrue(((ClientCQListener) custRegion.getCache().getQueryService().getCqs()[0].getCqAttributes().getCqListener()).invoked);
            return null;
        }
    });
}
Also used : Customer(org.apache.geode.internal.cache.execute.data.Customer) Host(org.apache.geode.test.dunit.Host) OrderId(org.apache.geode.internal.cache.execute.data.OrderId) EntryNotFoundException(org.apache.geode.cache.EntryNotFoundException) CacheWriterException(org.apache.geode.cache.CacheWriterException) CustId(org.apache.geode.internal.cache.execute.data.CustId) VM(org.apache.geode.test.dunit.VM) SerializableCallable(org.apache.geode.test.dunit.SerializableCallable) Region(org.apache.geode.cache.Region) ClientSubscriptionTest(org.apache.geode.test.junit.categories.ClientSubscriptionTest) DistributedTest(org.apache.geode.test.junit.categories.DistributedTest) Test(org.junit.Test)

Example 7 with CustId

use of org.apache.geode.internal.cache.execute.data.CustId in project geode by apache.

the class RemoteCQTransactionDUnitTest method verifyAfterCommit.

void verifyAfterCommit(OP op) {
    Region<CustId, Customer> custRegion = getCache().getRegion(CUSTOMER);
    Region<CustId, Customer> refRegion = getCache().getRegion(D_REFERENCE);
    Region<OrderId, Order> orderRegion = getCache().getRegion(ORDER);
    CustId custId = new CustId(1);
    OrderId orderId = new OrderId(1, custId);
    OrderId orderId2 = new OrderId(2, custId);
    OrderId orderId3 = new OrderId(3, custId);
    Customer expectedCust;
    Order expectedOrder;
    Order expectedOrder2;
    Order expectedOrder3;
    Customer expectedRef;
    switch(op) {
        case PUT:
            expectedCust = new Customer("foo", "bar");
            expectedOrder = new Order("fooOrder");
            expectedOrder2 = new Order("fooOrder2");
            expectedOrder3 = new Order("fooOrder3");
            expectedRef = expectedCust;
            assertNotNull(custRegion.getEntry(custId));
            assertEquals(expectedCust, custRegion.getEntry(custId).getValue());
            assertNotNull(refRegion.getEntry(custId));
            assertEquals(expectedRef, refRegion.getEntry(custId).getValue());
            break;
        case GET:
            expectedCust = custRegion.get(custId);
            expectedOrder = orderRegion.get(orderId);
            expectedRef = refRegion.get(custId);
            validateContains(custId, Collections.singleton(orderId), true);
            break;
        case DESTROY:
            assertTrue(!custRegion.containsKey(custId));
            assertTrue(!orderRegion.containsKey(orderId));
            assertTrue(!refRegion.containsKey(custId));
            validateContains(custId, Collections.singleton(orderId), false);
            break;
        case INVALIDATE:
            boolean validateContainsKey = true;
            if (!((GemFireCacheImpl) custRegion.getCache()).isClient()) {
                assertTrue(custRegion.containsKey(custId));
                assertTrue(orderRegion.containsKey(orderId));
                assertTrue(refRegion.containsKey(custId));
            }
            assertNull(custRegion.get(custId));
            assertNull(orderRegion.get(orderId));
            assertNull(refRegion.get(custId));
            validateContains(custId, Collections.singleton(orderId), validateContainsKey, false);
            break;
        default:
            throw new IllegalStateException();
    }
}
Also used : Order(org.apache.geode.internal.cache.execute.data.Order) CustId(org.apache.geode.internal.cache.execute.data.CustId) Customer(org.apache.geode.internal.cache.execute.data.Customer) OrderId(org.apache.geode.internal.cache.execute.data.OrderId)

Example 8 with CustId

use of org.apache.geode.internal.cache.execute.data.CustId in project geode by apache.

the class WANTestBase method putCustomerPartitionedRegion.

protected static Map putCustomerPartitionedRegion(int numPuts, String valueSuffix) {
    assertNotNull(cache);
    assertNotNull(customerRegion);
    Map custKeyValues = new HashMap();
    for (int i = 1; i <= numPuts; i++) {
        CustId custid = new CustId(i);
        Customer customer = new Customer("name" + i, "Address" + i + valueSuffix);
        try {
            customerRegion.put(custid, customer);
            assertTrue(customerRegion.containsKey(custid));
            assertEquals(customer, customerRegion.get(custid));
            custKeyValues.put(custid, customer);
        } catch (Exception e) {
            org.apache.geode.test.dunit.Assert.fail("putCustomerPartitionedRegion : failed while doing put operation in CustomerPartitionedRegion ", e);
        }
        LogWriterUtils.getLogWriter().info("Customer :- { " + custid + " : " + customer + " }");
    }
    return custKeyValues;
}
Also used : HashMap(java.util.HashMap) CustId(org.apache.geode.internal.cache.execute.data.CustId) Customer(org.apache.geode.internal.cache.execute.data.Customer) Map(java.util.Map) HashMap(java.util.HashMap) RegionDestroyedException(org.apache.geode.cache.RegionDestroyedException) PartitionOfflineException(org.apache.geode.cache.persistence.PartitionOfflineException) IOException(java.io.IOException) PRLocallyDestroyedException(org.apache.geode.internal.cache.partitioned.PRLocallyDestroyedException) ExecutionException(java.util.concurrent.ExecutionException) IgnoredException(org.apache.geode.test.dunit.IgnoredException) ForceReattemptException(org.apache.geode.internal.cache.ForceReattemptException) CacheClosedException(org.apache.geode.cache.CacheClosedException)

Example 9 with CustId

use of org.apache.geode.internal.cache.execute.data.CustId in project geode by apache.

the class WANTestBase method updateOrderPartitionedRegionUsingCustId.

public static Map updateOrderPartitionedRegionUsingCustId(int numPuts) {
    assertNotNull(cache);
    assertNotNull(orderRegion);
    Map orderKeyValues = new HashMap();
    for (int i = 1; i <= numPuts; i++) {
        CustId custid = new CustId(i);
        Order order = new Order("ORDER" + i + "_update");
        try {
            orderRegion.put(custid, order);
            assertTrue(orderRegion.containsKey(custid));
            assertEquals(order, orderRegion.get(custid));
            orderKeyValues.put(custid, order);
        } catch (Exception e) {
            org.apache.geode.test.dunit.Assert.fail("updateOrderPartitionedRegionUsingCustId : failed while doing put operation in OrderPartitionedRegion ", e);
        }
        LogWriterUtils.getLogWriter().info("Order :- { " + custid + " : " + order + " }");
    }
    return orderKeyValues;
}
Also used : Order(org.apache.geode.internal.cache.execute.data.Order) HashMap(java.util.HashMap) CustId(org.apache.geode.internal.cache.execute.data.CustId) Map(java.util.Map) HashMap(java.util.HashMap) RegionDestroyedException(org.apache.geode.cache.RegionDestroyedException) PartitionOfflineException(org.apache.geode.cache.persistence.PartitionOfflineException) IOException(java.io.IOException) PRLocallyDestroyedException(org.apache.geode.internal.cache.partitioned.PRLocallyDestroyedException) ExecutionException(java.util.concurrent.ExecutionException) IgnoredException(org.apache.geode.test.dunit.IgnoredException) ForceReattemptException(org.apache.geode.internal.cache.ForceReattemptException) CacheClosedException(org.apache.geode.cache.CacheClosedException)

Example 10 with CustId

use of org.apache.geode.internal.cache.execute.data.CustId in project geode by apache.

the class WANTestBase method putcolocatedPartitionedRegion.

public static void putcolocatedPartitionedRegion(int numPuts) {
    assertNotNull(cache);
    assertNotNull(customerRegion);
    assertNotNull(orderRegion);
    assertNotNull(shipmentRegion);
    for (int i = 1; i <= numPuts; i++) {
        CustId custid = new CustId(i);
        Customer customer = new Customer("Customer" + custid, "Address" + custid);
        customerRegion.put(custid, customer);
        int oid = i + 1;
        OrderId orderId = new OrderId(oid, custid);
        Order order = new Order("Order" + orderId);
        orderRegion.put(orderId, order);
        int sid = oid + 1;
        ShipmentId shipmentId = new ShipmentId(sid, orderId);
        Shipment shipment = new Shipment("Shipment" + sid);
        shipmentRegion.put(shipmentId, shipment);
    }
}
Also used : Order(org.apache.geode.internal.cache.execute.data.Order) ShipmentId(org.apache.geode.internal.cache.execute.data.ShipmentId) CustId(org.apache.geode.internal.cache.execute.data.CustId) Customer(org.apache.geode.internal.cache.execute.data.Customer) Shipment(org.apache.geode.internal.cache.execute.data.Shipment) OrderId(org.apache.geode.internal.cache.execute.data.OrderId)

Aggregations

CustId (org.apache.geode.internal.cache.execute.data.CustId)167 Customer (org.apache.geode.internal.cache.execute.data.Customer)114 Region (org.apache.geode.cache.Region)87 DistributedTest (org.apache.geode.test.junit.categories.DistributedTest)81 Test (org.junit.Test)81 OrderId (org.apache.geode.internal.cache.execute.data.OrderId)73 SerializableCallable (org.apache.geode.test.dunit.SerializableCallable)62 PartitionedRegion (org.apache.geode.internal.cache.PartitionedRegion)61 RollbackException (javax.transaction.RollbackException)58 Host (org.apache.geode.test.dunit.Host)55 VM (org.apache.geode.test.dunit.VM)55 CommitConflictException (org.apache.geode.cache.CommitConflictException)49 Order (org.apache.geode.internal.cache.execute.data.Order)48 IgnoredException (org.apache.geode.test.dunit.IgnoredException)44 CacheTransactionManager (org.apache.geode.cache.CacheTransactionManager)37 EntryNotFoundException (org.apache.geode.cache.EntryNotFoundException)37 CacheWriterException (org.apache.geode.cache.CacheWriterException)33 TransactionDataNotColocatedException (org.apache.geode.cache.TransactionDataNotColocatedException)33 TransactionDataRebalancedException (org.apache.geode.cache.TransactionDataRebalancedException)33 IOException (java.io.IOException)30