Class PulsarMockBookKeeper

java.lang.Object
org.apache.bookkeeper.client.BookKeeper
org.apache.bookkeeper.client.PulsarMockBookKeeper
All Implemented Interfaces:
AutoCloseable, org.apache.bookkeeper.client.api.BookKeeper

public class PulsarMockBookKeeper extends org.apache.bookkeeper.client.BookKeeper
Mocked version of BookKeeper client that keeps all ledgers data in memory.

This mocked client is meant to be used in unit tests for applications using the BookKeeper API.

  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.bookkeeper.client.BookKeeper

    org.apache.bookkeeper.client.BookKeeper.Builder, org.apache.bookkeeper.client.BookKeeper.DigestType
  • Constructor Summary

    Constructors
    Constructor
    Description
    PulsarMockBookKeeper(org.apache.bookkeeper.common.util.OrderedExecutor orderedExecutor)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addEntryDelay(long delay, TimeUnit unit)
     
    void
    addEntryFailAfter(int steps, int rc)
     
    void
    addEntryResponseDelay(long delay, TimeUnit unit)
     
    void
    asyncCreateLedger(int ensSize, int writeQuorumSize, int ackQuorumSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.CreateCallback cb, Object ctx, Map<String,byte[]> properties)
     
    void
    asyncCreateLedger(int ensSize, int qSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.CreateCallback cb, Object ctx)
     
    void
    asyncDeleteLedger(long lId, org.apache.bookkeeper.client.AsyncCallback.DeleteCallback cb, Object ctx)
     
    void
    asyncOpenLedger(long lId, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.OpenCallback cb, Object ctx)
     
    void
    asyncOpenLedgerNoRecovery(long lId, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.OpenCallback cb, Object ctx)
     
    void
     
    org.apache.bookkeeper.client.LedgerHandle
    createLedger(int ensSize, int writeQuorumSize, int ackQuorumSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd)
     
    org.apache.bookkeeper.client.LedgerHandle
    createLedger(int ensSize, int qSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd)
     
    org.apache.bookkeeper.client.LedgerHandle
    createLedger(org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd)
     
    void
    deleteLedger(long lId)
     
    void
    failAfter(int steps, int rc)
     
    void
    failNow(int rc)
     
    org.apache.bookkeeper.conf.ClientConfiguration
     
     
     
    org.apache.bookkeeper.common.util.OrderedExecutor
     
    org.apache.bookkeeper.meta.MetadataClientDriver
     
    static Collection<org.apache.bookkeeper.net.BookieId>
     
    org.apache.bookkeeper.client.api.DeleteBuilder
     
    org.apache.bookkeeper.client.api.OpenBuilder
     
    promiseAfter(int steps)
     
    promiseAfter(int steps, List<CompletableFuture<Void>> failures)
     
    void
    After N times, make a ledger to appear to be empty.
    void
     

    Methods inherited from class org.apache.bookkeeper.client.BookKeeper

    asyncCreateLedgerAdv, asyncCreateLedgerAdv, asyncIsClosed, createLedger, createLedgerAdv, createLedgerAdv, createLedgerAdv, forConfig, getBookieAddressResolver, getBookieInfo, getClientCtx, getLedgerManager, getLedgerManagerFactory, getLedgerMetadata, initializeEnsemblePlacementPolicy, isClosed, newCreateLedgerOp, newListLedgersOp, openLedger, openLedgerNoRecovery

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PulsarMockBookKeeper

      public PulsarMockBookKeeper(org.apache.bookkeeper.common.util.OrderedExecutor orderedExecutor) throws Exception
      Throws:
      Exception
  • Method Details

    • getConf

      public org.apache.bookkeeper.conf.ClientConfiguration getConf()
      Overrides:
      getConf in class org.apache.bookkeeper.client.BookKeeper
    • getMockEnsemble

      public static Collection<org.apache.bookkeeper.net.BookieId> getMockEnsemble()
    • getMainWorkerPool

      public org.apache.bookkeeper.common.util.OrderedExecutor getMainWorkerPool()
      Overrides:
      getMainWorkerPool in class org.apache.bookkeeper.client.BookKeeper
    • createLedger

      public org.apache.bookkeeper.client.LedgerHandle createLedger(org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd) throws org.apache.bookkeeper.client.BKException, InterruptedException
      Overrides:
      createLedger in class org.apache.bookkeeper.client.BookKeeper
      Throws:
      org.apache.bookkeeper.client.BKException
      InterruptedException
    • createLedger

      public org.apache.bookkeeper.client.LedgerHandle createLedger(int ensSize, int qSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd) throws org.apache.bookkeeper.client.BKException, InterruptedException
      Overrides:
      createLedger in class org.apache.bookkeeper.client.BookKeeper
      Throws:
      org.apache.bookkeeper.client.BKException
      InterruptedException
    • asyncCreateLedger

      public void asyncCreateLedger(int ensSize, int writeQuorumSize, int ackQuorumSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.CreateCallback cb, Object ctx, Map<String,byte[]> properties)
      Overrides:
      asyncCreateLedger in class org.apache.bookkeeper.client.BookKeeper
    • createLedger

      public org.apache.bookkeeper.client.LedgerHandle createLedger(int ensSize, int writeQuorumSize, int ackQuorumSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd) throws org.apache.bookkeeper.client.BKException, InterruptedException
      Overrides:
      createLedger in class org.apache.bookkeeper.client.BookKeeper
      Throws:
      org.apache.bookkeeper.client.BKException
      InterruptedException
    • asyncCreateLedger

      public void asyncCreateLedger(int ensSize, int qSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.CreateCallback cb, Object ctx)
      Overrides:
      asyncCreateLedger in class org.apache.bookkeeper.client.BookKeeper
    • asyncOpenLedger

      public void asyncOpenLedger(long lId, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.OpenCallback cb, Object ctx)
      Overrides:
      asyncOpenLedger in class org.apache.bookkeeper.client.BookKeeper
    • asyncOpenLedgerNoRecovery

      public void asyncOpenLedgerNoRecovery(long lId, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.OpenCallback cb, Object ctx)
      Overrides:
      asyncOpenLedgerNoRecovery in class org.apache.bookkeeper.client.BookKeeper
    • asyncDeleteLedger

      public void asyncDeleteLedger(long lId, org.apache.bookkeeper.client.AsyncCallback.DeleteCallback cb, Object ctx)
      Overrides:
      asyncDeleteLedger in class org.apache.bookkeeper.client.BookKeeper
    • deleteLedger

      public void deleteLedger(long lId) throws InterruptedException, org.apache.bookkeeper.client.BKException
      Overrides:
      deleteLedger in class org.apache.bookkeeper.client.BookKeeper
      Throws:
      InterruptedException
      org.apache.bookkeeper.client.BKException
    • close

      public void close() throws InterruptedException, org.apache.bookkeeper.client.BKException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface org.apache.bookkeeper.client.api.BookKeeper
      Overrides:
      close in class org.apache.bookkeeper.client.BookKeeper
      Throws:
      InterruptedException
      org.apache.bookkeeper.client.BKException
    • newOpenLedgerOp

      public org.apache.bookkeeper.client.api.OpenBuilder newOpenLedgerOp()
      Specified by:
      newOpenLedgerOp in interface org.apache.bookkeeper.client.api.BookKeeper
      Overrides:
      newOpenLedgerOp in class org.apache.bookkeeper.client.BookKeeper
    • newDeleteLedgerOp

      public org.apache.bookkeeper.client.api.DeleteBuilder newDeleteLedgerOp()
      Specified by:
      newDeleteLedgerOp in interface org.apache.bookkeeper.client.api.BookKeeper
      Overrides:
      newDeleteLedgerOp in class org.apache.bookkeeper.client.BookKeeper
    • shutdown

      public void shutdown()
    • getLedgers

      public Set<Long> getLedgers()
    • getLedgerMap

      public Map<Long,PulsarMockLedgerHandle> getLedgerMap()
    • failNow

      public void failNow(int rc)
    • failAfter

      public void failAfter(int steps, int rc)
    • addEntryFailAfter

      public void addEntryFailAfter(int steps, int rc)
    • returnEmptyLedgerAfter

      public void returnEmptyLedgerAfter(int steps)
      After N times, make a ledger to appear to be empty.
    • promiseAfter

      public CompletableFuture<Void> promiseAfter(int steps)
    • promiseAfter

      public CompletableFuture<Void> promiseAfter(int steps, List<CompletableFuture<Void>> failures)
    • addEntryDelay

      public void addEntryDelay(long delay, TimeUnit unit)
    • addEntryResponseDelay

      public void addEntryResponseDelay(long delay, TimeUnit unit)
    • getMetadataClientDriver

      public org.apache.bookkeeper.meta.MetadataClientDriver getMetadataClientDriver()
      Overrides:
      getMetadataClientDriver in class org.apache.bookkeeper.client.BookKeeper