MCPcopy Index your code
hub / github.com/apache/phoenix-tephra

github.com/apache/phoenix-tephra @0.16.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.16.1 ↗ · + Follow
6,135 symbols 21,253 edges 322 files 1,293 documented · 21% updated 54d ago0.16.1 · 2021-05-12★ 33
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

What is Apache Tephra (TM)

Apache Tephra provides globally consistent transactions on top of distributed data stores such as Apache HBase. While HBase provides strong consistency with row- or region-level ACID operations, it sacrifices cross-region and cross-table consistency in favor of scalability. This trade-off requires application developers to handle the complexity of ensuring consistency when their modifications span region boundaries. By providing support for global transactions that span regions, tables, or multiple RPCs, Tephra simplifies application development on top of HBase, without a significant impact on performance or scalability for many workloads.

Tephra is used by the Apache Phoenix as well to add cross-row and cross-table transaction support with full ACID semantics.

Please refer to the Getting Started guide to start using Apache Tephra.

Building

You can build Tephra directly from the latest source code:

  git clone https://git-wip-us.apache.org/repos/asf/incubator-tephra.git
  cd incubator-tephra
  mvn clean package

Extension points exported contracts — how you extend this code

TableSupplier (Interface)
Supplies table for persisting state [75 implementers]
tephra-hbase-compat-2.0-base/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
TableSupplier (Interface)
Supplies table for persisting state [75 implementers]
tephra-hbase-compat-2.4/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
TableSupplier (Interface)
Supplies table for persisting state [75 implementers]
tephra-hbase-compat-1.1-base/sources/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
TableSupplier (Interface)
Supplies table for persisting state [75 implementers]
tephra-hbase-compat-2.3/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
TableSupplier (Interface)
Supplies table for persisting state [75 implementers]
tephra-hbase-compat-1.4-base/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
TableSupplier (Interface)
Supplies table for persisting state [75 implementers]
tephra-hbase-compat-1.3/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
TransactionSystemClient (Interface)
Client talking to transaction system. See also TransactionAware. todo: explain Omid. [8 implementers]
tephra-core/src/main/java/org/apache/tephra/TransactionSystemClient.java
TransactionAware (Interface)
(no doc) [16 implementers]
tephra-api/src/main/java/org/apache/tephra/TransactionAware.java

Core symbols most depended-on inside this repo

add
called by 755
tephra-core/src/main/java/org/apache/tephra/manager/InvalidTxList.java
get
called by 654
tephra-hbase-compat-1.3/src/main/java/org/apache/tephra/hbase/txprune/DataJanitorState.java
finish
called by 611
tephra-core/src/main/java/org/apache/tephra/TransactionContext.java
getValue
called by 550
tephra-core/src/main/java/org/apache/tephra/distributed/thrift/TTransactionType.java
start
called by 510
tephra-core/src/main/java/org/apache/tephra/TransactionContext.java
size
called by 368
tephra-core/src/main/java/org/apache/tephra/manager/InvalidTxList.java
put
called by 347
tephra-hbase-compat-2.4/src/main/java/org/apache/tephra/hbase/SecondaryIndexTable.java
append
called by 337
tephra-core/src/main/java/org/apache/tephra/persist/TransactionLog.java

Shape

Method 5,318
Class 715
Enum 63
Interface 39

Languages

Java100%

Modules by API surface

tephra-core/src/main/java/org/apache/tephra/distributed/thrift/TTransactionServer.java2,014 symbols
tephra-core/src/main/java/org/apache/tephra/distributed/thrift/TTransaction.java88 symbols
tephra-core/src/main/java/org/apache/tephra/TransactionManager.java87 symbols
tephra-core/src/main/java/org/apache/tephra/distributed/thrift/TTransactionConflictException.java49 symbols
tephra-core/src/main/java/org/apache/thrift/server/TThreadedSelectorServerWithFix.java48 symbols
tephra-core/src/main/java/org/apache/tephra/distributed/thrift/TGenericException.java44 symbols
tephra-core/src/main/java/org/apache/tephra/persist/TransactionEdit.java42 symbols
tephra-hbase-compat-2.4/src/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java41 symbols
tephra-hbase-compat-2.3/src/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java41 symbols
tephra-hbase-compat-2.0-base/src/test/java/org/apache/tephra/hbase/TransactionAwareHTableTest.java41 symbols
tephra-core/src/main/java/co/cask/tephra/persist/TransactionEdit.java41 symbols
tephra-hbase-compat-2.4/src/main/java/org/apache/tephra/hbase/TransactionAwareHTable.java40 symbols

For agents

$ claude mcp add phoenix-tephra \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page