implement ThemisTableInputFormat
add RowCounter unit test using mapreduce
support MultiThemisTableInputFormat
support ThemisTableOutputFormat and MultiThemisTableOutputFormat
implement single column global secondary index
support scan the whole family/row
add missing ExcludeDataColumnFilter.java
support index scan and polish ut
support truncate table in hbase shell and polish TestThemisMasterObserver
implement ZookeeperWorkerRegister
add some unit tests for ZookeeperWorkerRegister
1. add disable lock clean option
2. polish log
3. make TransactionExpiredException extends DoNotRetryIOException
4. add transaction ttl disable option
1. add client side lock ttl
2. check column legal for get/put/scan/delete to initialze themisGet/themisPut/themisScan/themisDelete
lock won't expired when transactionTTLEnable is disabled
1. polish log
2. polish ThemisStatistics to add slow log
3. add latency log in mr
4. reset lock expiration between retry
fix bug when get/scan the whole family
1. for get/scan, avoid include unneccessary lock in ThemisCpUtil.removeNotRequiredLockColumns
2. for scan:
2.1 use dataScan to decide the locks in ThemisScanObserver
2.2 in ThemisCpUtil.constructLockAndWriteScan, avoid the whole lock family is overwrite by following data column
1. use byte match to implement ColumnUtil.containPreservedCharacter
2. polish log and comment
fix bug when set client side lock ttl
1. fix bug in LockCleaner.constructLocks to set client side lock ttl;
2. check lock expired firstly in transaction.prewriteRowWithLockClean
1. make IndexTestBase use miniCluster or Onebox according to TransactionTestBase
2. add retry comment for ThemisTableRecordWriterWrapper.write
polish