Java Code Examples for org.apache.hadoop.hbase.util.Pair#newPair()

The following examples show how to use org.apache.hadoop.hbase.util.Pair#newPair() . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: hbase   File: ZKReplicationQueueStorage.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Return the {lastPushedSequenceId, ZNodeDataVersion} pair. if ZNodeDataVersion is -1, it means
 * that the ZNode does not exist.
 */
@VisibleForTesting
protected Pair<Long, Integer> getLastSequenceIdWithVersion(String encodedRegionName,
    String peerId) throws KeeperException {
  Stat stat = new Stat();
  String path = getSerialReplicationRegionPeerNode(encodedRegionName, peerId);
  byte[] data = ZKUtil.getDataNoWatch(zookeeper, path, stat);
  if (data == null) {
    // ZNode does not exist, so just return version -1 to indicate that no node exist.
    return Pair.newPair(HConstants.NO_SEQNUM, -1);
  }
  try {
    return Pair.newPair(ZKUtil.parseWALPositionFrom(data), stat.getVersion());
  } catch (DeserializationException de) {
    LOG.warn("Failed to parse log position (region=" + encodedRegionName + ", peerId=" + peerId
        + "), data=" + Bytes.toStringBinary(data));
  }
  return Pair.newPair(HConstants.NO_SEQNUM, stat.getVersion());
}
 
Example 2
Source Project: phoenix   File: PrimaryKeyConstraint.java    License: Apache License 2.0 6 votes vote down vote up
PrimaryKeyConstraint(String name, List<ColumnDefInPkConstraint> columnDefs) {
    super(name);
    if (columnDefs == null) {
        this.columns = Collections.<Pair<ColumnName, SortOrder>>emptyList();
        this.columnNameToSortOrder = Collections.<ColumnName, Pair<ColumnName, SortOrder>>emptyMap();
        this.columnNameToRowTimestamp = Collections.<ColumnName, Pair<ColumnName, Boolean>>emptyMap();
        numColumnsWithRowTimestamp = 0;
    } else {
        int numRowTimestampCols = 0;
        List<Pair<ColumnName, SortOrder>> l = new ArrayList<>(columnDefs.size());
        this.columnNameToSortOrder = Maps.newHashMapWithExpectedSize(columnDefs.size());
        this.columnNameToRowTimestamp = Maps.newHashMapWithExpectedSize(columnDefs.size());
        for (ColumnDefInPkConstraint colDef : columnDefs) {
            Pair<ColumnName, SortOrder> p = Pair.newPair(colDef.getColumnName(), colDef.getSortOrder());
            l.add(p);
            this.columnNameToSortOrder.put(colDef.getColumnName(), p);
            this.columnNameToRowTimestamp.put(colDef.getColumnName(), Pair.newPair(colDef.getColumnName(), colDef.isRowTimestamp()));
            if (colDef.isRowTimestamp()) {
                numRowTimestampCols++;
            }
        }
        this.numColumnsWithRowTimestamp = numRowTimestampCols;
        this.columns = ImmutableList.copyOf(l); 
    }
}
 
Example 3
static Pair<EventLoopGroup, Class<? extends Channel>> getEventLoopConfig(Configuration conf) {
  String name = conf.get(EVENT_LOOP_CONFIG);
  if (StringUtils.isBlank(name)) {
    // create new event loop group if config is empty
    return Pair.<EventLoopGroup, Class<? extends Channel>> newPair(
      new NioEventLoopGroup(0, new DefaultThreadFactory("AsyncFSWAL", true, Thread.MAX_PRIORITY)),
      NioSocketChannel.class);
  }
  return EVENT_LOOP_CONFIG_MAP.get(name);
}
 
Example 4
Source Project: hbase   File: RegionServerTracker.java    License: Apache License 2.0 5 votes vote down vote up
private Pair<ServerName, RegionServerInfo> getServerInfo(String name)
    throws KeeperException, IOException {
  ServerName serverName = ServerName.parseServerName(name);
  String nodePath = ZNodePaths.joinZNode(watcher.getZNodePaths().rsZNode, name);
  byte[] data;
  try {
    data = ZKUtil.getData(watcher, nodePath);
  } catch (InterruptedException e) {
    throw (InterruptedIOException) new InterruptedIOException().initCause(e);
  }
  if (data == null) {
    // we should receive a children changed event later and then we will expire it, so we still
    // need to add it to the region server set.
    LOG.warn("Server node {} does not exist, already dead?", name);
    return Pair.newPair(serverName, null);
  }
  if (data.length == 0 || !ProtobufUtil.isPBMagicPrefix(data)) {
    // this should not happen actually, unless we have bugs or someone has messed zk up.
    LOG.warn("Invalid data for region server node {} on zookeeper, data length = {}", name,
      data.length);
    return Pair.newPair(serverName, null);
  }
  RegionServerInfo.Builder builder = RegionServerInfo.newBuilder();
  int magicLen = ProtobufUtil.lengthOfPBMagic();
  ProtobufUtil.mergeFrom(builder, data, magicLen, data.length - magicLen);
  return Pair.newPair(serverName, builder.build());
}
 
Example 5
@Override
protected Pair<byte[][], byte[][]> getStartEndKeys(TableName tableName) throws IOException {
  List<Pair<byte[], byte[]>> startEndKeys =
    get(CONN.getRegionLocator(tableName).getStartEndKeys());
  byte[][] startKeys = new byte[startEndKeys.size()][];
  byte[][] endKeys = new byte[startEndKeys.size()][];
  for (int i = 0, n = startEndKeys.size(); i < n; i++) {
    Pair<byte[], byte[]> pair = startEndKeys.get(i);
    startKeys[i] = pair.getFirst();
    endKeys[i] = pair.getSecond();
  }
  return Pair.newPair(startKeys, endKeys);
}
 
Example 6
Source Project: hbase   File: TestAsyncTableScanMetrics.java    License: Apache License 2.0 5 votes vote down vote up
private static Pair<List<Result>, ScanMetrics> doScanWithRawAsyncTable(Scan scan)
    throws IOException, InterruptedException {
  BufferingScanResultConsumer consumer = new BufferingScanResultConsumer();
  CONN.getTable(TABLE_NAME).scan(scan, consumer);
  List<Result> results = new ArrayList<>();
  for (Result result; (result = consumer.take()) != null;) {
    results.add(result);
  }
  return Pair.newPair(results, consumer.getScanMetrics());
}
 
Example 7
Source Project: hbase   File: TestAsyncTableScanMetrics.java    License: Apache License 2.0 5 votes vote down vote up
private static Pair<List<Result>, ScanMetrics> doScanWithAsyncTableScanner(Scan scan)
    throws IOException {
  try (ResultScanner scanner =
      CONN.getTable(TABLE_NAME, ForkJoinPool.commonPool()).getScanner(scan)) {
    List<Result> results = new ArrayList<>();
    for (Result result; (result = scanner.next()) != null;) {
      results.add(result);
    }
    return Pair.newPair(results, scanner.getScanMetrics());
  }
}
 
Example 8
Source Project: hbase   File: TestPerColumnFamilyFlush.java    License: Apache License 2.0 5 votes vote down vote up
private static Pair<HRegion, HRegionServer> getRegionWithName(TableName tableName) {
  MiniHBaseCluster cluster = TEST_UTIL.getMiniHBaseCluster();
  List<JVMClusterUtil.RegionServerThread> rsts = cluster.getRegionServerThreads();
  for (int i = 0; i < cluster.getRegionServerThreads().size(); i++) {
    HRegionServer hrs = rsts.get(i).getRegionServer();
    for (HRegion region : hrs.getRegions(tableName)) {
      return Pair.newPair(region, hrs);
    }
  }
  return null;
}
 
Example 9
Source Project: hbase   File: ZKConnectionRegistry.java    License: Apache License 2.0 5 votes vote down vote up
private Pair<RegionState.State, ServerName> getStateAndServerName(
    ZooKeeperProtos.MetaRegionServer proto) {
  RegionState.State state;
  if (proto.hasState()) {
    state = RegionState.State.convert(proto.getState());
  } else {
    state = RegionState.State.OPEN;
  }
  HBaseProtos.ServerName snProto = proto.getServer();
  return Pair.newPair(state,
    ServerName.valueOf(snProto.getHostName(), snProto.getPort(), snProto.getStartCode()));
}
 
Example 10
Source Project: hbase   File: RegionLocator.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Gets the starting and ending row keys for every region in the currently open table.
 * <p>
 * This is mainly useful for the MapReduce integration.
 * @return Pair of arrays of region starting and ending row keys
 * @throws IOException if a remote or network exception occurs
 */
default Pair<byte[][], byte[][]> getStartEndKeys() throws IOException {
  List<HRegionLocation> regions = getAllRegionLocations().stream()
    .filter(loc -> RegionReplicaUtil.isDefaultReplica(loc.getRegion()))
    .collect(Collectors.toList());
  byte[][] startKeys = new byte[regions.size()][];
  byte[][] endKeys = new byte[regions.size()][];
  for (int i = 0, n = regions.size(); i < n; i++) {
    RegionInfo region = regions.get(i).getRegion();
    startKeys[i] = region.getStartKey();
    endKeys[i] = region.getEndKey();
  }
  return Pair.newPair(startKeys, endKeys);
}
 
Example 11
@Override
public Pair<String, String> convert(String input) {
    int eqPos = input.indexOf('=');
    if (eqPos == -1) {
        throw new ValueConversionException("Parameter should be in the form key=value, which the " +
                "following is not: '" + input + "'.");
    }
    String key = input.substring(0, eqPos).trim();
    String value = input.substring(eqPos + 1).trim();
    return Pair.newPair(key, value);
}
 
Example 12
Source Project: hbase   File: ReplicationPeerImpl.java    License: Apache License 2.0 4 votes vote down vote up
public Pair<SyncReplicationState, SyncReplicationState> getSyncReplicationStateAndNewState() {
  int bits = this.syncReplicationStateBits;
  return Pair.newPair(getSyncReplicationState(bits), getNewSyncReplicationState(bits));
}
 
Example 13
Source Project: hbase   File: TestAsyncTableScanMetrics.java    License: Apache License 2.0 4 votes vote down vote up
private static Pair<List<Result>, ScanMetrics> doScanWithAsyncTableScan(Scan scan)
    throws Exception {
  SimpleScanResultConsumer consumer = new SimpleScanResultConsumer();
  CONN.getTable(TABLE_NAME, ForkJoinPool.commonPool()).scan(scan, consumer);
  return Pair.newPair(consumer.getAll(), consumer.getScanMetrics());
}