Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#11388] Add HbaseAsyncTemplate #11393

Merged
merged 1 commit into from
Aug 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package com.navercorp.pinpoint.collector.dao.hbase.statistics;

import com.navercorp.pinpoint.collector.monitor.dao.hbase.BulkOperationReporter;
import com.navercorp.pinpoint.collector.dao.hbase.HbaseMapResponseTimeDao;
import com.navercorp.pinpoint.collector.dao.hbase.HbaseMapStatisticsCalleeDao;
import com.navercorp.pinpoint.collector.dao.hbase.HbaseMapStatisticsCallerDao;
import com.navercorp.pinpoint.collector.monitor.dao.hbase.BulkOperationReporter;
import com.navercorp.pinpoint.common.hbase.HbaseColumnFamily;
import com.navercorp.pinpoint.common.hbase.HbaseOperations;
import com.navercorp.pinpoint.common.hbase.TableNameProvider;
import com.navercorp.pinpoint.common.hbase.async.HbaseAsyncTemplate;
import com.sematext.hbase.wd.RowKeyDistributorByHashPrefix;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
Expand Down Expand Up @@ -50,13 +51,14 @@

private BulkWriter newBulkWriter(String loggerName,
HbaseOperations hbaseTemplate,
HbaseAsyncTemplate asyncTemplate,
HbaseColumnFamily descriptor,
TableNameProvider tableNameProvider,
RowKeyDistributorByHashPrefix rowKeyDistributorByHashPrefix,
BulkIncrementer bulkIncrementer,
BulkUpdater bulkUpdater) {
if (bulkConfiguration.enableBulk()) {
return new DefaultBulkWriter(loggerName, hbaseTemplate, rowKeyDistributorByHashPrefix,
return new DefaultBulkWriter(loggerName, asyncTemplate, rowKeyDistributorByHashPrefix,

Check warning on line 61 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/BulkFactory.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/BulkFactory.java#L61

Added line #L61 was not covered by tests
bulkIncrementer, bulkUpdater, descriptor, tableNameProvider);
} else {
return new SyncWriter(loggerName, hbaseTemplate, rowKeyDistributorByHashPrefix, descriptor, tableNameProvider);
Expand All @@ -81,12 +83,13 @@

@Bean
public BulkWriter callerBulkWriter(HbaseOperations hbaseTemplate,
HbaseAsyncTemplate asyncTemplate,
TableNameProvider tableNameProvider,
@Qualifier("statisticsCallerRowKeyDistributor") RowKeyDistributorByHashPrefix rowKeyDistributorByHashPrefix,
@Qualifier("callerBulkIncrementer") BulkIncrementer bulkIncrementer,
@Qualifier("callerBulkUpdater") BulkUpdater bulkUpdater) {
String loggerName = newBulkWriterName(HbaseMapStatisticsCallerDao.class.getName());
return newBulkWriter(loggerName, hbaseTemplate, HbaseColumnFamily.MAP_STATISTICS_CALLEE_VER2_COUNTER, tableNameProvider, rowKeyDistributorByHashPrefix, bulkIncrementer, bulkUpdater);
return newBulkWriter(loggerName, hbaseTemplate, asyncTemplate, HbaseColumnFamily.MAP_STATISTICS_CALLEE_VER2_COUNTER, tableNameProvider, rowKeyDistributorByHashPrefix, bulkIncrementer, bulkUpdater);

Check warning on line 92 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/BulkFactory.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/BulkFactory.java#L92

Added line #L92 was not covered by tests
}


Expand All @@ -108,12 +111,13 @@

@Bean
public BulkWriter calleeBulkWriter(HbaseOperations hbaseTemplate,
HbaseAsyncTemplate asyncTemplate,
TableNameProvider tableNameProvider,
@Qualifier("statisticsCalleeRowKeyDistributor") RowKeyDistributorByHashPrefix rowKeyDistributorByHashPrefix,
@Qualifier("calleeBulkIncrementer") BulkIncrementer bulkIncrementer,
@Qualifier("calleeBulkUpdater") BulkUpdater bulkUpdater) {
String loggerName = newBulkWriterName(HbaseMapStatisticsCalleeDao.class.getName());
return newBulkWriter(loggerName, hbaseTemplate, HbaseColumnFamily.MAP_STATISTICS_CALLER_VER2_COUNTER, tableNameProvider, rowKeyDistributorByHashPrefix, bulkIncrementer, bulkUpdater);
return newBulkWriter(loggerName, hbaseTemplate, asyncTemplate, HbaseColumnFamily.MAP_STATISTICS_CALLER_VER2_COUNTER, tableNameProvider, rowKeyDistributorByHashPrefix, bulkIncrementer, bulkUpdater);

Check warning on line 120 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/BulkFactory.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/BulkFactory.java#L120

Added line #L120 was not covered by tests
}

@Bean
Expand All @@ -133,12 +137,13 @@

@Bean
public BulkWriter selfBulkWriter(HbaseOperations hbaseTemplate,
HbaseAsyncTemplate asyncTemplate,
TableNameProvider tableNameProvider,
@Qualifier("statisticsSelfRowKeyDistributor") RowKeyDistributorByHashPrefix rowKeyDistributorByHashPrefix,
@Qualifier("selfBulkIncrementer") BulkIncrementer bulkIncrementer,
@Qualifier("selfBulkUpdater") BulkUpdater bulkUpdater) {
String loggerName = newBulkWriterName(HbaseMapResponseTimeDao.class.getName());
return newBulkWriter(loggerName, hbaseTemplate, HbaseColumnFamily.MAP_STATISTICS_SELF_VER2_COUNTER, tableNameProvider, rowKeyDistributorByHashPrefix, bulkIncrementer, bulkUpdater);
return newBulkWriter(loggerName, hbaseTemplate, asyncTemplate, HbaseColumnFamily.MAP_STATISTICS_SELF_VER2_COUNTER, tableNameProvider, rowKeyDistributorByHashPrefix, bulkIncrementer, bulkUpdater);

Check warning on line 146 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/BulkFactory.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/BulkFactory.java#L146

Added line #L146 was not covered by tests
}

private String newBulkWriterName(String className) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package com.navercorp.pinpoint.collector.dao.hbase.statistics;

import com.navercorp.pinpoint.common.hbase.CasResult;
import com.navercorp.pinpoint.common.hbase.CheckAndMax;
import com.navercorp.pinpoint.common.hbase.HbaseColumnFamily;
import com.navercorp.pinpoint.common.hbase.HbaseOperations;
import com.navercorp.pinpoint.common.hbase.TableNameProvider;
import com.navercorp.pinpoint.common.hbase.async.HbaseAsyncTemplate;
import com.sematext.hbase.wd.RowKeyDistributorByHashPrefix;
import org.apache.commons.collections4.ListUtils;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Increment;
import org.apache.logging.log4j.LogManager;
Expand All @@ -12,6 +15,7 @@
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.CompletableFuture;

/**
* @author emeroad
Expand All @@ -20,7 +24,6 @@

private final Logger logger;

private final HbaseOperations hbaseTemplate;
private final RowKeyDistributorByHashPrefix rowKeyDistributorByHashPrefix;

private final BulkIncrementer bulkIncrementer;
Expand All @@ -29,24 +32,29 @@

private final HbaseColumnFamily tableDescriptor;
private final TableNameProvider tableNameProvider;

private final HbaseAsyncTemplate asyncTemplate;
private int batchSize = 200;

Check warning on line 36 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java#L36

Added line #L36 was not covered by tests

public DefaultBulkWriter(String loggerName,
HbaseOperations hbaseTemplate,
HbaseAsyncTemplate asyncTemplate,
RowKeyDistributorByHashPrefix rowKeyDistributorByHashPrefix,
BulkIncrementer bulkIncrementer,
BulkUpdater bulkUpdater,
HbaseColumnFamily tableDescriptor,
TableNameProvider tableNameProvider) {
this.logger = LogManager.getLogger(loggerName);
this.hbaseTemplate = Objects.requireNonNull(hbaseTemplate, "hbaseTemplate");
this.asyncTemplate = Objects.requireNonNull(asyncTemplate, "asyncTemplate");

Check warning on line 46 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java#L46

Added line #L46 was not covered by tests
this.rowKeyDistributorByHashPrefix = Objects.requireNonNull(rowKeyDistributorByHashPrefix, "rowKeyDistributorByHashPrefix");
this.bulkIncrementer = Objects.requireNonNull(bulkIncrementer, "bulkIncrementer");
this.bulkUpdater = Objects.requireNonNull(bulkUpdater, "bulkUpdater");
this.tableDescriptor = Objects.requireNonNull(tableDescriptor, "tableDescriptor");
this.tableNameProvider = Objects.requireNonNull(tableNameProvider, "tableNameProvider");
}

public void setBatchSize(int batchSize) {
this.batchSize = batchSize;
}

Check warning on line 56 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java#L55-L56

Added lines #L55 - L56 were not covered by tests

@Override
public void increment(RowKey rowKey, ColumnName columnName) {
TableName tableName = tableNameProvider.getTableName(tableDescriptor.getTable());
Expand Down Expand Up @@ -77,16 +85,18 @@
if (logger.isDebugEnabled()) {
logger.debug("flush {} to [{}] Increment:{}", this.getClass().getSimpleName(), tableName, increments.size());
}
hbaseTemplate.asyncIncrement(tableName, increments);
List<List<Increment>> partition = ListUtils.partition(increments, batchSize);

Check warning on line 88 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java#L88

Added line #L88 was not covered by tests
for (List<Increment> incrementList : partition) {
asyncTemplate.increment(tableName, incrementList);
}

Check warning on line 91 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java#L90-L91

Added lines #L90 - L91 were not covered by tests
}

}

private void checkAndMax(TableName tableName, byte[] rowKey, byte[] columnName, long val) {
Objects.requireNonNull(rowKey, "rowKey");
Objects.requireNonNull(columnName, "columnName");

hbaseTemplate.maxColumnValue(tableName, rowKey, getColumnFamilyName(), columnName, val);
private CompletableFuture<CasResult> checkAndMax(TableName tableName, CheckAndMax checkAndMax) {
Objects.requireNonNull(tableName, "tableName");
Objects.requireNonNull(checkAndMax, "checkAndMax");
return this.asyncTemplate.maxColumnValue(tableName, checkAndMax);

Check warning on line 99 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java#L97-L99

Added lines #L97 - L99 were not covered by tests
}

@Override
Expand All @@ -104,7 +114,9 @@
final RowInfo rowInfo = entry.getKey();
final Long val = entry.getValue();
final byte[] rowKey = getDistributedKey(rowInfo.getRowKey().getRowKey());
checkAndMax(rowInfo.getTableName(), rowKey, rowInfo.getColumnName().getColumnName(), val);
byte[] columnName = rowInfo.getColumnName().getColumnName();
CheckAndMax checkAndMax = new CheckAndMax(rowKey, getColumnFamilyName(), columnName, val);
checkAndMax(rowInfo.getTableName(), checkAndMax);

Check warning on line 119 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/DefaultBulkWriter.java#L117-L119

Added lines #L117 - L119 were not covered by tests
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.navercorp.pinpoint.collector.dao.hbase.statistics;

import com.navercorp.pinpoint.common.hbase.CheckAndMax;
import com.navercorp.pinpoint.common.hbase.HbaseColumnFamily;
import com.navercorp.pinpoint.common.hbase.HbaseOperations;
import com.navercorp.pinpoint.common.hbase.TableNameProvider;
Expand Down Expand Up @@ -50,7 +51,7 @@
TableName tableName = tableNameProvider.getTableName(this.tableDescriptor.getTable());
final byte[] rowKeyBytes = getDistributedKey(rowKey.getRowKey());
Increment increment = Increments.increment(rowKeyBytes, getColumnFamilyName(), columnName.getColumnName(), 1);
this.hbaseTemplate.asyncIncrement(tableName, increment);
this.hbaseTemplate.increment(tableName, increment);

Check warning on line 54 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/SyncWriter.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/SyncWriter.java#L54

Added line #L54 was not covered by tests
}

@Override
Expand All @@ -61,7 +62,8 @@

TableName tableName = tableNameProvider.getTableName(this.tableDescriptor.getTable());
final byte[] rowKeyBytes = getDistributedKey(rowKey.getRowKey());
this.hbaseTemplate.maxColumnValue(tableName, rowKeyBytes, getColumnFamilyName(), columnName.getColumnName(), value);
CheckAndMax checkAndMax = new CheckAndMax(rowKeyBytes, getColumnFamilyName(), columnName.getColumnName(), value);
this.hbaseTemplate.maxColumnValue(tableName, checkAndMax);

Check warning on line 66 in collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/SyncWriter.java

View check run for this annotation

Codecov / codecov/patch

collector/src/main/java/com/navercorp/pinpoint/collector/dao/hbase/statistics/SyncWriter.java#L65-L66

Added lines #L65 - L66 were not covered by tests
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.navercorp.pinpoint.common.hbase;


import com.navercorp.pinpoint.common.hbase.util.CheckAndMutates;
import org.apache.hadoop.hbase.client.CheckAndMutate;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;

import java.util.Objects;

public final class CheckAndMax {
private final byte[] row;
private final byte[] family;
private final byte[] qualifier;
private final long value;

public CheckAndMax(byte[] row, byte[] family, byte[] qualifier, long value) {
this.row = Objects.requireNonNull(row, "row");
this.family = Objects.requireNonNull(family, "family");
this.qualifier = Objects.requireNonNull(qualifier, "qualifier");
this.value = value;
}

Check warning on line 22 in commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java

View check run for this annotation

Codecov / codecov/patch

commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java#L17-L22

Added lines #L17 - L22 were not covered by tests

public byte[] row() {
return row;

Check warning on line 25 in commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java

View check run for this annotation

Codecov / codecov/patch

commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java#L25

Added line #L25 was not covered by tests
}

public byte[] family() {
return family;

Check warning on line 29 in commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java

View check run for this annotation

Codecov / codecov/patch

commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java#L29

Added line #L29 was not covered by tests
}

public byte[] qualifier() {
return qualifier;

Check warning on line 33 in commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java

View check run for this annotation

Codecov / codecov/patch

commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java#L33

Added line #L33 was not covered by tests
}

public long value() {
return value;

Check warning on line 37 in commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java

View check run for this annotation

Codecov / codecov/patch

commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java#L37

Added line #L37 was not covered by tests
}

public static CheckAndMutate initialMax(CheckAndMax max) {
Put put = new Put(max.row(), true);
put.addColumn(max.family(), max.qualifier(), Bytes.toBytes(max.value()));

Check warning on line 42 in commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java

View check run for this annotation

Codecov / codecov/patch

commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java#L41-L42

Added lines #L41 - L42 were not covered by tests

return CheckAndMutate.newBuilder(max.row())
.ifNotExists(max.family(), max.qualifier())
.build(put);

Check warning on line 46 in commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java

View check run for this annotation

Codecov / codecov/patch

commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java#L44-L46

Added lines #L44 - L46 were not covered by tests
}

public static CheckAndMutate casMax(CheckAndMutate mutate) {
Objects.requireNonNull(mutate, "mutate");
return CheckAndMutates.max(mutate.getRow(), mutate.getFamily(), mutate.getQualifier(), mutate.getValue(), (Put) mutate.getAction());

Check warning on line 51 in commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java

View check run for this annotation

Codecov / codecov/patch

commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/CheckAndMax.java#L50-L51

Added lines #L50 - L51 were not covered by tests
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,14 @@
*/
package com.navercorp.pinpoint.common.hbase;

import com.navercorp.pinpoint.common.hbase.async.AsyncTableFactory;
import org.apache.hadoop.conf.Configuration;
import org.springframework.util.StringUtils;

import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

/**
* Base class for {@link HbaseTemplate} , defining commons properties such as {@link TableInterfaceFactory} and {@link Configuration}.
* Base class for {@link HbaseTemplate} , defining commons properties such as {@link org.apache.hadoop.hbase.client.Connection} and {@link Configuration}.
*
* Not intended to be used directly.
*
Expand All @@ -36,8 +35,6 @@ public abstract class HbaseAccessor {

private TableFactory tableFactory;

private AsyncTableFactory asyncTableFactory;

private Configuration configuration;

/**
Expand Down Expand Up @@ -79,12 +76,4 @@ public Charset getCharset() {
return (StringUtils.hasText(encoding) ? Charset.forName(encoding) : CHARSET);
}


public AsyncTableFactory getAsyncTableFactory() {
return asyncTableFactory;
}

public void setAsyncTableFactory(AsyncTableFactory asyncTableFactory) {
this.asyncTableFactory = asyncTableFactory;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,18 @@

package com.navercorp.pinpoint.common.hbase;

import com.navercorp.pinpoint.common.hbase.async.AdvancedAsyncTableCallback;
import com.navercorp.pinpoint.common.hbase.async.AsyncTableCallback;
import com.sematext.hbase.wd.AbstractRowKeyDistributor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.CheckAndMutate;
import org.apache.hadoop.hbase.client.CheckAndMutateResult;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Durability;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.Increment;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.Scan;

import java.util.List;
import java.util.concurrent.CompletableFuture;

/**
* @author emeroad
Expand Down Expand Up @@ -69,12 +65,9 @@ public interface HbaseOperations {
/**
*
* @param tableName target table
* @param rowName to check
* @param familyName column family to check
* @param qualifier column qualifier to check
* @param value if the value provided is greater than the saved, update the saved
* @param checkAndMax checkAndMax
*/
void maxColumnValue(TableName tableName, final byte[] rowName, final byte[] familyName, final byte[] qualifier, final long value);
CasResult maxColumnValue(TableName tableName, final CheckAndMax checkAndMax);

void delete(TableName tableName, final Delete delete);
void delete(TableName tableName, final List<Delete> deletes);
Expand Down Expand Up @@ -110,14 +103,6 @@ public interface HbaseOperations {
*/
List<Result> increment(TableName tableName, final List<Increment> incrementList);

long incrementColumnValue(TableName tableName, final byte[] rowName, final byte[] familyName, final byte[] qualifier, final long amount);
long incrementColumnValue(TableName tableName, final byte[] rowName, final byte[] familyName, final byte[] qualifier, final long amount, final Durability durability);

CompletableFuture<Result> asyncIncrement(final TableName tableName, final Increment incrementList);
List<CompletableFuture<Result>> asyncIncrement(final TableName tableName, final List<Increment> incrementList);
CompletableFuture<Long> asyncIncrement(TableName tableName, byte[] row, byte[] family, byte[] qualifier, long amount, Durability durability);


/**
* Executes the given action against the specified table handling resource management.
* <p>
Expand Down Expand Up @@ -158,7 +143,4 @@ public interface HbaseOperations {
<T> List<T> find(TableName tableName, final Scan scan, final RowMapper<T> action);


<T> T asyncExecute(TableName tableName, AdvancedAsyncTableCallback<T> action);

<T> T asyncExecute(TableName tableName, AsyncTableCallback<T> action);
}
Loading