Examples of DbusEventBufferReflector


Examples of com.linkedin.databus.core.test.DbusEventBufferReflector

    DbusEventBuffer.StaticConfig config = getConfig(1200, 500, 100, 500,
              AllocationPolicy.MMAPPED_MEMORY, mmapDir.getAbsolutePath(), true);
    DbusEventBuffer dbusBuf =  new DbusEventBuffer(config);

    DbusEventBufferReflector bufferReflector = new DbusEventBufferReflector(dbusBuf);
   // BufferPositionParser parser = dbusBuf.getBufferPositionParser();
    log.info("append initial events");
    DbusEventGenerator generator = new DbusEventGenerator();
    Vector<DbusEvent> events = new Vector<DbusEvent>();
    generator.generateEvents(12, 2, 120, 39, events);


    // add first window with 2 events
    dbusBuf.start(-1);
    int i=0;

    addOneEvent(events.get(i++), dbusBuf, EventType.START);
    addOneEvent(events.get(i++), dbusBuf, EventType.END);
    checkEventsInBuffer(bufferReflector, 3); // 2 + 1(EOW)

    // add first event of the second window
    addOneEvent(events.get(i++), dbusBuf, EventType.START);
    checkEventsInBuffer(bufferReflector, 3); // 2 + 1(EOW)

    // now close the buffer
    dbusBuf.closeBuffer(true);
    checkEventsInBuffer(bufferReflector, 3); // 2 + 1(EOW)

    // now add the end
    try {
      addOneEvent(events.get(i), dbusBuf, EventType.END);
    } catch (Throwable ex) {
      log.info("Got e: ", ex);
    }
    checkEventsInBuffer(bufferReflector, 3); // 2 + 1(EOW)

    // create new buffer
    dbusBuf =  new DbusEventBuffer(config); // should load from mmap
    bufferReflector = new DbusEventBufferReflector(dbusBuf);
    checkEventsInBuffer(bufferReflector, 3); // 2 + 1(EOW)

    addOneEvent(events.get(i++), dbusBuf, EventType.START);
    addOneEvent(events.get(i++), dbusBuf, EventType.END);
    checkEventsInBuffer(bufferReflector, 6); // 4 + 2(EOW)

    // add two more events but don't do endEvents
    addOneEvent(events.get(i++), dbusBuf, EventType.START);
    addOneEvent(events.get(i++), dbusBuf, EventType.REG); // no endEvents()
    // now close the buffer
    dbusBuf.closeBuffer(true);
    dbusBuf.closeBuffer(true); // should be ok (WARN in the logs)
    checkEventsInBuffer(bufferReflector, 6); // 4 + 2(EOW)

    // call endEvents(on a closed buffer);
    try {
      dbusBuf.endEvents(events.get(i-1).sequence());
    } catch (Throwable ex) {
      log.info("Got e2: ", ex);
    }
    checkEventsInBuffer(bufferReflector, 6); // 4 + 2(EOW)



    // create new buffer
    dbusBuf =  new DbusEventBuffer(config); // should load from mmap
    bufferReflector = new DbusEventBufferReflector(dbusBuf);
    checkEventsInBuffer(bufferReflector, 6); // 4 + 2(EOW)

    addOneEvent(events.get(i++), dbusBuf, EventType.START);
    addOneEvent(events.get(i++), dbusBuf, EventType.END);
    checkEventsInBuffer(bufferReflector, 9); // 6 + 3(EOW)

    // add two more events but don't do endEvents
    addOneEvent(events.get(i++), dbusBuf, EventType.START);
    addOneEvent(events.get(i++), dbusBuf, EventType.REG); // no endEvents()
    // now close the buffer
    dbusBuf.closeBuffer(true);
    checkEventsInBuffer(bufferReflector, 9); // 6 + 3(EOW)

    // call endEvents(on a closed buffer);
    try {
      dbusBuf.clear()//should fail
    } catch (Throwable ex) {
      log.info("Got e3: ", ex);
    }
    checkEventsInBuffer(bufferReflector, 9); // 6 + 3(EOW)

    // make sure it is still valid
    dbusBuf =  new DbusEventBuffer(config); // should load from mmap
    bufferReflector = new DbusEventBufferReflector(dbusBuf);
    checkEventsInBuffer(bufferReflector, 9); // 6 + 3(EOW)

  }
View Full Code Here

Examples of com.linkedin.databus.core.test.DbusEventBufferReflector

    {
      exceptionCaught = true;
    }
    Assert.assertTrue(exceptionCaught);
    Assert.assertEquals(0, eventCount);
    DbusEventBufferReflector reflector = appender.getDbusEventReflector();
    Assert.assertEquals(0, reflector.getBuffer(0).limit());
    Assert.assertEquals(0, reflector.getBuffer(1).limit());
    Assert.assertEquals(0, reflector.getBuffer(2).limit());

    events.clear();
    dbusBuf =
        new DbusEventBuffer(getConfig(1144, 500, 100, 500, AllocationPolicy.HEAP_MEMORY,
                                      QueuePolicy.OVERWRITE_ON_WRITE, AssertLevel.ALL));
View Full Code Here

Examples of com.linkedin.databus.core.test.DbusEventBufferReflector

    generator.generateEvents(1, 20, 500, 438, events)// total event size = 499
    generator.generateEvents(1, 20, 500, 10, events);   // total event size = 71
    generator.generateEvents(1, 20, 500, 367, events);   // total event size = 428
    generator.generateEvents(1, 1, 500, 10, events);   // event + EOP = 132.
    appender.run();
    DbusEventBufferReflector reflector = appender.getDbusEventReflector();

    // Now we should be able to add an event and roll it back as well.
    events.clear();
    generator.generateEvents(1, 20, 500, 10, events);   // event size = 71, can append.

    long cwp1 = reflector.getCurrentWritePosition().getPosition();
    dbusBuf.startEvents();
    int evCount = 0;
    evCount = appender.addEventToBuffer(events.firstElement(), evCount);
    Assert.assertEquals(1, evCount);
    long cwp2 = reflector.getCurrentWritePosition().getPosition();
    Assert.assertTrue("Cwp should differ event write", cwp1 != cwp2);

    // Roll back.
    dbusBuf.rollbackEvents();
    Assert.assertEquals(cwp1, reflector.getCurrentWritePosition().getPosition());
  }
View Full Code Here

Examples of com.linkedin.databus.core.test.DbusEventBufferReflector

    {
      evCount = appender.addEventToBuffer(e, evCount);
    }
    Assert.assertEquals(events.size(), evCount);

    DbusEventBufferReflector reflector = appender.getDbusEventReflector();
    dbusBuf.rollbackEvents();
    Assert.assertEquals(0, reflector.getCurrentWritePosition().getPosition());

    // Now we should be able to add these events, plus an EOP marker at the end.
    appender.run();
    long cwp1 = reflector.getCurrentWritePosition().getPosition();
    Assert.assertEquals(1156, cwp1);
    long tail = reflector.getTail().getPosition();
    Assert.assertEquals(1156, tail);
    Assert.assertEquals(0, reflector.getHead().getPosition());
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.