Package org.apache.bookkeeper.client
Class PulsarMockBookKeeper
- java.lang.Object
-
- org.apache.bookkeeper.client.BookKeeper
-
- org.apache.bookkeeper.client.PulsarMockBookKeeper
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.apache.bookkeeper.client.api.BookKeeper
public class PulsarMockBookKeeper extends org.apache.bookkeeper.client.BookKeeperMocked 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.
-
-
Constructor Summary
Constructors Constructor Description PulsarMockBookKeeper(org.apache.bookkeeper.common.util.OrderedExecutor orderedExecutor)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEntryDelay(long delay, java.util.concurrent.TimeUnit unit)voidasyncCreateLedger(int ensSize, int writeQuorumSize, int ackQuorumSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.CreateCallback cb, java.lang.Object ctx, java.util.Map<java.lang.String,byte[]> properties)voidasyncCreateLedger(int ensSize, int qSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.CreateCallback cb, java.lang.Object ctx)voidasyncDeleteLedger(long lId, org.apache.bookkeeper.client.AsyncCallback.DeleteCallback cb, java.lang.Object ctx)voidasyncOpenLedger(long lId, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.OpenCallback cb, java.lang.Object ctx)voidasyncOpenLedgerNoRecovery(long lId, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd, org.apache.bookkeeper.client.AsyncCallback.OpenCallback cb, java.lang.Object ctx)voidclose()org.apache.bookkeeper.client.LedgerHandlecreateLedger(int ensSize, int writeQuorumSize, int ackQuorumSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd)org.apache.bookkeeper.client.LedgerHandlecreateLedger(int ensSize, int qSize, org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd)org.apache.bookkeeper.client.LedgerHandlecreateLedger(org.apache.bookkeeper.client.BookKeeper.DigestType digestType, byte[] passwd)voiddeleteLedger(long lId)voidfailAfter(int steps, int rc)voidfailNow(int rc)org.apache.bookkeeper.conf.ClientConfigurationgetConf()java.util.Map<java.lang.Long,PulsarMockLedgerHandle>getLedgerMap()java.util.Set<java.lang.Long>getLedgers()org.apache.bookkeeper.common.util.OrderedExecutorgetMainWorkerPool()org.apache.bookkeeper.meta.MetadataClientDrivergetMetadataClientDriver()static java.util.Collection<org.apache.bookkeeper.net.BookieId>getMockEnsemble()org.apache.bookkeeper.client.api.DeleteBuildernewDeleteLedgerOp()org.apache.bookkeeper.client.api.OpenBuildernewOpenLedgerOp()java.util.concurrent.CompletableFuture<java.lang.Void>promiseAfter(int steps)voidreturnEmptyLedgerAfter(int steps)After N times, make a ledger to appear to be emptyvoidshutdown()-
Methods inherited from class org.apache.bookkeeper.client.BookKeeper
asyncCreateLedgerAdv, asyncCreateLedgerAdv, asyncIsClosed, createLedger, createLedgerAdv, createLedgerAdv, createLedgerAdv, forConfig, getBookieAddressResolver, getBookieInfo, getLedgerManager, getLedgerManagerFactory, getLedgerMetadata, isClosed, newCreateLedgerOp, newListLedgersOp, openLedger, openLedgerNoRecovery
-
-
-
-
Method Detail
-
getConf
public org.apache.bookkeeper.conf.ClientConfiguration getConf()
- Overrides:
getConfin classorg.apache.bookkeeper.client.BookKeeper
-
getMockEnsemble
public static java.util.Collection<org.apache.bookkeeper.net.BookieId> getMockEnsemble()
-
getMainWorkerPool
public org.apache.bookkeeper.common.util.OrderedExecutor getMainWorkerPool()
- Overrides:
getMainWorkerPoolin classorg.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, java.lang.InterruptedException- Overrides:
createLedgerin classorg.apache.bookkeeper.client.BookKeeper- Throws:
org.apache.bookkeeper.client.BKExceptionjava.lang.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, java.lang.InterruptedException- Overrides:
createLedgerin classorg.apache.bookkeeper.client.BookKeeper- Throws:
org.apache.bookkeeper.client.BKExceptionjava.lang.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, java.lang.Object ctx, java.util.Map<java.lang.String,byte[]> properties)- Overrides:
asyncCreateLedgerin classorg.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, java.lang.InterruptedException- Overrides:
createLedgerin classorg.apache.bookkeeper.client.BookKeeper- Throws:
org.apache.bookkeeper.client.BKExceptionjava.lang.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, java.lang.Object ctx)- Overrides:
asyncCreateLedgerin classorg.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, java.lang.Object ctx)- Overrides:
asyncOpenLedgerin classorg.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, java.lang.Object ctx)- Overrides:
asyncOpenLedgerNoRecoveryin classorg.apache.bookkeeper.client.BookKeeper
-
asyncDeleteLedger
public void asyncDeleteLedger(long lId, org.apache.bookkeeper.client.AsyncCallback.DeleteCallback cb, java.lang.Object ctx)- Overrides:
asyncDeleteLedgerin classorg.apache.bookkeeper.client.BookKeeper
-
deleteLedger
public void deleteLedger(long lId) throws java.lang.InterruptedException, org.apache.bookkeeper.client.BKException- Overrides:
deleteLedgerin classorg.apache.bookkeeper.client.BookKeeper- Throws:
java.lang.InterruptedExceptionorg.apache.bookkeeper.client.BKException
-
close
public void close() throws java.lang.InterruptedException, org.apache.bookkeeper.client.BKException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfaceorg.apache.bookkeeper.client.api.BookKeeper- Overrides:
closein classorg.apache.bookkeeper.client.BookKeeper- Throws:
java.lang.InterruptedExceptionorg.apache.bookkeeper.client.BKException
-
newOpenLedgerOp
public org.apache.bookkeeper.client.api.OpenBuilder newOpenLedgerOp()
- Specified by:
newOpenLedgerOpin interfaceorg.apache.bookkeeper.client.api.BookKeeper- Overrides:
newOpenLedgerOpin classorg.apache.bookkeeper.client.BookKeeper
-
newDeleteLedgerOp
public org.apache.bookkeeper.client.api.DeleteBuilder newDeleteLedgerOp()
- Specified by:
newDeleteLedgerOpin interfaceorg.apache.bookkeeper.client.api.BookKeeper- Overrides:
newDeleteLedgerOpin classorg.apache.bookkeeper.client.BookKeeper
-
shutdown
public void shutdown()
-
getLedgers
public java.util.Set<java.lang.Long> getLedgers()
-
getLedgerMap
public java.util.Map<java.lang.Long,PulsarMockLedgerHandle> getLedgerMap()
-
failNow
public void failNow(int rc)
-
failAfter
public void failAfter(int steps, int rc)
-
returnEmptyLedgerAfter
public void returnEmptyLedgerAfter(int steps)
After N times, make a ledger to appear to be empty
-
promiseAfter
public java.util.concurrent.CompletableFuture<java.lang.Void> promiseAfter(int steps)
-
addEntryDelay
public void addEntryDelay(long delay, java.util.concurrent.TimeUnit unit)
-
getMetadataClientDriver
public org.apache.bookkeeper.meta.MetadataClientDriver getMetadataClientDriver()
- Overrides:
getMetadataClientDriverin classorg.apache.bookkeeper.client.BookKeeper
-
-