You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tephra.apache.org by ch...@apache.org on 2016/06/21 22:21:24 UTC

[51/51] [partial] incubator-tephra git commit: Initialize Tephra site content

Initialize Tephra site content


Project: http://git-wip-us.apache.org/repos/asf/incubator-tephra/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tephra/commit/1047fad6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tephra/tree/1047fad6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tephra/diff/1047fad6

Branch: refs/heads/site
Commit: 1047fad6bb86f50b0ef5a54f8a31a11adb38710e
Parents: d1a340a
Author: Terence Yim <ch...@gmail.com>
Authored: Tue Jun 21 00:11:12 2016 -0700
Committer: Terence Yim <te...@cask.co>
Committed: Tue Jun 21 15:20:10 2016 -0700

----------------------------------------------------------------------
 pom.xml                                         |  140 +-
 src/site/markdown/GettingStarted.md             |  463 ++
 src/site/markdown/HowToContribute.md            |   71 +
 src/site/markdown/ReleaseGuide.md               |  220 +
 src/site/markdown/index.md                      |  116 +
 src/site/markdown/releases/0.8.0-incubating.md  |   28 +
 .../allclasses-frame.html                       |  258 +
 .../allclasses-noframe.html                     |  258 +
 .../tephra/persist/TransactionEdit.State.html   |  398 +
 .../co/cask/tephra/persist/TransactionEdit.html |  787 ++
 .../tephra/persist/TransactionEditCodecs.html   |  306 +
 .../class-use/TransactionEdit.State.html        |  173 +
 .../persist/class-use/TransactionEdit.html      |  278 +
 .../class-use/TransactionEditCodecs.html        |  117 +
 .../co/cask/tephra/persist/package-frame.html   |   25 +
 .../co/cask/tephra/persist/package-summary.html |  156 +
 .../co/cask/tephra/persist/package-tree.html    |  143 +
 .../co/cask/tephra/persist/package-use.html     |  158 +
 .../constant-values.html                        |  704 ++
 .../deprecated-list.html                        |  211 +
 .../apidocs-0.8.0-incubating/help-doc.html      |  222 +
 .../apidocs-0.8.0-incubating/index-all.html     | 6942 ++++++++++++++++++
 .../apidocs-0.8.0-incubating/index.html         |   75 +
 ...tractTransactionAwareTable.ActionChange.html |  342 +
 .../tephra/AbstractTransactionAwareTable.html   |  650 ++
 .../tephra/AbstractTransactionExecutor.html     |  472 ++
 .../org/apache/tephra/ChangeId.html             |  310 +
 .../tephra/DefaultTransactionExecutor.html      |  426 ++
 .../tephra/InvalidTruncateTimeException.html    |  254 +
 .../org/apache/tephra/NoRetryStrategy.html      |  278 +
 .../apache/tephra/RetryOnConflictStrategy.html  |  278 +
 .../org/apache/tephra/RetryStrategies.html      |  243 +
 .../org/apache/tephra/RetryStrategy.html        |  221 +
 .../tephra/Transaction.VisibilityLevel.html     |  354 +
 .../org/apache/tephra/Transaction.html          |  726 ++
 .../org/apache/tephra/TransactionAdmin.html     |  261 +
 .../org/apache/tephra/TransactionAware.html     |  358 +
 .../org/apache/tephra/TransactionAwares.html    |  232 +
 .../org/apache/tephra/TransactionCodec.html     |  278 +
 .../tephra/TransactionConflictException.html    |  272 +
 .../org/apache/tephra/TransactionContext.html   |  440 ++
 ...ransactionCouldNotTakeSnapshotException.html |  253 +
 .../tephra/TransactionExecutor.Function.html    |  219 +
 .../tephra/TransactionExecutor.Procedure.html   |  219 +
 .../tephra/TransactionExecutor.Subroutine.html  |  216 +
 .../org/apache/tephra/TransactionExecutor.html  |  485 ++
 .../tephra/TransactionExecutorFactory.html      |  209 +
 .../tephra/TransactionFailureException.html     |  271 +
 .../tephra/TransactionManager.InProgressTx.html |  420 ++
 .../org/apache/tephra/TransactionManager.html   |  708 ++
 .../TransactionNotInProgressException.html      |  258 +
 .../apache/tephra/TransactionServiceMain.html   |  361 +
 .../apache/tephra/TransactionSystemClient.html  |  472 ++
 .../org/apache/tephra/TransactionType.html      |  328 +
 .../tephra/TxConstants.ConflictDetection.html   |  349 +
 .../apache/tephra/TxConstants.DataJanitor.html  |  290 +
 .../org/apache/tephra/TxConstants.HBase.html    |  300 +
 .../org/apache/tephra/TxConstants.Manager.html  |  494 ++
 .../org/apache/tephra/TxConstants.Metrics.html  |  292 +
 .../org/apache/tephra/TxConstants.Persist.html  |  288 +
 .../org/apache/tephra/TxConstants.Service.html  |  778 ++
 .../tephra/TxConstants.TransactionLog.html      |  303 +
 .../org/apache/tephra/TxConstants.html          |  555 ++
 ...tractTransactionAwareTable.ActionChange.html |  159 +
 .../AbstractTransactionAwareTable.html          |  159 +
 .../class-use/AbstractTransactionExecutor.html  |  162 +
 .../org/apache/tephra/class-use/ChangeId.html   |  300 +
 .../class-use/DefaultTransactionExecutor.html   |  117 +
 .../class-use/InvalidTruncateTimeException.html |  227 +
 .../tephra/class-use/NoRetryStrategy.html       |  117 +
 .../class-use/RetryOnConflictStrategy.html      |  117 +
 .../tephra/class-use/RetryStrategies.html       |  117 +
 .../apache/tephra/class-use/RetryStrategy.html  |  211 +
 .../class-use/Transaction.VisibilityLevel.html  |  210 +
 .../apache/tephra/class-use/Transaction.html    |  702 ++
 .../tephra/class-use/TransactionAdmin.html      |  117 +
 .../tephra/class-use/TransactionAware.html      |  308 +
 .../tephra/class-use/TransactionAwares.html     |  117 +
 .../tephra/class-use/TransactionCodec.html      |  159 +
 .../class-use/TransactionConflictException.html |  117 +
 .../tephra/class-use/TransactionContext.html    |  117 +
 ...ransactionCouldNotTakeSnapshotException.html |  221 +
 .../class-use/TransactionExecutor.Function.html |  192 +
 .../TransactionExecutor.Procedure.html          |  192 +
 .../TransactionExecutor.Subroutine.html         |  186 +
 .../tephra/class-use/TransactionExecutor.html   |  182 +
 .../class-use/TransactionExecutorFactory.html   |  117 +
 .../class-use/TransactionFailureException.html  |  320 +
 .../TransactionManager.InProgressTx.html        |  340 +
 .../tephra/class-use/TransactionManager.html    |  232 +
 .../TransactionNotInProgressException.html      |  267 +
 .../class-use/TransactionServiceMain.html       |  117 +
 .../class-use/TransactionSystemClient.html      |  267 +
 .../tephra/class-use/TransactionType.html       |  323 +
 .../TxConstants.ConflictDetection.html          |  224 +
 .../class-use/TxConstants.DataJanitor.html      |  117 +
 .../tephra/class-use/TxConstants.HBase.html     |  117 +
 .../tephra/class-use/TxConstants.Manager.html   |  117 +
 .../tephra/class-use/TxConstants.Metrics.html   |  117 +
 .../tephra/class-use/TxConstants.Persist.html   |  117 +
 .../tephra/class-use/TxConstants.Service.html   |  117 +
 .../class-use/TxConstants.TransactionLog.html   |  117 +
 .../apache/tephra/class-use/TxConstants.html    |  117 +
 .../coprocessor/TransactionStateCache.html      |  380 +
 .../TransactionStateCacheSupplier.html          |  333 +
 .../class-use/TransactionStateCache.html        |  196 +
 .../TransactionStateCacheSupplier.html          |  117 +
 .../tephra/coprocessor/package-frame.html       |   21 +
 .../tephra/coprocessor/package-summary.html     |  152 +
 .../apache/tephra/coprocessor/package-tree.html |  135 +
 .../apache/tephra/coprocessor/package-use.html  |  175 +
 ...AbstractClientProvider.EndpointStrategy.html |  221 +
 ...ctClientProvider.RandomEndpointStrategy.html |  284 +
 ...lientProvider.TimeLimitEndpointStrategy.html |  281 +
 .../distributed/AbstractClientProvider.html     |  393 +
 .../distributed/CloseableThriftClient.html      |  283 +
 .../apache/tephra/distributed/ElasticPool.html  |  389 +
 .../distributed/PooledClientProvider.html       |  360 +
 .../distributed/RetryNTimes.Provider.html       |  314 +
 .../apache/tephra/distributed/RetryNTimes.html  |  262 +
 .../tephra/distributed/RetryStrategy.html       |  236 +
 .../distributed/RetryStrategyProvider.html      |  234 +
 .../distributed/RetryWithBackoff.Provider.html  |  314 +
 .../tephra/distributed/RetryWithBackoff.html    |  268 +
 .../distributed/SingleUseClientProvider.html    |  362 +
 .../distributed/ThreadLocalClientProvider.html  |  361 +
 .../distributed/ThriftClientProvider.html       |  280 +
 .../distributed/TransactionConverterUtils.html  |  272 +
 .../tephra/distributed/TransactionService.html  |  387 +
 .../distributed/TransactionServiceClient.html   |  624 ++
 .../TransactionServiceThriftClient.html         |  516 ++
 .../TransactionServiceThriftHandler.html        |  570 ++
 ...AbstractClientProvider.EndpointStrategy.html |  181 +
 ...ctClientProvider.RandomEndpointStrategy.html |  117 +
 ...lientProvider.TimeLimitEndpointStrategy.html |  117 +
 .../class-use/AbstractClientProvider.html       |  173 +
 .../class-use/CloseableThriftClient.html        |  174 +
 .../distributed/class-use/ElasticPool.html      |  117 +
 .../class-use/PooledClientProvider.html         |  117 +
 .../class-use/RetryNTimes.Provider.html         |  117 +
 .../distributed/class-use/RetryNTimes.html      |  117 +
 .../distributed/class-use/RetryStrategy.html    |  190 +
 .../class-use/RetryStrategyProvider.html        |  167 +
 .../class-use/RetryWithBackoff.Provider.html    |  117 +
 .../distributed/class-use/RetryWithBackoff.html |  117 +
 .../class-use/SingleUseClientProvider.html      |  117 +
 .../class-use/ThreadLocalClientProvider.html    |  117 +
 .../class-use/ThriftClientProvider.html         |  197 +
 .../class-use/TransactionConverterUtils.html    |  117 +
 .../class-use/TransactionService.html           |  117 +
 .../class-use/TransactionServiceClient.html     |  157 +
 .../TransactionServiceThriftClient.html         |  206 +
 .../TransactionServiceThriftHandler.html        |  117 +
 .../tephra/distributed/package-frame.html       |   41 +
 .../tephra/distributed/package-summary.html     |  269 +
 .../apache/tephra/distributed/package-tree.html |  167 +
 .../apache/tephra/distributed/package-use.html  |  210 +
 .../distributed/thrift/TBoolean._Fields.html    |  399 +
 .../tephra/distributed/thrift/TBoolean.html     |  658 ++
 .../TInvalidTruncateTimeException._Fields.html  |  399 +
 .../thrift/TInvalidTruncateTimeException.html   |  684 ++
 .../thrift/TTransaction._Fields.html            |  497 ++
 .../tephra/distributed/thrift/TTransaction.html | 1445 ++++
 ...onCouldNotTakeSnapshotException._Fields.html |  399 +
 ...ransactionCouldNotTakeSnapshotException.html |  684 ++
 ...ansactionNotInProgressException._Fields.html |  399 +
 .../TTransactionNotInProgressException.html     |  684 ++
 .../TTransactionServer.AsyncClient.Factory.html |  273 +
 ...nsactionServer.AsyncClient.abortTx_call.html |  337 +
 ...tionServer.AsyncClient.canCommitTx_call.html |  341 +
 ...ctionServer.AsyncClient.checkpoint_call.html |  339 +
 ...sactionServer.AsyncClient.commitTx_call.html |  339 +
 ...tionServer.AsyncClient.getSnapshot_call.html |  337 +
 .../thrift/TTransactionServer.AsyncClient.html  |  644 ++
 ...onServer.AsyncClient.invalidTxSize_call.html |  335 +
 ...ionServer.AsyncClient.invalidateTx_call.html |  337 +
 ...ctionServer.AsyncClient.resetState_call.html |  335 +
 ...actionServer.AsyncClient.startLong_call.html |  335 +
 ...rver.AsyncClient.startShortTimeout_call.html |  337 +
 ...ctionServer.AsyncClient.startShort_call.html |  335 +
 ...ansactionServer.AsyncClient.status_call.html |  335 +
 ...syncClient.truncateInvalidTxBefore_call.html |  339 +
 ...rver.AsyncClient.truncateInvalidTx_call.html |  337 +
 .../thrift/TTransactionServer.AsyncIface.html   |  445 ++
 .../TTransactionServer.Client.Factory.html      |  290 +
 .../thrift/TTransactionServer.Client.html       | 1052 +++
 .../thrift/TTransactionServer.Iface.html        |  439 ++
 .../TTransactionServer.Processor.abortTx.html   |  318 +
 ...TransactionServer.Processor.canCommitTx.html |  318 +
 ...TTransactionServer.Processor.checkpoint.html |  318 +
 .../TTransactionServer.Processor.commitTx.html  |  318 +
 ...TransactionServer.Processor.getSnapshot.html |  318 +
 .../thrift/TTransactionServer.Processor.html    |  350 +
 ...ansactionServer.Processor.invalidTxSize.html |  318 +
 ...ransactionServer.Processor.invalidateTx.html |  318 +
 ...TTransactionServer.Processor.resetState.html |  318 +
 .../TTransactionServer.Processor.startLong.html |  318 +
 ...TTransactionServer.Processor.startShort.html |  318 +
 ...ctionServer.Processor.startShortTimeout.html |  318 +
 .../TTransactionServer.Processor.status.html    |  318 +
 ...ctionServer.Processor.truncateInvalidTx.html |  318 +
 ...erver.Processor.truncateInvalidTxBefore.html |  318 +
 ...TTransactionServer.abortTx_args._Fields.html |  399 +
 .../thrift/TTransactionServer.abortTx_args.html |  662 ++
 ...ransactionServer.abortTx_result._Fields.html |  365 +
 .../TTransactionServer.abortTx_result.html      |  569 ++
 ...nsactionServer.canCommitTx_args._Fields.html |  411 ++
 .../TTransactionServer.canCommitTx_args.html    |  784 ++
 ...actionServer.canCommitTx_result._Fields.html |  411 ++
 .../TTransactionServer.canCommitTx_result.html  |  745 ++
 ...ansactionServer.checkpoint_args._Fields.html |  399 +
 .../TTransactionServer.checkpoint_args.html     |  662 ++
 ...sactionServer.checkpoint_result._Fields.html |  411 ++
 .../TTransactionServer.checkpoint_result.html   |  745 ++
 ...TransactionServer.commitTx_args._Fields.html |  399 +
 .../TTransactionServer.commitTx_args.html       |  662 ++
 ...ansactionServer.commitTx_result._Fields.html |  411 ++
 .../TTransactionServer.commitTx_result.html     |  745 ++
 ...nsactionServer.getSnapshot_args._Fields.html |  365 +
 .../TTransactionServer.getSnapshot_args.html    |  569 ++
 ...actionServer.getSnapshot_result._Fields.html |  411 ++
 .../TTransactionServer.getSnapshot_result.html  |  771 ++
 .../distributed/thrift/TTransactionServer.html  |  377 +
 ...actionServer.invalidTxSize_args._Fields.html |  365 +
 .../TTransactionServer.invalidTxSize_args.html  |  569 ++
 ...tionServer.invalidTxSize_result._Fields.html |  399 +
 ...TTransactionServer.invalidTxSize_result.html |  662 ++
 ...sactionServer.invalidateTx_args._Fields.html |  399 +
 .../TTransactionServer.invalidateTx_args.html   |  662 ++
 ...ctionServer.invalidateTx_result._Fields.html |  399 +
 .../TTransactionServer.invalidateTx_result.html |  662 ++
 ...ansactionServer.resetState_args._Fields.html |  365 +
 .../TTransactionServer.resetState_args.html     |  569 ++
 ...sactionServer.resetState_result._Fields.html |  365 +
 .../TTransactionServer.resetState_result.html   |  569 ++
 ...ransactionServer.startLong_args._Fields.html |  365 +
 .../TTransactionServer.startLong_args.html      |  569 ++
 ...nsactionServer.startLong_result._Fields.html |  399 +
 .../TTransactionServer.startLong_result.html    |  662 ++
 ...onServer.startShortTimeout_args._Fields.html |  399 +
 ...ransactionServer.startShortTimeout_args.html |  662 ++
 ...Server.startShortTimeout_result._Fields.html |  399 +
 ...nsactionServer.startShortTimeout_result.html |  662 ++
 ...ansactionServer.startShort_args._Fields.html |  365 +
 .../TTransactionServer.startShort_args.html     |  569 ++
 ...sactionServer.startShort_result._Fields.html |  399 +
 .../TTransactionServer.startShort_result.html   |  662 ++
 .../TTransactionServer.status_args._Fields.html |  365 +
 .../thrift/TTransactionServer.status_args.html  |  569 ++
 ...TransactionServer.status_result._Fields.html |  399 +
 .../TTransactionServer.status_result.html       |  662 ++
 ...er.truncateInvalidTxBefore_args._Fields.html |  399 +
 ...tionServer.truncateInvalidTxBefore_args.html |  662 ++
 ....truncateInvalidTxBefore_result._Fields.html |  411 ++
 ...onServer.truncateInvalidTxBefore_result.html |  745 ++
 ...onServer.truncateInvalidTx_args._Fields.html |  399 +
 ...ransactionServer.truncateInvalidTx_args.html |  701 ++
 ...Server.truncateInvalidTx_result._Fields.html |  399 +
 ...nsactionServer.truncateInvalidTx_result.html |  662 ++
 .../distributed/thrift/TTransactionType.html    |  359 +
 .../distributed/thrift/TVisibilityLevel.html    |  371 +
 .../thrift/class-use/TBoolean._Fields.html      |  226 +
 .../distributed/thrift/class-use/TBoolean.html  |  366 +
 .../TInvalidTruncateTimeException._Fields.html  |  226 +
 .../TInvalidTruncateTimeException.html          |  241 +
 .../thrift/class-use/TTransaction._Fields.html  |  226 +
 .../thrift/class-use/TTransaction.html          |  610 ++
 ...onCouldNotTakeSnapshotException._Fields.html |  226 +
 ...ransactionCouldNotTakeSnapshotException.html |  241 +
 ...ansactionNotInProgressException._Fields.html |  226 +
 .../TTransactionNotInProgressException.html     |  307 +
 .../TTransactionServer.AsyncClient.Factory.html |  117 +
 ...nsactionServer.AsyncClient.abortTx_call.html |  178 +
 ...tionServer.AsyncClient.canCommitTx_call.html |  181 +
 ...ctionServer.AsyncClient.checkpoint_call.html |  178 +
 ...sactionServer.AsyncClient.commitTx_call.html |  178 +
 ...tionServer.AsyncClient.getSnapshot_call.html |  175 +
 .../TTransactionServer.AsyncClient.html         |  157 +
 ...onServer.AsyncClient.invalidTxSize_call.html |  175 +
 ...ionServer.AsyncClient.invalidateTx_call.html |  178 +
 ...ctionServer.AsyncClient.resetState_call.html |  175 +
 ...actionServer.AsyncClient.startLong_call.html |  175 +
 ...rver.AsyncClient.startShortTimeout_call.html |  178 +
 ...ctionServer.AsyncClient.startShort_call.html |  175 +
 ...ansactionServer.AsyncClient.status_call.html |  175 +
 ...syncClient.truncateInvalidTxBefore_call.html |  178 +
 ...rver.AsyncClient.truncateInvalidTx_call.html |  178 +
 .../TTransactionServer.AsyncIface.html          |  157 +
 .../TTransactionServer.Client.Factory.html      |  117 +
 .../class-use/TTransactionServer.Client.html    |  162 +
 .../class-use/TTransactionServer.Iface.html     |  252 +
 .../TTransactionServer.Processor.abortTx.html   |  117 +
 ...TransactionServer.Processor.canCommitTx.html |  117 +
 ...TTransactionServer.Processor.checkpoint.html |  117 +
 .../TTransactionServer.Processor.commitTx.html  |  117 +
 ...TransactionServer.Processor.getSnapshot.html |  117 +
 .../class-use/TTransactionServer.Processor.html |  117 +
 ...ansactionServer.Processor.invalidTxSize.html |  117 +
 ...ransactionServer.Processor.invalidateTx.html |  117 +
 ...TTransactionServer.Processor.resetState.html |  117 +
 .../TTransactionServer.Processor.startLong.html |  117 +
 ...TTransactionServer.Processor.startShort.html |  117 +
 ...ctionServer.Processor.startShortTimeout.html |  117 +
 .../TTransactionServer.Processor.status.html    |  117 +
 ...ctionServer.Processor.truncateInvalidTx.html |  117 +
 ...erver.Processor.truncateInvalidTxBefore.html |  117 +
 ...TTransactionServer.abortTx_args._Fields.html |  226 +
 .../TTransactionServer.abortTx_args.html        |  200 +
 ...ransactionServer.abortTx_result._Fields.html |  226 +
 .../TTransactionServer.abortTx_result.html      |  192 +
 ...nsactionServer.canCommitTx_args._Fields.html |  226 +
 .../TTransactionServer.canCommitTx_args.html    |  204 +
 ...actionServer.canCommitTx_result._Fields.html |  226 +
 .../TTransactionServer.canCommitTx_result.html  |  200 +
 ...ansactionServer.checkpoint_args._Fields.html |  226 +
 .../TTransactionServer.checkpoint_args.html     |  200 +
 ...sactionServer.checkpoint_result._Fields.html |  226 +
 .../TTransactionServer.checkpoint_result.html   |  200 +
 ...TransactionServer.commitTx_args._Fields.html |  226 +
 .../TTransactionServer.commitTx_args.html       |  200 +
 ...ansactionServer.commitTx_result._Fields.html |  226 +
 .../TTransactionServer.commitTx_result.html     |  200 +
 ...nsactionServer.getSnapshot_args._Fields.html |  226 +
 .../TTransactionServer.getSnapshot_args.html    |  196 +
 ...actionServer.getSnapshot_result._Fields.html |  226 +
 .../TTransactionServer.getSnapshot_result.html  |  204 +
 .../thrift/class-use/TTransactionServer.html    |  117 +
 ...actionServer.invalidTxSize_args._Fields.html |  226 +
 .../TTransactionServer.invalidTxSize_args.html  |  196 +
 ...tionServer.invalidTxSize_result._Fields.html |  226 +
 ...TTransactionServer.invalidTxSize_result.html |  196 +
 ...sactionServer.invalidateTx_args._Fields.html |  226 +
 .../TTransactionServer.invalidateTx_args.html   |  200 +
 ...ctionServer.invalidateTx_result._Fields.html |  226 +
 .../TTransactionServer.invalidateTx_result.html |  196 +
 ...ansactionServer.resetState_args._Fields.html |  226 +
 .../TTransactionServer.resetState_args.html     |  196 +
 ...sactionServer.resetState_result._Fields.html |  226 +
 .../TTransactionServer.resetState_result.html   |  192 +
 ...ransactionServer.startLong_args._Fields.html |  226 +
 .../TTransactionServer.startLong_args.html      |  196 +
 ...nsactionServer.startLong_result._Fields.html |  226 +
 .../TTransactionServer.startLong_result.html    |  196 +
 ...onServer.startShortTimeout_args._Fields.html |  226 +
 ...ransactionServer.startShortTimeout_args.html |  200 +
 ...Server.startShortTimeout_result._Fields.html |  226 +
 ...nsactionServer.startShortTimeout_result.html |  196 +
 ...ansactionServer.startShort_args._Fields.html |  226 +
 .../TTransactionServer.startShort_args.html     |  196 +
 ...sactionServer.startShort_result._Fields.html |  226 +
 .../TTransactionServer.startShort_result.html   |  196 +
 .../TTransactionServer.status_args._Fields.html |  226 +
 .../TTransactionServer.status_args.html         |  196 +
 ...TransactionServer.status_result._Fields.html |  226 +
 .../TTransactionServer.status_result.html       |  196 +
 ...er.truncateInvalidTxBefore_args._Fields.html |  226 +
 ...tionServer.truncateInvalidTxBefore_args.html |  200 +
 ....truncateInvalidTxBefore_result._Fields.html |  226 +
 ...onServer.truncateInvalidTxBefore_result.html |  200 +
 ...onServer.truncateInvalidTx_args._Fields.html |  226 +
 ...ransactionServer.truncateInvalidTx_args.html |  200 +
 ...Server.truncateInvalidTx_result._Fields.html |  226 +
 ...nsactionServer.truncateInvalidTx_result.html |  196 +
 .../thrift/class-use/TTransactionType.html      |  221 +
 .../thrift/class-use/TVisibilityLevel.html      |  221 +
 .../distributed/thrift/package-frame.html       |  132 +
 .../distributed/thrift/package-summary.html     |  646 ++
 .../tephra/distributed/thrift/package-tree.html |  279 +
 .../tephra/distributed/thrift/package-use.html  |  498 ++
 .../apache/tephra/examples/BalanceBooks.html    |  396 +
 .../tephra/examples/class-use/BalanceBooks.html |  117 +
 .../apache/tephra/examples/package-frame.html   |   20 +
 .../apache/tephra/examples/package-summary.html |  165 +
 .../apache/tephra/examples/package-tree.html    |  130 +
 .../org/apache/tephra/examples/package-use.html |  117 +
 .../hbase/HBase10ConfigurationProvider.html     |  291 +
 .../hbase/HBase11ConfigurationProvider.html     |  291 +
 .../hbase/HBase96ConfigurationProvider.html     |  291 +
 .../hbase/HBase98ConfigurationProvider.html     |  291 +
 .../tephra/hbase/SecondaryIndexTable.html       |  330 +
 .../tephra/hbase/TransactionAwareHTable.html    | 1285 ++++
 .../class-use/HBase10ConfigurationProvider.html |  117 +
 .../class-use/HBase11ConfigurationProvider.html |  117 +
 .../class-use/HBase96ConfigurationProvider.html |  117 +
 .../class-use/HBase98ConfigurationProvider.html |  117 +
 .../hbase/class-use/SecondaryIndexTable.html    |  117 +
 .../hbase/class-use/TransactionAwareHTable.html |  117 +
 .../hbase/coprocessor/CellSkipFilter.html       |  534 ++
 .../hbase/coprocessor/TransactionFilters.html   |  299 +
 .../hbase/coprocessor/TransactionProcessor.html |  620 ++
 .../TransactionVisibilityFilter.html            |  594 ++
 .../coprocessor/class-use/CellSkipFilter.html   |  117 +
 .../class-use/TransactionFilters.html           |  117 +
 .../class-use/TransactionProcessor.html         |  117 +
 .../class-use/TransactionVisibilityFilter.html  |  117 +
 .../tephra/hbase/coprocessor/package-frame.html |   23 +
 .../hbase/coprocessor/package-summary.html      |  161 +
 .../tephra/hbase/coprocessor/package-tree.html  |  145 +
 .../tephra/hbase/coprocessor/package-use.html   |  117 +
 .../org/apache/tephra/hbase/package-frame.html  |   25 +
 .../apache/tephra/hbase/package-summary.html    |  167 +
 .../org/apache/tephra/hbase/package-tree.html   |  143 +
 .../org/apache/tephra/hbase/package-use.html    |  117 +
 .../tephra/inmemory/DetachedTxSystemClient.html |  576 ++
 .../inmemory/InMemoryTransactionService.html    |  477 ++
 .../tephra/inmemory/InMemoryTxSystemClient.html |  577 ++
 .../tephra/inmemory/MinimalTxSystemClient.html  |  571 ++
 .../class-use/DetachedTxSystemClient.html       |  117 +
 .../class-use/InMemoryTransactionService.html   |  159 +
 .../class-use/InMemoryTxSystemClient.html       |  117 +
 .../class-use/MinimalTxSystemClient.html        |  117 +
 .../apache/tephra/inmemory/package-frame.html   |   23 +
 .../apache/tephra/inmemory/package-summary.html |  163 +
 .../apache/tephra/inmemory/package-tree.html    |  137 +
 .../org/apache/tephra/inmemory/package-use.html |  154 +
 .../tephra/metrics/DefaultMetricsCollector.html |  456 ++
 .../apache/tephra/metrics/MetricsCollector.html |  317 +
 .../tephra/metrics/TxMetricsCollector.html      |  443 ++
 .../class-use/DefaultMetricsCollector.html      |  117 +
 .../metrics/class-use/MetricsCollector.html     |  238 +
 .../metrics/class-use/TxMetricsCollector.html   |  159 +
 .../apache/tephra/metrics/package-frame.html    |   25 +
 .../apache/tephra/metrics/package-summary.html  |  160 +
 .../org/apache/tephra/metrics/package-tree.html |  146 +
 .../org/apache/tephra/metrics/package-use.html  |  203 +
 .../org/apache/tephra/package-frame.html        |   67 +
 .../org/apache/tephra/package-summary.html      |  412 ++
 .../org/apache/tephra/package-tree.html         |  201 +
 .../org/apache/tephra/package-use.html          |  536 ++
 .../persist/AbstractTransactionLog.Entry.html   |  334 +
 .../tephra/persist/AbstractTransactionLog.html  |  477 ++
 .../AbstractTransactionStateStorage.html        |  360 +
 .../tephra/persist/CommitMarkerCodec.html       |  306 +
 .../tephra/persist/HDFSTransactionLog.html      |  367 +
 .../HDFSTransactionLogReaderSupplier.html       |  269 +
 .../persist/HDFSTransactionLogReaderV1.html     |  325 +
 .../persist/HDFSTransactionLogReaderV2.html     |  327 +
 .../persist/HDFSTransactionLogReaderV3.html     |  327 +
 .../persist/HDFSTransactionStateStorage.html    |  606 ++
 .../org/apache/tephra/persist/HDFSUtil.html     |  273 +
 .../tephra/persist/LocalFileTransactionLog.html |  363 +
 .../LocalFileTransactionStateStorage.html       |  579 ++
 .../persist/NoOpTransactionStateStorage.html    |  608 ++
 .../tephra/persist/TransactionEdit.State.html   |  398 +
 .../apache/tephra/persist/TransactionEdit.html  |  739 ++
 .../tephra/persist/TransactionEditCodecs.html   |  296 +
 .../apache/tephra/persist/TransactionLog.html   |  290 +
 .../tephra/persist/TransactionLogReader.html    |  256 +
 .../tephra/persist/TransactionLogWriter.html    |  270 +
 .../tephra/persist/TransactionSnapshot.html     |  534 ++
 .../tephra/persist/TransactionStateStorage.html |  462 ++
 .../persist/TransactionVisibilityState.html     |  297 +
 .../class-use/AbstractTransactionLog.Entry.html |  161 +
 .../class-use/AbstractTransactionLog.html       |  167 +
 .../AbstractTransactionStateStorage.html        |  167 +
 .../persist/class-use/CommitMarkerCodec.html    |  117 +
 .../persist/class-use/HDFSTransactionLog.html   |  117 +
 .../HDFSTransactionLogReaderSupplier.html       |  117 +
 .../class-use/HDFSTransactionLogReaderV1.html   |  117 +
 .../class-use/HDFSTransactionLogReaderV2.html   |  117 +
 .../class-use/HDFSTransactionLogReaderV3.html   |  117 +
 .../class-use/HDFSTransactionStateStorage.html  |  117 +
 .../tephra/persist/class-use/HDFSUtil.html      |  117 +
 .../class-use/LocalFileTransactionLog.html      |  117 +
 .../LocalFileTransactionStateStorage.html       |  117 +
 .../class-use/NoOpTransactionStateStorage.html  |  117 +
 .../class-use/TransactionEdit.State.html        |  174 +
 .../persist/class-use/TransactionEdit.html      |  347 +
 .../class-use/TransactionEditCodecs.html        |  117 +
 .../persist/class-use/TransactionLog.html       |  227 +
 .../persist/class-use/TransactionLogReader.html |  202 +
 .../persist/class-use/TransactionLogWriter.html |  169 +
 .../persist/class-use/TransactionSnapshot.html  |  321 +
 .../class-use/TransactionStateStorage.html      |  225 +
 .../class-use/TransactionVisibilityState.html   |  300 +
 .../apache/tephra/persist/package-frame.html    |   48 +
 .../apache/tephra/persist/package-summary.html  |  303 +
 .../org/apache/tephra/persist/package-tree.html |  188 +
 .../org/apache/tephra/persist/package-use.html  |  351 +
 .../apache/tephra/rpc/RPCServiceHandler.html    |  232 +
 .../tephra/rpc/ThriftRPCServer.Builder.html     |  310 +
 .../org/apache/tephra/rpc/ThriftRPCServer.html  |  361 +
 .../tephra/rpc/class-use/RPCServiceHandler.html |  198 +
 .../rpc/class-use/ThriftRPCServer.Builder.html  |  185 +
 .../tephra/rpc/class-use/ThriftRPCServer.html   |  159 +
 .../org/apache/tephra/rpc/package-frame.html    |   25 +
 .../org/apache/tephra/rpc/package-summary.html  |  167 +
 .../org/apache/tephra/rpc/package-tree.html     |  139 +
 .../org/apache/tephra/rpc/package-use.html      |  185 +
 .../org/apache/tephra/runtime/ConfigModule.html |  279 +
 .../apache/tephra/runtime/DiscoveryModules.html |  286 +
 .../tephra/runtime/TransactionClientModule.html |  279 +
 .../runtime/TransactionInMemoryModule.html      |  280 +
 .../tephra/runtime/TransactionModules.html      |  285 +
 .../TransactionStateStorageProvider.html        |  235 +
 .../org/apache/tephra/runtime/ZKModule.html     |  279 +
 .../tephra/runtime/class-use/ConfigModule.html  |  117 +
 .../runtime/class-use/DiscoveryModules.html     |  117 +
 .../class-use/TransactionClientModule.html      |  117 +
 .../class-use/TransactionInMemoryModule.html    |  117 +
 .../runtime/class-use/TransactionModules.html   |  117 +
 .../TransactionStateStorageProvider.html        |  117 +
 .../tephra/runtime/class-use/ZKModule.html      |  117 +
 .../apache/tephra/runtime/package-frame.html    |   26 +
 .../apache/tephra/runtime/package-summary.html  |  175 +
 .../org/apache/tephra/runtime/package-tree.html |  140 +
 .../org/apache/tephra/runtime/package-use.html  |  117 +
 .../apache/tephra/snapshot/BinaryDecoder.html   |  310 +
 .../apache/tephra/snapshot/BinaryEncoder.html   |  304 +
 .../tephra/snapshot/DefaultSnapshotCodec.html   |  396 +
 .../apache/tephra/snapshot/SnapshotCodec.html   |  270 +
 .../tephra/snapshot/SnapshotCodecProvider.html  |  336 +
 .../apache/tephra/snapshot/SnapshotCodecV2.html |  326 +
 .../apache/tephra/snapshot/SnapshotCodecV3.html |  298 +
 .../apache/tephra/snapshot/SnapshotCodecV4.html |  327 +
 .../snapshot/class-use/BinaryDecoder.html       |  169 +
 .../snapshot/class-use/BinaryEncoder.html       |  199 +
 .../class-use/DefaultSnapshotCodec.html         |  176 +
 .../snapshot/class-use/SnapshotCodec.html       |  190 +
 .../class-use/SnapshotCodecProvider.html        |  183 +
 .../snapshot/class-use/SnapshotCodecV2.html     |  169 +
 .../snapshot/class-use/SnapshotCodecV3.html     |  117 +
 .../snapshot/class-use/SnapshotCodecV4.html     |  117 +
 .../apache/tephra/snapshot/package-frame.html   |   30 +
 .../apache/tephra/snapshot/package-summary.html |  202 +
 .../apache/tephra/snapshot/package-tree.html    |  146 +
 .../org/apache/tephra/snapshot/package-use.html |  200 +
 .../tephra/util/ConfigurationFactory.html       |  290 +
 .../tephra/util/ConfigurationProvider.html      |  285 +
 .../tephra/util/HBaseVersion.Version.html       |  411 ++
 .../tephra/util/HBaseVersion.VersionNumber.html |  313 +
 .../org/apache/tephra/util/HBaseVersion.html    |  322 +
 .../util/HBaseVersionSpecificFactory.html       |  351 +
 .../org/apache/tephra/util/TxUtils.html         |  381 +
 .../util/class-use/ConfigurationFactory.html    |  117 +
 .../util/class-use/ConfigurationProvider.html   |  177 +
 .../util/class-use/HBaseVersion.Version.html    |  172 +
 .../class-use/HBaseVersion.VersionNumber.html   |  157 +
 .../tephra/util/class-use/HBaseVersion.html     |  117 +
 .../class-use/HBaseVersionSpecificFactory.html  |  117 +
 .../apache/tephra/util/class-use/TxUtils.html   |  117 +
 .../org/apache/tephra/util/package-frame.html   |   29 +
 .../org/apache/tephra/util/package-summary.html |  185 +
 .../org/apache/tephra/util/package-tree.html    |  147 +
 .../org/apache/tephra/util/package-use.html     |  178 +
 .../tephra/visibility/DefaultFenceWait.html     |  252 +
 .../org/apache/tephra/visibility/FenceWait.html |  231 +
 .../tephra/visibility/VisibilityFence.html      |  341 +
 .../visibility/class-use/DefaultFenceWait.html  |  117 +
 .../tephra/visibility/class-use/FenceWait.html  |  175 +
 .../visibility/class-use/VisibilityFence.html   |  117 +
 .../apache/tephra/visibility/package-frame.html |   25 +
 .../tephra/visibility/package-summary.html      |  161 +
 .../apache/tephra/visibility/package-tree.html  |  135 +
 .../apache/tephra/visibility/package-use.html   |  152 +
 .../tephra/zookeeper/TephraZKClientService.html |  765 ++
 .../class-use/TephraZKClientService.html        |  117 +
 .../apache/tephra/zookeeper/package-frame.html  |   20 +
 .../tephra/zookeeper/package-summary.html       |  137 +
 .../apache/tephra/zookeeper/package-tree.html   |  134 +
 .../apache/tephra/zookeeper/package-use.html    |  117 +
 ...eadedSelectorServerWithFix.AcceptThread.html |  345 +
 ...SelectorServerWithFix.Args.AcceptPolicy.html |  336 +
 .../TThreadedSelectorServerWithFix.Args.html    |  528 ++
 ...dedSelectorServerWithFix.SelectorThread.html |  383 +
 ...erverWithFix.SelectorThreadLoadBalancer.html |  264 +
 .../server/TThreadedSelectorServerWithFix.html  |  521 ++
 ...eadedSelectorServerWithFix.AcceptThread.html |  117 +
 ...SelectorServerWithFix.Args.AcceptPolicy.html |  183 +
 .../TThreadedSelectorServerWithFix.Args.html    |  209 +
 ...dedSelectorServerWithFix.SelectorThread.html |  173 +
 ...erverWithFix.SelectorThreadLoadBalancer.html |  174 +
 .../TThreadedSelectorServerWithFix.html         |  117 +
 .../org/apache/thrift/server/package-frame.html |   25 +
 .../apache/thrift/server/package-summary.html   |  159 +
 .../org/apache/thrift/server/package-tree.html  |  166 +
 .../org/apache/thrift/server/package-use.html   |  167 +
 .../overview-frame.html                         |   38 +
 .../overview-summary.html                       |  216 +
 .../apidocs-0.8.0-incubating/overview-tree.html |  536 ++
 .../apidocs-0.8.0-incubating/package-list       |   18 +
 .../resources/background.gif                    |  Bin 0 -> 2313 bytes
 .../apidocs-0.8.0-incubating/resources/tab.gif  |  Bin 0 -> 291 bytes
 .../resources/titlebar.gif                      |  Bin 0 -> 10701 bytes
 .../resources/titlebar_end.gif                  |  Bin 0 -> 849 bytes
 .../serialized-form.html                        | 1707 +++++
 .../apidocs-0.8.0-incubating/stylesheet.css     |  474 ++
 src/site/resources/images/tephra_logotype.png   |  Bin 0 -> 12676 bytes
 src/site/site.xml                               |  106 +
 589 files changed, 169962 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tephra/blob/1047fad6/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 4455efb..de257a5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -392,7 +392,7 @@
         <plugin>
           <groupId>org.apache.rat</groupId>
           <artifactId>apache-rat-plugin</artifactId>
-          <version>0.10</version>
+          <version>0.11</version>
           <executions>
             <execution>
               <id>rat-check</id>
@@ -614,6 +614,144 @@
         </plugins>
       </build>
     </profile>
+
+    <profile>
+      <id>site</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-site-plugin</artifactId>
+            <version>3.4</version>
+            <dependencies>
+              <dependency>
+                <groupId>org.apache.maven.doxia</groupId>
+                <artifactId>doxia-core</artifactId>
+                <version>1.6</version>
+              </dependency>
+              <dependency>
+                <groupId>org.apache.maven.doxia</groupId>
+                <artifactId>doxia-module-markdown</artifactId>
+                <version>1.6</version>
+              </dependency>
+              <dependency>
+                <groupId>lt.velykis.maven.skins</groupId>
+                <artifactId>reflow-velocity-tools</artifactId>
+                <version>1.1.1</version>
+              </dependency>
+              <dependency>
+                <groupId>org.apache.velocity</groupId>
+                <artifactId>velocity</artifactId>
+                <version>1.7</version>
+              </dependency>
+            </dependencies>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.rat</groupId>
+            <artifactId>apache-rat-plugin</artifactId>
+            <version>0.11</version>
+            <executions>
+              <execution>
+                <id>rat-check</id>
+                <phase>validate</phase>
+                <goals>
+                  <goal>check</goal>
+                </goals>
+                <configuration>
+                  <excludes>
+                    <exclude>build-number.txt</exclude>
+                    <exclude>README.rst</exclude>
+                    <exclude>RELEASING.rst</exclude>
+                    <exclude>**/target/**</exclude>
+                    <exclude>**/.git/**</exclude>
+                    <exclude>.gitignore</exclude>
+                    <exclude>**/.idea/**</exclude>
+                    <exclude>**/*.iml</exclude>
+                    <exclude>**/.project</exclude>
+                    <exclude>**/.classpath</exclude>
+                    <exclude>**/.settings/**</exclude>
+                    <exclude>src/site/resources/**</exclude>
+                  </excludes>
+                </configuration>
+              </execution>
+            </executions>
+            <dependencies>
+              <dependency>
+                <groupId>org.apache.maven.doxia</groupId>
+                <artifactId>doxia-core</artifactId>
+                <version>1.6</version>
+                <exclusions>
+                  <!-- Exclude xerces to remove XML parsing warnings (RAT-158) -->
+                  <exclusion>
+                    <groupId>xerces</groupId>
+                    <artifactId>xercesImpl</artifactId>
+                  </exclusion>
+                </exclusions>
+              </dependency>
+            </dependencies>
+          </plugin>
+        </plugins>
+      </build>
+
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-project-info-reports-plugin</artifactId>
+            <version>2.7</version>
+            <reportSets>
+              <reportSet>
+                <reports/>
+              </reportSet>
+              <reportSet>
+                <id>aggregate</id>
+                <inherited>false</inherited>
+                <reports>
+                  <report>index</report>
+                  <report>mailing-list</report>
+                  <report>scm</report>
+                  <report>issue-tracking</report>
+                  <report>project-team</report>
+                </reports>
+              </reportSet>
+            </reportSets>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <version>2.9.1</version>
+            <configuration>
+              <failOnError>false</failOnError>
+              <links>
+                <link>http://download.oracle.com/javase/7/docs/api/</link>
+              </links>
+              <bottom>
+                <![CDATA[Copyright &#169; 2016 <a href="http://www.apache.org">The Apache Software Foundation</a>. All rights reserved.]]>
+              </bottom>
+            </configuration>
+            <reportSets>
+              <!--<reportSet>-->
+                <!--<reports>-->
+                  <!--<report>javadoc</report>-->
+                <!--</reports>-->
+              <!--</reportSet>-->
+              <reportSet>
+                <id>aggregate</id>
+                <inherited>false</inherited>
+                <reports>
+                  <report>aggregate</report>
+                </reports>
+              </reportSet>
+            </reportSets>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-report-plugin</artifactId>
+            <version>2.14.1</version>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
   </profiles>
 
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-tephra/blob/1047fad6/src/site/markdown/GettingStarted.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/GettingStarted.md b/src/site/markdown/GettingStarted.md
new file mode 100644
index 0000000..ff03018
--- /dev/null
+++ b/src/site/markdown/GettingStarted.md
@@ -0,0 +1,463 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<head>
+  <title>Getting Started</title>
+</head>
+
+## Getting Started
+You can get started with Tephra by building directly from the latest source code:
+
+```sh
+  git clone https://git-wip-us.apache.org/repos/asf/incubator-tephra.git
+  cd incubator-tephra
+  mvn clean package
+```
+
+After the build completes, you will have a full binary distribution of Tephra under the
+`tephra-distribution/target/` directory. Take the `tephra-<version>.tar.gz` file and install
+it on your systems.
+
+For any client applications, add the following dependencies to any Apache Maven POM files (or your
+build system's equivalent configuration), in order to make use of Tephra classes:
+
+```xml
+  <dependency>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-api</artifactId>
+    <version>${tephra.version}</version>
+  </dependency>
+  <dependency>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-core</artifactId>
+    <version>${tephra.version}</version>
+  </dependency>
+```
+
+Since the HBase APIs have changed between versions, you will need to select the
+appropriate HBase compatibility library.
+
+For HBase 0.96.x:
+
+```xml
+  <dependency>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-hbase-compat-0.96</artifactId>
+    <version>${tephra.version}</version>
+  </dependency>
+```
+
+For HBase 0.98.x:
+
+```xml
+  <dependency>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-hbase-compat-0.98</artifactId>
+    <version>${tephra.version}</version>
+  </dependency>
+```
+
+For HBase 1.0.x:
+
+```xml
+  <dependency>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-hbase-compat-1.0</artifactId>
+    <version>${tephra.version}</version>
+  </dependency>
+```
+
+If you are running the CDH 5.4, 5.5, or 5.6 version of HBase 1.0.x (this version contains API incompatibilities
+with Apache HBase 1.0.x):
+
+```xml
+  <dependency>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-hbase-compat-1.0-cdh</artifactId>
+    <version>${tephra.version}</version>
+  </dependency>
+```
+
+For HBase 1.1.x or HBase 1.2.x:
+
+```xml
+  <dependency>
+    <groupId>org.apache.tephra</groupId>
+    <artifactId>tephra-hbase-compat-1.1</artifactId>
+    <version>${tephra.version}</version>
+  </dependency>
+```
+
+## Deployment and Configuration
+Tephra makes use of a central transaction server to assign unique transaction IDs for data
+modifications and to perform conflict detection. Only a single transaction server can actively
+handle client requests at a time, however, additional transaction server instances can be run
+simultaneously, providing automatic failover if the active server becomes unreachable.
+
+### Transaction Server Configuration
+The Tephra transaction server can be deployed on the same cluster nodes running the HBase HMaster
+process. The transaction server requires that the HBase libraries be available on the server's
+Java `CLASSPATH`.
+
+The transaction server supports the following configuration properties. All configuration
+properties can be added to the `hbase-site.xml` file on the server's `CLASSPATH`:
+
+
+| Name                        | Default    | Description                                                     |
+|-----------------------------|------------|-----------------------------------------------------------------|
+| `data.tx.bind.port`         | 15165      | Port to bind to                                                 |
+| `data.tx.bind.address`      | 0.0.0.0    | Server address to listen on                                     |
+| `data.tx.server.io.threads` | 2          | Number of threads for socket IO                                 |
+| `data.tx.server.threads`    | 20         | Number of handler threads                                       |
+| `data.tx.timeout`           | 30         | Timeout for a transaction to complete (seconds)                 |
+| `data.tx.long.timeout`      | 86400      | Timeout for a long running transaction to complete (seconds)    |
+| `data.tx.cleanup.interval`  | 10         | Frequency to check for timed out transactions (seconds)         |
+| `data.tx.snapshot.dir`      |            | HDFS directory used to store snapshots of tx state              |
+| `data.tx.snapshot.interval` | 300        | Frequency to write new snapshots                                |
+| `data.tx.snapshot.retain`   | 10         | Number of old transaction snapshots to retain                   |
+| `data.tx.metrics.period`    | 60         | Frequency for metrics reporting (seconds)                       |
+
+To run the Transaction server, execute the following command in your Tephra installation:
+
+```sh
+  ./bin/tephra start
+```
+
+Any environment-specific customizations can be made by editing the `bin/tephra-env.sh` script.
+
+
+### Client Configuration
+Since Tephra clients will be communicating with HBase, the HBase client libraries and the HBase cluster
+configuration must be available on the client's Java `CLASSPATH`.
+
+Client API usage is described in the Client APIs section.
+
+The transaction service client supports the following configuration properties. All configuration
+properties can be added to the `hbase-site.xml` file on the client's `CLASSPATH`:
+
+| Name                                   | Default   | Description                                   |
+|----------------------------------------|-----------|-----------------------------------------------|
+| `data.tx.client.timeout`               | 30000     | Client socket timeout (milliseconds)          |
+| `data.tx.client.provider`              | pool      | Client provider strategy: <ul><li>"pool" uses a pool of clients</li><li>"thread-local" a client per thread</li></ul> Note that "thread-local" provider can have a resource leak if threads are recycled |
+| `data.tx.client.count`                 | 50        | Max number of clients for "pool" provider     |
+| `data.tx.client.obtain.timeout`        | 3000      | Timeout (milliseconds) to wait when obtaining clients from the "pool" provider |
+| `data.tx.client.retry.strategy`        | backoff   | Client retry strategy: "backoff" for back off between attempts; "n-times" for fixed number of tries |
+| `data.tx.client.retry.attempts`        | 2         | Number of times to retry ("n-times" strategy) |
+| `data.tx.client.retry.backoff.initial` | 100       | Initial sleep time ("backoff" strategy)       |
+| `data.tx.client.retry.backoff.factor`  | 4         | Multiplication factor for sleep time          |
+| `data.tx.client.retry.backoff.limit`   | 30000     | Exit when sleep time reaches this limit       |
+
+
+### HBase Coprocessor Configuration
+
+In addition to the transaction server, Tephra requires an HBase coprocessor to be installed on all
+tables where transactional reads and writes will be performed.
+
+To configure the coprocessor on all HBase tables, add the following to `hbase-site.xml`:
+
+```xml
+  <property>
+    <name>hbase.coprocessor.region.classes</name>
+    <value>org.apache.tephra.hbase.coprocessor.TransactionProcessor</value>
+  </property>
+```
+
+You may configure the `TransactionProcessor` to be loaded only on HBase tables that you will
+be using for transaction reads and writes. However, you must ensure that the coprocessor is
+available on all impacted tables in order for Tephra to function correctly.
+
+### Using Existing HBase Tables Transactionally
+
+Tephra overrides HBase cell timestamps with transaction IDs, and uses these transaction
+IDs to filter out cells older than the TTL (Time-To-Live). Transaction IDs are at a higher
+scale than cell timestamps. When a regular HBase table that has existing data is
+converted to a transactional table, existing data may be filtered out during reads. To
+allow reading of existing data from a transactional table, you will need to set the
+property `data.tx.read.pre.existing` as `true` on the table's table descriptor.
+
+Note that even without the property `data.tx.read.pre.existing` being set to `true`,
+any existing data will not be removed during compactions. Existing data simply won't be
+visible during reads.
+
+### Metrics Reporting
+
+Tephra ships with built-in support for reporting metrics via JMX and a log file, using the
+[Dropwizard Metrics](http://metrics.dropwizard.io) library.
+
+To enable JMX reporting for metrics, you will need to enable JMX in the Java runtime
+arguments. Edit the `bin/tephra-env.sh` script and uncomment the following lines, making any
+desired changes to configuration for port used, SSL, and JMX authentication:
+
+```sh
+  export JMX_OPTS="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=13001"
+  export OPTS="$OPTS $JMX_OPTS"
+```
+
+To enable file-based reporting for metrics, edit the `conf/logback.xml` file and uncomment the
+following section, replacing the `FILE-PATH` placeholder with a valid directory on the local
+filesystem:
+
+```xml
+  <appender name="METRICS" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>/FILE-PATH/metrics.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+      <maxHistory>30</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>%d{ISO8601} %msg%n</pattern>
+    </encoder>
+  </appender>
+  <logger name="tephra-metrics" level="TRACE" additivity="false">
+    <appender-ref ref="METRICS" />
+  </logger>
+```
+
+The frequency of metrics reporting may be configured by setting the `data.tx.metrics.period`
+configuration property to the report frequency in seconds.
+
+
+## Client APIs
+
+The `TransactionAwareHTable` class implements HBase's `HTableInterface`, thus providing the same APIs
+that a standard HBase `HTable` instance provides. Only certain operations are supported
+transactionally. These are:
+
+| Methods Supported In Transactions                                                                 |
+|---------------------------------------------------------------------------------------------------|
+| `exists(Get get)`                                                                                 |
+| `exists(List<Get> gets)`                                                                          |
+| `get(Get get)`                                                                                    |
+| `get(List<Get> gets)`                                                                             |
+| `batch(List<? extends Row> actions, Object[] results)`                                            |
+| `batch(List<? extends Row> actions)`                                                              |
+| `batchCallback(List<? extends Row> actions, Object[] results, Batch.Callback<R> callback)` [0.96] |
+| `batchCallback(List<? extends Row> actions, Batch.Callback<R> callback)` [0.96]                   |
+| `getScanner(byte[] family)`                                                                       |
+| `getScanner(byte[] family, byte[] qualifier)`                                                     |
+| `put(Put put)`                                                                                    |
+| `put(List<Put> puts)`                                                                             |
+| `delete(Delete delete)`                                                                           |
+| `delete(List<Delete> deletes)`                                                                    |
+
+Other operations are not supported transactionally and will throw an ``UnsupportedOperationException`` if invoked.
+To allow use of these non-transactional operations, call ``setAllowNonTransactional(true)``. This
+allows you to call the following methods non-transactionally:
+
+| Methods Supported Outside of Transactions                                                               |
+|---------------------------------------------------------------------------------------------------------|
+| `getRowOrBefore(byte[] row, byte[], family)`                                                            |
+| `checkAndPut(byte[] row, byte[] family, byte[] qualifier, byte[] value, Put put)`                       |
+| `checkAndDelete(byte[] row, byte[] family, byte[] qualifier, byte[] value, Delete delete)`              |
+| `mutateRow(RowMutations rm)`                                                                            |
+| `append(Append append)`                                                                                 |
+| `increment(Increment increment)`                                                                        |
+| `incrementColumnValue(byte[] row, byte[] family, byte[] qualifier, long amount)`                        |
+| `incrementColumnValue(byte[] row, byte[] family, byte[] qualifier, long amount, Durability durability)` |
+| `incrementColumnValue(byte[] row, byte[] family, byte[] qualifier, long amount, boolean writeToWAL)`    |
+
+Note that for `batch` operations, only certain supported operations (`get`, `put`, and `delete`)
+are applied transactionally.
+
+### Usage
+
+To use a `TransactionalAwareHTable`, you need an instance of `TransactionContext`.
+`TransactionContext` provides the basic contract for client use of transactions. At each point
+in the transaction lifecycle, it provides the necessary interactions with the Tephra Transaction
+Server in order to start, commit, and rollback transactions. Basic usage of
+`TransactionContext` is handled using the following pattern:
+
+```java
+  TransactionContext context = new TransactionContext(client, transactionAwareHTable);
+  try {
+    context.start();
+    transactionAwareHTable.put(new Put(Bytes.toBytes("row"));
+    // ...
+    context.finish();
+  } catch (TransactionFailureException e) {
+    context.abort();
+  }
+```
+
+1. First, a new transaction is started using `TransactionContext.start()`.
+1. Next, any data operations are performed within the context of the transaction.
+1. After data operations are complete, `TransactionContext.finish()` is called to commit the
+   transaction.
+1. If an exception occurs, `TransactionContext.abort()` can be called to rollback the
+   transaction.
+
+`TransactionAwareHTable` handles the details of performing data operations transactionally, and
+implements the necessary hooks in order to commit and rollback the data changes (see
+`TransactionAware`).
+
+### Example
+
+To demonstrate how you might use `TransactionAwareHTable`\s, below is a basic implementation of a
+`SecondaryIndexTable`. This class encapsulates the usage of a `TransactionContext` and provides a simple interface
+to a user:
+
+```java
+  /**
+   * A Transactional SecondaryIndexTable.
+   */
+  public class SecondaryIndexTable {
+    private byte[] secondaryIndex;
+    private TransactionAwareHTable transactionAwareHTable;
+    private TransactionAwareHTable secondaryIndexTable;
+    private TransactionContext transactionContext;
+    private final TableName secondaryIndexTableName;
+    private static final byte[] secondaryIndexFamily =
+      Bytes.toBytes("secondaryIndexFamily");
+    private static final byte[] secondaryIndexQualifier = Bytes.toBytes('r');
+    private static final byte[] DELIMITER  = new byte[] {0};
+
+    public SecondaryIndexTable(TransactionServiceClient transactionServiceClient,
+                               HTable hTable, byte[] secondaryIndex) {
+      secondaryIndexTableName =
+            TableName.valueOf(hTable.getName().getNameAsString() + ".idx");
+      HTable secondaryIndexHTable = null;
+      HBaseAdmin hBaseAdmin = null;
+      try {
+        hBaseAdmin = new HBaseAdmin(hTable.getConfiguration());
+        if (!hBaseAdmin.tableExists(secondaryIndexTableName)) {
+          hBaseAdmin.createTable(new HTableDescriptor(secondaryIndexTableName));
+        }
+        secondaryIndexHTable = new HTable(hTable.getConfiguration(),
+                                          secondaryIndexTableName);
+      } catch (Exception e) {
+        Throwables.propagate(e);
+      } finally {
+        try {
+          hBaseAdmin.close();
+        } catch (Exception e) {
+          Throwables.propagate(e);
+        }
+      }
+
+      this.secondaryIndex = secondaryIndex;
+      this.transactionAwareHTable = new TransactionAwareHTable(hTable);
+      this.secondaryIndexTable = new TransactionAwareHTable(secondaryIndexHTable);
+      this.transactionContext = new TransactionContext(transactionServiceClient,
+                                                       transactionAwareHTable,
+                                                       secondaryIndexTable);
+    }
+
+    public Result get(Get get) throws IOException {
+      return get(Collections.singletonList(get))[0];
+    }
+
+    public Result[] get(List<Get> gets) throws IOException {
+      try {
+        transactionContext.start();
+        Result[] result = transactionAwareHTable.get(gets);
+        transactionContext.finish();
+        return result;
+      } catch (Exception e) {
+        try {
+          transactionContext.abort();
+        } catch (TransactionFailureException e1) {
+          throw new IOException("Could not rollback transaction", e1);
+        }
+      }
+      return null;
+    }
+
+    public Result[] getByIndex(byte[] value) throws IOException {
+      try {
+        transactionContext.start();
+        Scan scan = new Scan(value, Bytes.add(value, new byte[0]));
+        scan.addColumn(secondaryIndexFamily, secondaryIndexQualifier);
+        ResultScanner indexScanner = secondaryIndexTable.getScanner(scan);
+
+        ArrayList<Get> gets = new ArrayList<Get>();
+        for (Result result : indexScanner) {
+          for (Cell cell : result.listCells()) {
+            gets.add(new Get(cell.getValue()));
+          }
+        }
+        Result[] results = transactionAwareHTable.get(gets);
+        transactionContext.finish();
+        return results;
+      } catch (Exception e) {
+        try {
+          transactionContext.abort();
+        } catch (TransactionFailureException e1) {
+          throw new IOException("Could not rollback transaction", e1);
+        }
+      }
+      return null;
+    }
+
+    public void put(Put put) throws IOException {
+      put(Collections.singletonList(put));
+    }
+
+
+    public void put(List<Put> puts) throws IOException {
+      try {
+        transactionContext.start();
+        ArrayList<Put> secondaryIndexPuts = new ArrayList<Put>();
+        for (Put put : puts) {
+          List<Put> indexPuts = new ArrayList<Put>();
+          Set<Map.Entry<byte[], List<KeyValue>>> familyMap = put.getFamilyMap().entrySet();
+          for (Map.Entry<byte [], List<KeyValue>> family : familyMap) {
+            for (KeyValue value : family.getValue()) {
+              if (value.getQualifier().equals(secondaryIndex)) {
+                byte[] secondaryRow = Bytes.add(value.getQualifier(),
+                                                DELIMITER,
+                                                Bytes.add(value.getValue(),
+                                                DELIMITER,
+                                                value.getRow()));
+                Put indexPut = new Put(secondaryRow);
+                indexPut.add(secondaryIndexFamily, secondaryIndexQualifier, put.getRow());
+                indexPuts.add(indexPut);
+              }
+            }
+          }
+          secondaryIndexPuts.addAll(indexPuts);
+        }
+        transactionAwareHTable.put(puts);
+        secondaryIndexTable.put(secondaryIndexPuts);
+        transactionContext.finish();
+      } catch (Exception e) {
+        try {
+          transactionContext.abort();
+        } catch (TransactionFailureException e1) {
+          throw new IOException("Could not rollback transaction", e1);
+        }
+      }
+    }
+  }
+```
+
+## Known Issues and Limitations
+
+- Currently, column family `Delete` operations are implemented by writing a cell with an empty
+  qualifier (empty `byte[]`) and empty value (empty `byte[]`). This is done in place of
+  native HBase `Delete` operations so the delete marker can be rolled back in the event of
+  a transaction failure -- normal HBase `Delete` operations cannot be undone. However, this
+  means that applications that store data in a column with an empty qualifier will not be able to
+  store empty values, and will not be able to transactionally delete that column.
+- Column `Delete` operations are implemented by writing a empty value (empty `byte[]`) to the
+  column. This means that applications will not be able to store empty values to columns.
+- Invalid transactions are not automatically cleared from the exclusion list. When a transaction is
+  invalidated, either from timing out or being invalidated by the client due to a failure to rollback
+  changes, its transaction ID is added to a list of excluded transactions. Data from invalidated
+  transactions will be dropped by the `TransactionProcessor` coprocessor on HBase region flush
+  and compaction operations. Currently, however, transaction IDs can only be manually removed
+  from the list of excluded transaction IDs, using the `org.apache.tephra.TransactionAdmin` tool.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tephra/blob/1047fad6/src/site/markdown/HowToContribute.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/HowToContribute.md b/src/site/markdown/HowToContribute.md
new file mode 100644
index 0000000..381a048
--- /dev/null
+++ b/src/site/markdown/HowToContribute.md
@@ -0,0 +1,71 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<head>
+  <title>How to Contribute</title>
+</head>
+
+## Contributing to Apache Tephra
+
+The Apache Tephra team welcome all types of contributions, whether they are bug reports, feature requests,
+documentation, or code patches.
+
+### Reporting Issues
+
+To report bugs or request new features, please open an issue in the
+[Apache Tephra JIRA](https://issues.apache.org/jira/browse/TEPHRA). You can also use the
+[dev mailing list](mail-lists.html) for general questions or discussions.
+
+### Contributing Code
+
+We prefer contributions through [GitHub](https://github.com/apache/incubator-tephra) pull requests. Please follow
+these steps to get your contributions in:
+
+1. Open a new issue or pick up an existing one in the [Apache TEPHRA JIRA](https://issues.apache.org/jira/browse/TEPHRA)
+  about the patch that you are going to submit.
+2. If you are proposing public API changes or big changes, please attach a design document to the JIRA. You
+  can also use the [dev mailing list](mail-lists.html) to discuss it first. This will help us understand your needs
+  and best guide your solution in a way that fits the project.
+3. [Fork](https://help.github.com/articles/fork-a-repo) the
+  [Apache Tephra GitHub repo.](https://github.com/apache/incubator-tephra)
+4. Make the changes and send a [pull request](https://help.github.com/articles/using-pull-requests) from your
+  forked repo to the Apache Tephra repo.
+5. Please prefix your pull request title with the JIRA issue ID; for example, `(TEPHRA-35) Added invalid transaction pruning`.
+6. Please complete the pull request description with additional details as appropriate.
+7. Once sent, code review will be done through the pull request.
+8. Once all review issues are resolved, we will merge the changes into the `master` branch of the Apache Tephra repo.
+
+### How to Merge Code Changes
+
+Committer can merge code changes that are already reviewed into the `master` branch with the following steps:
+
+1. Make sure the GitHub pull request is squashed into one commit. If not, ask the patch contributor to help doing so.
+
+2. Download the patch file from GitHub. You can append `.patch` to the end of the GitHub pull request URL to get the patch file.
+
+        curl -L -O https://github.com/apache/incubator-tephra/pull/${PR_NUMBER}.patch
+3. Edit the patch file and add the following line in the commit message for closing the pull request.
+
+        This closes #${PR_NUMBER} from GitHub.
+4. Apply the patch and push it back to remote repo. Make sure you apply it on the latest `master` branch.
+
+        git checkout master
+        git pull origin master
+        git am --signoff < ${PR_NUMBER}
+        git push origin master
+5. Close the JIRA issue associated with the patch.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tephra/blob/1047fad6/src/site/markdown/ReleaseGuide.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/ReleaseGuide.md b/src/site/markdown/ReleaseGuide.md
new file mode 100644
index 0000000..050d21c
--- /dev/null
+++ b/src/site/markdown/ReleaseGuide.md
@@ -0,0 +1,220 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<head>
+  <title>Release Guide</title>
+</head>
+
+This page describes the step-by-step process of how to perform an official Apache Tephra version release,
+including deploying the release artifacts to Maven repositories and the additional administrative
+steps to complete the release process.
+
+## Prerequisites
+
+### Maven Settings File
+Prior to performing an Apache Tephra release, you must have an entry such as this in your
+`~/.m2/settings.xml` file to authenticate when deploying the release artifacts:
+
+```xml
+  <?xml version="1.0" encoding="UTF-8"?>
+  <settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"
+      xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <servers>
+      <server>
+        <id>apache.snapshots.https</id>
+        <username>USERNAME</username>
+        <password>PASSWORD</password>
+      </server>
+      <server>
+        <id>apache.releases.https</id>
+        <username>USERNAME</username>
+        <password>PASSWORD</password>
+      </server>
+    </servers>
+  </settings>
+```
+  
+Replace `USERNAME` and `PASSWORD` with the correct values for your user account. See the
+[Maven Encryption Guide](http://maven.apache.org/guides/mini/guide-encryption.html) for details
+on how to avoid storing the plaintext password in the `settings.xml` file.
+
+### PGP Key
+You will also need to have created a PGP (or GPG) key pair, which will be used in signing the release
+artifacts. For more information on using the Maven GPG plugin, see this
+[introduction](http://blog.sonatype.com/2010/01/how-to-generate-pgp-signatures-with-maven/) from Sonatype and
+the Maven GPG Plugin [usage page](https://maven.apache.org/plugins/maven-gpg-plugin/usage.html).
+You may also want to run gpg-agent in order to avoid being prompted multiple times for the GPG key passphrase when
+performing a release.
+
+
+## Performing the Release
+
+### Ensure Local Branch is Up-to-date
+First, make sure your local copy of the `master` branch is up-to-date with all changes:
+
+```sh
+  git checkout master
+  git pull
+```
+
+### Create the Release Branch
+Next, create a release branch from `master`:
+
+```sh
+  git checkout -b release/N.N.N
+```
+
+replacing `N.N.N` with the desired release version.
+
+### Prepare the Release
+While on the release branch, prepare the release:
+
+```sh
+  mvn clean release:prepare -P apache-release
+```
+
+This will prompt you for the release version and the git tag to use for the release. By
+convention, we use `vN.N.N` for the release tag (ie. v0.6.0 for release 0.6.0).
+
+### Perform the Release
+Perform the release by running:
+
+```sh
+  mvn release:perform -P apache-release
+```
+
+This will checkout the source code using the release tag, build the release and deploy it to the
+repository.apache.org repository. Also it creates a source tarball
+`apache-tephra-0.8.0-incubating-SNAPSHOT-source-release.tar.gz` under the `target` directory.
+
+### Prepare Release Artifacts
+1. Checkin the source release tarball, together with the signature, md5 and sha512 files found in
+   `target/` directory
+   to `dist.apache.org/repos/dist/dev/incubator/tephra/${RELEASE_VERSION}-incubating-rc1/src/`.
+1. Create a CHANGES.txt file to describe the changes in the release and checkin the file to
+   `dist.apache.org/repos/dist/dev/incubator/tephra/${RELEASE_VERSION}-incubating-rc1/CHANGES.txt`.
+1. Close the staging repository at <https://repository.apache.org>
+
+
+### Update POM Version in master
+Update the POMs in `master` by:
+
+```sh
+  git checkout master
+  git merge release/N.N.N
+  git push origin master
+```
+
+### Vote for the Release in Dev Mailing List
+Create a vote in the dev@tephra mailing list, and wait for 72 hours for the vote result.
+Here is a template for the email:
+
+```
+  Subject: [VOTE] Release of Apache Tephra-${RELEASE_VERSION}-incubating [rc1]
+  ============================================================================
+
+  Hi all,
+
+  This is a call for a vote on releasing Apache Tephra ${RELEASE_VERSION}-incubating, release candidate 1. This
+  is the [Nth] release of Tephra.
+
+  The source tarball, including signatures, digests, etc. can be found at:
+  https://dist.apache.org/repos/dist/dev/incubator/tephra/${RELEASE_VERSION}-incubating-rc1/src
+
+  The tag to be voted upon is v${RELEASE_VERSION}-incubating:
+  https://git-wip-us.apache.org/repos/asf?p=incubator-tephra.git;a=shortlog;h=refs/tags/v${RELEASE_VERSION}-incubating
+
+  The release hash is [REF]:
+  https://git-wip-us.apache.org/repos/asf?p=incubator-tephra.git;a=commit;h=[REF]
+
+  The Nexus Staging URL:
+  https://repository.apache.org/content/repositories/orgapachetephra-[STAGE_ID]
+
+  Release artifacts are signed with the following key:
+  [URL_TO_SIGNER_PUBLIC_KEY]
+
+  KEYS file available:
+  https://dist.apache.org/repos/dist/dev/incubator/tephra/KEYS
+
+  For information about the contents of this release, see:
+  https://dist.apache.org/repos/dist/dev/incubator/tephra/${RELEASE_VERSION}-incubating-rc1/CHANGES.txt
+
+  Please vote on releasing this package as Apache Tephra ${RELEASE_VERSION}-incubating
+
+  The vote will be open for 72 hours.
+
+  [ ] +1 Release this package as Apache Tephra ${RELEASE_VERSION}-incubating
+  [ ] +0 no opinion
+  [ ] -1 Do not release this package because ...
+
+  Thanks,
+  [YOUR_NAME]
+```
+
+### Consolidate Vote Result
+After the vote is up for 72 hours and having at least three +1 binding votes and no -1 votes,
+close the vote by replying to the voting thread. Here is a template for the reply email:
+
+```
+  Subject: [RESULT][VOTE] Release of Apache Tephra-${RELEASE_VERSION}-incubating [rc1]
+  ==================================================================================
+
+  Hi all,
+
+  After being opened for over 72 hours, the vote for releasing Apache Tephra
+  ${RELEASE_VERSION}-incubating passed with n binding +1s and no 0 or -1.
+
+  Binding +1s:
+  [BINDING_+1_NAMES]
+
+  I am going to create a vote in the general@ list.
+
+  Thanks,
+  [YOUR_NAME]
+```
+
+### Vote for the Release from IPMC
+1. Create a vote in the general@ mailing list for the IPMC to vote for the release.
+1. Wait for 72 hours for the vote result. Use the same template as the dev vote, with the addition
+   of links to the dev vote and result mail thread.
+1. After the vote in general@ is completed with at least three +1 binding votes, close the vote by
+   replying to the voting thread.
+
+### Release the Staging Repository in Artifactory
+Release the artifact bundle in Artifactory:
+
+1. Login to <https://repository.apache.org>.
+1. Go to "Staging Repos".
+1. Find the "orgapachetephra" repo with the Tephra release. Be sure to expand the contents of the
+   repo to confirm that it contains the correct Tephra artifacts. 
+1. Click on the "Release" button at top, and enter a brief description, such as "Apache Tephra N.N.N
+   release".
+
+## Announcing and Completing the Release
+Mark the release as complete in JIRA (in the Apache Tephra Administration section):
+
+1. Add a release for the next version, if necessary
+1. Set a release date and release the released version
+
+Release the source tarball:
+
+1. Copy the release artifacts and CHANGES.txt from the dev to release directory at
+   `dist.apache.org/repos/dist/release/incubator/tephra/${RELEASE_VERSION}-incubating`
+
+Finally, announce the release on the mailing lists: dev@tephra and announce@
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tephra/blob/1047fad6/src/site/markdown/index.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md
new file mode 100644
index 0000000..7247389
--- /dev/null
+++ b/src/site/markdown/index.md
@@ -0,0 +1,116 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<head>
+  <title>Home</title>
+</head>
+
+## What is Apache Tephra <sup>(TM)</sup>
+__Transactions for Apache HBase <sup>(TM)</sup>__: Apache Tephra provides globally consistent
+transactions on top of 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.
+
+## How It Works
+Tephra leverages HBase's native data versioning to provide multi-versioned concurrency
+control (MVCC) for transactional reads and writes. With MVCC capability, each transaction
+sees its own consistent "snapshot" of data, providing
+[snapshot isolation](http://en.wikipedia.org/wiki/Snapshot_isolation) of concurrent transactions.
+
+Tephra consists of three main components:
+
+- __Transaction Server__ - maintains global view of transaction state, assigns new transaction IDs
+  and performs conflict detection;
+- __Transaction Client__ - coordinates start, commit, and rollback of transactions; and
+- __TransactionProcessor Coprocessor__ - applies filtering to the data read (based on a
+  given transaction's state) and cleans up any data from old (no longer visible) transactions.
+
+### Transaction Server
+A central transaction manager generates a globally unique, time-based transaction ID for each
+transaction that is started, and maintains the state of all in-progress and recently committed
+transactions for conflict detection. While multiple transaction server instances can be run
+concurrently for automatic failover, only one server instance is actively serving requests at a
+time. This is coordinated by performing leader election amongst the running instances through
+[Apache ZooKeeper](https://zookeeper.apache.org). The active transaction server instance will
+also register itself using a service discovery interface in ZooKeeper, allowing clients to
+discover the currently active server instance without additional configuration.
+
+### Transaction Client
+A client makes a call to the active transaction server in order to start a new transaction. This
+returns a new transaction instance to the client, with a unique transaction ID (used to identify
+writes for the transaction), as well as a list of transaction IDs to exclude for reads (from
+in-progress or invalidated transactions). When performing writes, the client overrides the
+timestamp for all modified HBase cells with the transaction ID. When reading data from HBase, the
+client skips cells associated with any of the excluded transaction IDs. The read exclusions are
+applied through a server-side filter injected by the `TransactionProcessor` coprocessor.
+
+### TransactionProcessor Coprocessor
+The `TransactionProcessor` coprocessor is loaded on all HBase tables where transactional reads
+and writes are performed. When clients read data, it coordinates the server-side filtering
+performed based on the client transaction's snapshot. Data cells from any transactions that are
+currently in-progress or those that have failed and could not be rolled back ("invalid"
+transactions) will be skipped on these reads. In addition, the `TransactionProcessor` cleans
+up any data versions that are no longer visible to any running transactions, either because the
+transaction that the cell is associated with failed or a write from a newer transaction was
+successfully committed to the same column.
+
+More details on how Tephra transactions work and the interactions between these components can be
+found in our [Transactions over HBase](http://www.slideshare.net/alexbaranau/transactions-over-hbase)
+presentation.
+
+## Is It Building?
+Status of CI build at Travis CI: [![Build Status](https://travis-ci.org/apache/incubator-tephra.svg?branch=master)](https://travis-ci.org/apache/incubator-tephra)
+
+## Requirements
+### Java Runtime
+The latest [JDK or JRE version 1.7.xx or 1.8.xx](http://www.java.com/en/download/manual.jsp)
+for Linux, Windows, or Mac OS X must be installed in your environment; we recommend the Oracle JDK.
+
+To check the Java version installed, run the command:
+
+  $ java -version
+
+Tephra is tested with the Oracle JDKs; it may work with other JDKs such as
+[Open JDK](http://openjdk.java.net), but it has not been tested with them.
+
+Once you have installed the JDK, you'll need to set the `JAVA_HOME` environment variable.
+
+### Hadoop/HBase Environment
+Tephra requires a working HBase and HDFS environment in order to operate. Tephra supports these
+component versions:
+
+| Component     | Source        | Supported Versions                                      |
+|---------------|---------------|---------------------------------------------------------|
+| __HDFS__      | Apache Hadoop | 2.0.2-alpha through 2.7.x                               |
+|               | CDH or HDP    | (CDH) 5.0.0 through 5.7.0 or (HDP) 2.0, 2.1, 2.2 or 2.3 |
+|               | MapR          | 4.1 (with MapR-FS)                                      |
+| __HBase__     | Apache        | 0.96.x, 0.98.x, 1.0.x, 1.1.x and 1.2.x                  |
+|               | CDH or HDP    | (CDH) 5.0.0 through 5.7.0 or (HDP) 2.0, 2.1, 2.2 or 2.3 |
+|               | MapR          | 4.1 (with Apache HBase)                                 |
+| __ZooKeeper__ | Apache        | Version 3.4.3 through 3.4.5                             |
+|               | CDH or HDP    | (CDH) 5.0.0 through 5.7.0 or (HDP) 2.0, 2.1, 2.2 or 2.3 |
+|               | MapR          | 4.1                                                     |
+
+__Note:__ Components versions shown in this table are those that we have tested and are
+confident of their suitability and compatibility. Later versions of components may work,
+but have not necessarily have been either tested or confirmed compatible.
+
+Ready to try out Apache Tephra? Checkout the [Getting Started Guide](GettingStarted.html)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tephra/blob/1047fad6/src/site/markdown/releases/0.8.0-incubating.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/releases/0.8.0-incubating.md b/src/site/markdown/releases/0.8.0-incubating.md
new file mode 100644
index 0000000..68fc26f
--- /dev/null
+++ b/src/site/markdown/releases/0.8.0-incubating.md
@@ -0,0 +1,28 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<head>
+  <title>Apache Tephra Release 0.8.0-incubating</title>
+</head>
+
+### Release Notes - Apache Tephra - 0.8.0-incubating
+
+This is the first Apache Incubator release of Tephra.
+
+### Source tar-ball download
+[Source and signatures](http://www.apache.org/dyn/closer.cgi/incubator/tephra/0.8.0-incubating/src)