CDAP uses the following HBase Coprocessors as of release 3.6.0
Source: TransactionProcessor.java and CDAP's extension DefaultTransactionProcessor.java
Transaction Coprocessor is used to ensure that data reads and writes confirm to transactional guarantees. It also cleans up data from invalid transactions on flush and compactions.
It runs on HBase region servers and intercepts the following operations -
Source: IncrementHandler.java
Increment coprocessor is used for readless increments. It converts an increment into a delta increment without reading the previous value. It also sums up delta increments on reads or a flush or compaction.
It runs on HBase region servers and intercepts the following operations -
CDAP flow-queue has two coprocessors on HBase region servers.
preFlush
and preCompact
methodsInternalScanner
that will skip over cells that are already processed based on the queue logicpreScannerOpen
methodRegionScanner
that will skip over cells that are not yet committed based on the transaction information