Clone Tools
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
fix SSCC bug that will cause exception for nontrans rows

Change-Id: Id2f57c075282328df79ebb13eb30b798a0937b1d

Fix SSCC delete issue

Change-Id: I78e76744a00616c8b8f77678d180a2e3a60da103

LP 1463179 - VSBB update causes TM heap leak

Change-Id: Ie2362d9d431affa1d5c02a4629bb097b426ae47b

clean up old version for SSCC data before compaction

Change-Id: I347175c25ce319bc88e2271f661b1635bf930754

  1. … 2 more files in changeset.
Fixes for SSCC startId, commitId, and logging

Change-Id: I1005ee8a5d24b6a27c69eb760441a030e2787b8c

  1. … 5 more files in changeset.
Move core into subdir to combine repos

    • -16137
    • +0
    ./main/cpp/gen-cpp/Hbase.cpp
    • -17
    • +0
    ./main/cpp/gen-cpp/Hbase_constants.cpp
    • -24
    • +0
    ./main/cpp/gen-cpp/Hbase_constants.h
    • -254
    • +0
    ./main/cpp/gen-cpp/Hbase_server.skeleton.cpp
    • -1129
    • +0
    ./main/cpp/gen-cpp/Hbase_types.cpp
    • -742
    • +0
    ./main/cpp/gen-cpp/Hbase_types.h
    • -202
    • +0
    ./main/java/org/apache/hadoop/hbase/LICENSE.txt
  1. … 10754 more files in changeset.
Move core into subdir to combine repos

    • -16137
    • +0
    ./main/cpp/gen-cpp/Hbase.cpp
    • -17
    • +0
    ./main/cpp/gen-cpp/Hbase_constants.cpp
    • -24
    • +0
    ./main/cpp/gen-cpp/Hbase_constants.h
    • -254
    • +0
    ./main/cpp/gen-cpp/Hbase_server.skeleton.cpp
    • -1129
    • +0
    ./main/cpp/gen-cpp/Hbase_types.cpp
    • -742
    • +0
    ./main/cpp/gen-cpp/Hbase_types.h
    • -202
    • +0
    ./main/java/org/apache/hadoop/hbase/LICENSE.txt
  1. … 10608 more files in changeset.
Move core into subdir to combine repos

Use: git log --follow -- <file>

to view file history thru renames.

    • -16137
    • +0
    ./main/cpp/gen-cpp/Hbase.cpp
    • -17
    • +0
    ./main/cpp/gen-cpp/Hbase_constants.cpp
    • -24
    • +0
    ./main/cpp/gen-cpp/Hbase_constants.h
    • -254
    • +0
    ./main/cpp/gen-cpp/Hbase_server.skeleton.cpp
    • -1129
    • +0
    ./main/cpp/gen-cpp/Hbase_types.cpp
    • -742
    • +0
    ./main/cpp/gen-cpp/Hbase_types.h
    • -202
    • +0
    ./main/java/org/apache/hadoop/hbase/LICENSE.txt
  1. … 10823 more files in changeset.
Configuring hbase option MAX_VERSION via SQL

Change-Id: I88041d539b24de1289c15654151f5320b67eb289

  1. … 10 more files in changeset.
change startId&commitId as param

Change-Id: Id99d6cebd25cf40fff0b03cda705921781fd33ab

test case & del bug

Change-Id: I2ea628efeab0ec012b80dd5d0b0471f12d2634d6

DDL Transactions, retry logic upon HA failures.

Change-Id: Ib574c21ae24b36f2507dbc6b24f85fd3e09da8ee

  1. … 1 more file in changeset.
Add global ID server into SSCC

The startId and commitId are now generated by a global ID server so

they are the same throughout the cluster. Without a global server

queries that spanned 2 region servers would return inconsistent results

Change-Id: If18cc7dc9d309dbc25fbf05c5666e47bd918ddeb

    • -55
    • +69
    ./main/protobuf/SsccRegion.proto
  1. … 20 more files in changeset.
Option to use ConcurrentHashMap vs synchronizedSet

Default is synchronizedSet

Option is set in ms.env

DTM_USE_CONCURRENTHM=1

The synchronization option is for the participatingRegions

list in the client-side TransactionState.

We are seeing an issue where a duplicate region is being

inserted into the particpant list and it is possible that a

synchronizedSet is not blocking concurrent access as we

expected.

Change-Id: I433c0adc513f6a5336d88f6373d8f296cbc28edd

Adding separate pending txn wait for preSplit

Pending wait does not have limit, will wait until

pending transactions have completed.

Also adding new properties to customize behavior:

hbase.transaction.split.drain.early

-If 'true' then split operation will not wait on

active transactions to complete. Will wait on

pending transactions. Default is 'false'

hbase.transaction.split.active.delay

-Sets time in milliseconds that the preSplit

observer will poll for the active transaction

list to be empty. Default is 15000 (15 seconds)

hbase.transaction.split.pending.delay

-Sets time in milliseconds that the preSplit

observer will poll for the pending transaction

list to be empty. Default is 500 (0.5 seconds)

Change-Id: I5d5a9cf376bfc8afed789e65f4f2b3b0e48ab6b5

Batch2PC Endpoint Coprocessor Phase 2:flush optimization

Change-Id: I9db4819f2eda74710e0199b9ece5c84aea3a0fd6

change for scan

SsccTransactionState.handleResult()

add if to decide whether data will display.

modify blank

SsccRegionEndpoint.java

modify blank

Change-Id: I971db75c5ff4ee8fca395d221ae8575cc0272188

PutDelPutGet issue

to fix put[v1]--del[v1]--put[v2]--get[v2] issue.

SsccTransactionState.java

add method removeDelBeforePut,

SsccRegionEndpoint.java

invoke removeDelBeforePut in put() & change newDelete.deleteColumns to newDelete.deleteColumn in delete()

SsccTransactionState.java

change removeDelBeforePut() to del whole row. Don't compare the timestamp

change log.info() to log.trace()

change the formatting and replace the tabs with spaces

Change-Id: Ie3c253347c742932196c9004be3450b21fba688f

DDL Tx, Changes to handle upsert using load operations on abort

SQL statements 'upsert using load' will be executed outside of a

transaction even though the operation can performed inside a

transaction. For this reason, it is necessary for us to handle this

data differently when a transaction aborts or fails.

These operations will be registered as part of the TmDDL manager

and if the transaction is aborted, that table gets truncated. The data

loaded will be deleted but table will still exist. At the moment, this is

handled by using disable, delete and create hbase methods. However, when

hbase is upgraded to the next version, we will use the truncate hbase

method option.

Change-Id: Ica9d81a284b5f1821a3048b9c8deaad449a4c4f4

  1. … 15 more files in changeset.
Bug 1454034

This corrects a defect where the region would erroneously set the

TransactionState to aborted after already voting to commit it. This is

a violation of 2PC and would result in data inconsistency.

Change-Id: I3ceedc9f14bc3b59e99759e8d6336493cb7854fa

Batch2PC Endpoint Coprocessor Phase 1: Server API

Change-Id: I26bc73e6c9e84053bf8ca8e154eb2bd28fef0810

ClientSide batch RegionServer 2-phase commit calls

Disabled by default, use the option in ms.env to enable:

TM_BATCH_REGIONSERVER=1

Included in this change are the server-side stubs which

are needed for building as new protocol buffers have

been added to support the multiple regionserver sets

of names. Server-side changes will be added later.

Basic design: On the client-side we have a list of

all the regions we need to communicate with. On prepare/

commit/abort we send those calls out individually by region.

This change will group the region names per regionserver

into one protocol buffer and include that in the RPC

call to the server.

Error handling is done by collecting the problematic

regions into a separate list in the TransactionState.

These 'retry' regions are then retried using the

single-region calls.

Implemented coprocessor calls using single-region method.

Change-Id: I968f061ff603d55956c6b541a9bda1968e57481f

Enabled commitId deadcode check and additional trace fixes

Change-Id: I492503077eb7057ba7fe9fa68ea14fb91b7a5ded

Adding a configurable region split delay limit

Configuration property that can be set in hbase-site.xml is:

hbase.transaction.split.delay.limit

Default will be 360, which is a 6 hour delay max.

When the delay limit is surpassed, the HBase splits will

no longer be blocked from the TM perspective. HBase may

still have delays due to GC or other operations.

Change-Id: I327e62921a2429f0357a4e3b9ac51d49b0eb58a0

Transactional DDL - Salted Tables functionality

Added salted table functionality to transactional DDL create

It currently works with large numbers of table partitions and large

key lengths.

Change-Id: Ia5d9113678d697fdcd9f60021fc2dd3eb18fda0f

  1. … 20 more files in changeset.
Adding break out of preSplit() loop on exception

Also commenting out log message that is filling up client-side

logs even if there is no activity. The zookeeper message will

still be printed as DEBUG to show if the ZNode is not present.

The break of out preSplit() was needed as on a RS abort, the

preSplit can get stuck in a state where it is keeping the RS

process up and in a while/sleep loop.

Change-Id: Ic93ded73d80ecb61c6ceda94339dc53f52ea1bf1

  1. … 1 more file in changeset.
mapTransactionStates is now static in RMInterface

This fixes a bug which prevented local transactions from working.

Added changes to allow SSCC to get global Ids from the IdTm Server

optimizations in SSCC region endpoint coprocessor

Change-Id: I5d7d286e8a9b831a28e372412ec381cd113de017

change LOG.info to LOG.trace in SSCC critical path"

Change-Id: Ibaa344d2f9556c05dd29413db7e716e04eaf095a

Delay added to TransactionManager call retries, LP 1439387

Change-Id: Iccaf80cb787661c95648c37fbb31b6e7f4d8badb

Delay added to TransactionManager call retries, LP 1439387

Change-Id: Iccaf80cb787661c95648c37fbb31b6e7f4d8badb