Search in sources :

Example 16 with UnknownRegionException

use of org.apache.hadoop.hbase.UnknownRegionException in project hbase by apache.

the class MasterRpcServices method mergeTableRegions.

@Override
public MergeTableRegionsResponse mergeTableRegions(RpcController c, MergeTableRegionsRequest request) throws ServiceException {
    try {
        server.checkInitialized();
    } catch (IOException ioe) {
        throw new ServiceException(ioe);
    }
    RegionStates regionStates = server.getAssignmentManager().getRegionStates();
    RegionInfo[] regionsToMerge = new RegionInfo[request.getRegionCount()];
    for (int i = 0; i < request.getRegionCount(); i++) {
        final byte[] encodedNameOfRegion = request.getRegion(i).getValue().toByteArray();
        if (request.getRegion(i).getType() != RegionSpecifierType.ENCODED_REGION_NAME) {
            LOG.warn("MergeRegions specifier type: expected: " + RegionSpecifierType.ENCODED_REGION_NAME + " actual: region " + i + " =" + request.getRegion(i).getType());
        }
        RegionState regionState = regionStates.getRegionState(Bytes.toString(encodedNameOfRegion));
        if (regionState == null) {
            throw new ServiceException(new UnknownRegionException(Bytes.toStringBinary(encodedNameOfRegion)));
        }
        regionsToMerge[i] = regionState.getRegion();
    }
    try {
        long procId = server.mergeRegions(regionsToMerge, request.getForcible(), request.getNonceGroup(), request.getNonce());
        return MergeTableRegionsResponse.newBuilder().setProcId(procId).build();
    } catch (IOException ioe) {
        throw new ServiceException(ioe);
    }
}
Also used : ServiceException(org.apache.hbase.thirdparty.com.google.protobuf.ServiceException) RegionStates(org.apache.hadoop.hbase.master.assignment.RegionStates) UnknownRegionException(org.apache.hadoop.hbase.UnknownRegionException) RegionInfo(org.apache.hadoop.hbase.client.RegionInfo) IOException(java.io.IOException) DoNotRetryIOException(org.apache.hadoop.hbase.DoNotRetryIOException)

Example 17 with UnknownRegionException

use of org.apache.hadoop.hbase.UnknownRegionException in project hbase by apache.

the class RawAsyncHBaseAdmin method getRegionLocation.

/**
 * Get the region location for the passed region name. The region name may be a full region name
 * or encoded region name. If the region does not found, then it'll throw an
 * UnknownRegionException wrapped by a {@link CompletableFuture}
 * @param regionNameOrEncodedRegionName region name or encoded region name
 * @return region location, wrapped by a {@link CompletableFuture}
 */
CompletableFuture<HRegionLocation> getRegionLocation(byte[] regionNameOrEncodedRegionName) {
    if (regionNameOrEncodedRegionName == null) {
        return failedFuture(new IllegalArgumentException("Passed region name can't be null"));
    }
    CompletableFuture<Optional<HRegionLocation>> future;
    if (RegionInfo.isEncodedRegionName(regionNameOrEncodedRegionName)) {
        String encodedName = Bytes.toString(regionNameOrEncodedRegionName);
        if (encodedName.length() < RegionInfo.MD5_HEX_LENGTH) {
            // old format encodedName, should be meta region
            future = connection.registry.getMetaRegionLocations().thenApply(locs -> Stream.of(locs.getRegionLocations()).filter(loc -> loc.getRegion().getEncodedName().equals(encodedName)).findFirst());
        } else {
            future = ClientMetaTableAccessor.getRegionLocationWithEncodedName(metaTable, regionNameOrEncodedRegionName);
        }
    } else {
        // Not all regionNameOrEncodedRegionName here is going to be a valid region name,
        // it needs to throw out IllegalArgumentException in case tableName is passed in.
        RegionInfo regionInfo;
        try {
            regionInfo = CatalogFamilyFormat.parseRegionInfoFromRegionName(regionNameOrEncodedRegionName);
        } catch (IOException ioe) {
            return failedFuture(new IllegalArgumentException(ioe.getMessage()));
        }
        if (regionInfo.isMetaRegion()) {
            future = connection.registry.getMetaRegionLocations().thenApply(locs -> Stream.of(locs.getRegionLocations()).filter(loc -> loc.getRegion().getReplicaId() == regionInfo.getReplicaId()).findFirst());
        } else {
            future = ClientMetaTableAccessor.getRegionLocation(metaTable, regionNameOrEncodedRegionName);
        }
    }
    CompletableFuture<HRegionLocation> returnedFuture = new CompletableFuture<>();
    addListener(future, (location, err) -> {
        if (err != null) {
            returnedFuture.completeExceptionally(err);
            return;
        }
        if (!location.isPresent() || location.get().getRegion() == null) {
            returnedFuture.completeExceptionally(new UnknownRegionException("Invalid region name or encoded region name: " + Bytes.toStringBinary(regionNameOrEncodedRegionName)));
        } else {
            returnedFuture.complete(location.get());
        }
    });
    return returnedFuture;
}
Also used : RegionMetricsBuilder(org.apache.hadoop.hbase.RegionMetricsBuilder) CreateTableResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse) RunCleanerChoreRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCleanerChoreRequest) MoveServersRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.MoveServersRequest) GetRegionInfoResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse) FutureUtils.unwrapCompletionException(org.apache.hadoop.hbase.util.FutureUtils.unwrapCompletionException) SplitTableRegionResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SplitTableRegionResponse) ClusterMetrics(org.apache.hadoop.hbase.ClusterMetrics) RestoreSnapshotException(org.apache.hadoop.hbase.snapshot.RestoreSnapshotException) IsBalancerEnabledRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest) GetQuotaStatesResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesResponse) RSGroupInfo(org.apache.hadoop.hbase.rsgroup.RSGroupInfo) GetNamespaceDescriptorRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest) CompactionSwitchRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactionSwitchRequest) Map(java.util.Map) Configuration(org.apache.hadoop.conf.Configuration) DeserializationException(org.apache.hadoop.hbase.exceptions.DeserializationException) DeleteNamespaceRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest) EnumSet(java.util.EnumSet) SetCleanerChoreRunningRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetCleanerChoreRunningRequest) Pair(org.apache.hadoop.hbase.util.Pair) Address(org.apache.hadoop.hbase.net.Address) StopMasterRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.StopMasterRequest) IsNormalizerEnabledResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledResponse) CompactRegionRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest) MajorCompactionTimestampForRegionRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampForRegionRequest) CacheEvictionStats(org.apache.hadoop.hbase.CacheEvictionStats) GetLocksResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksResponse) AddColumnResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse) EnableCatalogJanitorRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorRequest) ModifyColumnStoreFileTrackerResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnStoreFileTrackerResponse) RpcCallback(org.apache.hbase.thirdparty.com.google.protobuf.RpcCallback) DecommissionRegionServersRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersRequest) Stream(java.util.stream.Stream) RegionSpecifierType(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType) UpdateConfigurationResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse) ReplicationPeerDescription(org.apache.hadoop.hbase.replication.ReplicationPeerDescription) NameStringPair(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair) ListTableDescriptorsByNamespaceRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceRequest) SnapshotCreationException(org.apache.hadoop.hbase.snapshot.SnapshotCreationException) GetProcedureResultRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest) GrantRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AccessControlProtos.GrantRequest) DeleteTableRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest) GetReplicationPeerConfigResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse) Supplier(java.util.function.Supplier) UpdateConfigurationRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest) GetNamespaceDescriptorResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse) GetLocksRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetLocksRequest) DisableTableRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest) ClearRegionBlockCacheRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearRegionBlockCacheRequest) IsInMaintenanceModeResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeResponse) StopServerResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse) ListNamespacesRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespacesRequest) GetRSGroupInfoOfServerRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.GetRSGroupInfoOfServerRequest) DecommissionRegionServersResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DecommissionRegionServersResponse) ShutdownRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ShutdownRequest) NormalizeResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.NormalizeResponse) Option(org.apache.hadoop.hbase.ClusterMetrics.Option) GetUserPermissionsResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AccessControlProtos.GetUserPermissionsResponse) TableName(org.apache.hadoop.hbase.TableName) UpdateReplicationPeerConfigRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest) IsInMaintenanceModeRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsInMaintenanceModeRequest) AdminService(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService) IOException(java.io.IOException) AddRSGroupResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.AddRSGroupResponse) RpcChannel(org.apache.hbase.thirdparty.com.google.protobuf.RpcChannel) EnableReplicationPeerRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest) CompactRegionResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse) DeleteColumnRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest) GetConfiguredNamespacesAndTablesInRSGroupResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.GetConfiguredNamespacesAndTablesInRSGroupResponse) RenameRSGroupResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.RenameRSGroupResponse) TableNotDisabledException(org.apache.hadoop.hbase.TableNotDisabledException) SetQuotaResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse) Nullable(edu.umd.cs.findbugs.annotations.Nullable) IsSnapshotDoneRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest) ListTableNamesByNamespaceResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceResponse) ClearDeadServersResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ClearDeadServersResponse) DeleteTableResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse) GetProceduresRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresRequest) GetSpaceQuotaRegionSizesRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesRequest) Message(org.apache.hbase.thirdparty.com.google.protobuf.Message) GetTableDescriptorsResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse) DeleteSnapshotResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse) ProcedureDescription(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription) RunCatalogScanResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCatalogScanResponse) ListNamespacesResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespacesResponse) GetQuotaStatesRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetQuotaStatesRequest) SecurityCapability(org.apache.hadoop.hbase.client.security.SecurityCapability) ReplicationException(org.apache.hadoop.hbase.replication.ReplicationException) BalanceRSGroupRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.BalanceRSGroupRequest) RollWALWriterRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest) ProtobufUtil(org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil) GetRegionLoadResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse) RenameRSGroupRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.RenameRSGroupRequest) EnableTableRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest) TimerTask(org.apache.hbase.thirdparty.io.netty.util.TimerTask) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) RevokeResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AccessControlProtos.RevokeResponse) ListTablesInRSGroupRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.ListTablesInRSGroupRequest) AddReplicationPeerRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest) ListReplicationPeersRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest) Collectors(java.util.stream.Collectors) AbortProcedureResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse) GetSpaceQuotaRegionSizesResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse) CollectionUtils(org.apache.hbase.thirdparty.org.apache.commons.collections4.CollectionUtils) SetBalancerRunningResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse) ModifyColumnStoreFileTrackerRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnStoreFileTrackerRequest) ListRSGroupInfosRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.ListRSGroupInfosRequest) UnknownRegionException(org.apache.hadoop.hbase.UnknownRegionException) NormalizeRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.NormalizeRequest) SwitchExceedThrottleQuotaRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SwitchExceedThrottleQuotaRequest) AdminRequestCallerBuilder(org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder) IsProcedureDoneRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest) SetSplitOrMergeEnabledRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetSplitOrMergeEnabledRequest) ListRSGroupInfosResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.ListRSGroupInfosResponse) GetTableDescriptorsRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest) SetSnapshotCleanupResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetSnapshotCleanupResponse) CacheEvictionStatsAggregator(org.apache.hadoop.hbase.CacheEvictionStatsAggregator) HasUserPermissionsRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AccessControlProtos.HasUserPermissionsRequest) AssignRegionRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest) TableNotEnabledException(org.apache.hadoop.hbase.TableNotEnabledException) ListNamespaceDescriptorsResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse) AddRSGroupRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.AddRSGroupRequest) CompletableFuture(java.util.concurrent.CompletableFuture) RestoreSnapshotResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse) TransitReplicationPeerSyncReplicationStateResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.TransitReplicationPeerSyncReplicationStateResponse) SetQuotaRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest) RunCatalogScanRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCatalogScanRequest) Function(java.util.function.Function) GetRSGroupInfoOfTableResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.GetRSGroupInfoOfTableResponse) HConstants(org.apache.hadoop.hbase.HConstants) QuotaTableUtil(org.apache.hadoop.hbase.quotas.QuotaTableUtil) ClearCompactionQueuesRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest) GetSpaceQuotaSnapshotsRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest) SnapshotRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest) DisableReplicationPeerRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest) RemoveServersRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.RemoveServersRequest) MoveRegionRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest) Bytes(org.apache.hadoop.hbase.util.Bytes) ListReplicationPeersResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse) Logger(org.slf4j.Logger) HBaseProtos(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos) TableExistsException(org.apache.hadoop.hbase.TableExistsException) HashedWheelTimer(org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer) MajorCompactionTimestampRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampRequest) RemoveReplicationPeerResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse) SetNormalizerRunningRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetNormalizerRunningRequest) AccessControlProtos(org.apache.hadoop.hbase.shaded.protobuf.generated.AccessControlProtos) GetClusterStatusResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusResponse) SecurityCapabilitiesRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SecurityCapabilitiesRequest) MasterRequestCallerBuilder(org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder) ListNamespaceDescriptorsRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest) RequestConverter(org.apache.hadoop.hbase.shaded.protobuf.RequestConverter) RegionMetrics(org.apache.hadoop.hbase.RegionMetrics) DeleteNamespaceResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse) Consumer(java.util.function.Consumer) UpdateRSGroupConfigRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.UpdateRSGroupConfigRequest) MergeTableRegionsRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest) InterfaceAudience(org.apache.yetus.audience.InterfaceAudience) GetReplicationPeerConfigRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest) HRegionLocation(org.apache.hadoop.hbase.HRegionLocation) QuotaSettings(org.apache.hadoop.hbase.quotas.QuotaSettings) RecommissionRegionServerRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RecommissionRegionServerRequest) DeleteColumnResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse) ModifyTableStoreFileTrackerResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableStoreFileTrackerResponse) UpdateReplicationPeerConfigResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse) GetRSGroupInfoResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.GetRSGroupInfoResponse) CompactionSwitchResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactionSwitchResponse) ShadedAccessControlUtil(org.apache.hadoop.hbase.security.access.ShadedAccessControlUtil) RunCleanerChoreResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RunCleanerChoreResponse) Arrays(java.util.Arrays) ExecProcedureResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse) GetClusterStatusRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetClusterStatusRequest) BalanceRSGroupResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.BalanceRSGroupResponse) QuotaFilter(org.apache.hadoop.hbase.quotas.QuotaFilter) HasUserPermissionsResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AccessControlProtos.HasUserPermissionsResponse) IsCatalogJanitorEnabledRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledRequest) DisableTableResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse) UpdateRSGroupConfigResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.UpdateRSGroupConfigResponse) MasterProtos(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos) IsBalancerEnabledResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse) SplitTableRegionRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SplitTableRegionRequest) ForeignExceptionUtil(org.apache.hadoop.hbase.util.ForeignExceptionUtil) IsCatalogJanitorEnabledResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCatalogJanitorEnabledResponse) SpaceQuotaSnapshot(org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot) GetOnlineRegionRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest) FlushRegionRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest) ExecProcedureRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest) Set(java.util.Set) IsNormalizerEnabledRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsNormalizerEnabledRequest) ListTableNamesByNamespaceRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableNamesByNamespaceRequest) StopServerRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest) ModifyTableResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableResponse) MoveRegionResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse) SetSplitOrMergeEnabledResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetSplitOrMergeEnabledResponse) RegionSizes(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaRegionSizesResponse.RegionSizes) MasterService(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService) IsRpcThrottleEnabledResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsRpcThrottleEnabledResponse) ClusterMetricsBuilder(org.apache.hadoop.hbase.ClusterMetricsBuilder) RevokeRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AccessControlProtos.RevokeRequest) GetTableNamesRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest) IsProcedureDoneResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse) IsSplitOrMergeEnabledRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledRequest) ModifyTableStoreFileTrackerRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableStoreFileTrackerRequest) ClientSnapshotDescriptionUtils(org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils) RemoveRSGroupResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.RemoveRSGroupResponse) ListTableDescriptorsByNamespaceResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListTableDescriptorsByNamespaceResponse) AddColumnRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest) IsCleanerChoreEnabledRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledRequest) RestoreSnapshotRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest) ArrayList(java.util.ArrayList) GetConfiguredNamespacesAndTablesInRSGroupRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.GetConfiguredNamespacesAndTablesInRSGroupRequest) RollWALWriterResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse) RemoveServersResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.RemoveServersResponse) AddReplicationPeerResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse) SnapshotProtos(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos) UnassignRegionRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest) BiConsumer(java.util.function.BiConsumer) ClearRegionBlockCacheResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearRegionBlockCacheResponse) ModifyColumnResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse) ServerName(org.apache.hadoop.hbase.ServerName) SwitchRpcThrottleRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SwitchRpcThrottleRequest) ModifyNamespaceResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse) SecurityCapabilitiesResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SecurityCapabilitiesResponse) SetNormalizerRunningResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetNormalizerRunningResponse) SyncReplicationState(org.apache.hadoop.hbase.replication.SyncReplicationState) GetProcedureResultResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse) ReplicationPeerConfig(org.apache.hadoop.hbase.replication.ReplicationPeerConfig) FlushRegionResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse) IsSplitOrMergeEnabledResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSplitOrMergeEnabledResponse) ShutdownResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ShutdownResponse) GetCompletedSnapshotsRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest) TruncateTableResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse) AssignRegionResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse) CatalogFamilyFormat(org.apache.hadoop.hbase.CatalogFamilyFormat) TableNotFoundException(org.apache.hadoop.hbase.TableNotFoundException) FutureUtils.addListener(org.apache.hadoop.hbase.util.FutureUtils.addListener) GetRegionLoadRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest) RegionLocations(org.apache.hadoop.hbase.RegionLocations) LoggerFactory(org.slf4j.LoggerFactory) ServerRequestCallerBuilder(org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.ServerRequestCallerBuilder) Timeout(org.apache.hbase.thirdparty.io.netty.util.Timeout) GetSpaceQuotaSnapshotsResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse) GetProceduresResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProceduresResponse) MoveServersResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.MoveServersResponse) TransitReplicationPeerSyncReplicationStateRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.TransitReplicationPeerSyncReplicationStateRequest) StopMasterResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.StopMasterResponse) UnassignRegionResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse) TableCFs(org.apache.hadoop.hbase.client.replication.TableCFs) RemoveRSGroupRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.RemoveRSGroupRequest) EnableReplicationPeerResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse) CreateNamespaceResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse) CreateTableRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest) IsCleanerChoreEnabledResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsCleanerChoreEnabledResponse) TruncateTableRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest) IsSnapshotCleanupEnabledResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotCleanupEnabledResponse) HBaseRpcController(org.apache.hadoop.hbase.ipc.HBaseRpcController) ClearCompactionQueuesResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse) GetRegionInfoRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest) GetRSGroupInfoOfTableRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.GetRSGroupInfoOfTableRequest) List(java.util.List) ReplicationPeerConfigUtil(org.apache.hadoop.hbase.client.replication.ReplicationPeerConfigUtil) IsSnapshotDoneResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse) HIGH_QOS(org.apache.hadoop.hbase.HConstants.HIGH_QOS) ModifyNamespaceRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest) GetRSGroupInfoOfServerResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.GetRSGroupInfoOfServerResponse) EnvironmentEdgeManager(org.apache.hadoop.hbase.util.EnvironmentEdgeManager) Optional(java.util.Optional) MergeTableRegionsResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse) SetCleanerChoreRunningResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetCleanerChoreRunningResponse) Pattern(java.util.regex.Pattern) META_TABLE_NAME(org.apache.hadoop.hbase.TableName.META_TABLE_NAME) Permission(org.apache.hadoop.hbase.security.access.Permission) EnableCatalogJanitorResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableCatalogJanitorResponse) ModifyColumnRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest) ConcurrentLinkedQueue(java.util.concurrent.ConcurrentLinkedQueue) EnableTableResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse) MajorCompactionTimestampResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MajorCompactionTimestampResponse) GetUserPermissionsRequest(org.apache.hadoop.hbase.security.access.GetUserPermissionsRequest) RecommissionRegionServerResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RecommissionRegionServerResponse) SnapshotResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse) Preconditions(org.apache.hbase.thirdparty.com.google.common.base.Preconditions) GetCompletedSnapshotsResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse) NamespaceDescriptor(org.apache.hadoop.hbase.NamespaceDescriptor) ListTablesInRSGroupResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.ListTablesInRSGroupResponse) HashMap(java.util.HashMap) AtomicReference(java.util.concurrent.atomic.AtomicReference) ListDecommissionedRegionServersResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersResponse) DisableReplicationPeerResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse) GrantResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AccessControlProtos.GrantResponse) GetRSGroupInfoRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.RSGroupAdminProtos.GetRSGroupInfoRequest) RemoveReplicationPeerRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest) SwitchExceedThrottleQuotaResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SwitchExceedThrottleQuotaResponse) ReadType(org.apache.hadoop.hbase.client.Scan.ReadType) ClearDeadServersRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ClearDeadServersRequest) CreateNamespaceRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest) SetBalancerRunningRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest) TableSchema(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema) AbortProcedureRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest) DeleteSnapshotRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest) ModifyTableRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyTableRequest) UserPermission(org.apache.hadoop.hbase.security.access.UserPermission) IsRpcThrottleEnabledRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsRpcThrottleEnabledRequest) GetTableNamesResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse) OfflineRegionRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest) ClientMetaTableAccessor(org.apache.hadoop.hbase.ClientMetaTableAccessor) OfflineRegionResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse) TimeUnit(java.util.concurrent.TimeUnit) GetOnlineRegionResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse) ListDecommissionedRegionServersRequest(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListDecommissionedRegionServersRequest) SwitchRpcThrottleResponse(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SwitchRpcThrottleResponse) Collections(java.util.Collections) CompletableFuture(java.util.concurrent.CompletableFuture) HRegionLocation(org.apache.hadoop.hbase.HRegionLocation) Optional(java.util.Optional) UnknownRegionException(org.apache.hadoop.hbase.UnknownRegionException) IOException(java.io.IOException)

Example 18 with UnknownRegionException

use of org.apache.hadoop.hbase.UnknownRegionException in project hbase by apache.

the class TestRegionMergeTransactionOnCluster method testMerge.

/**
 * This test tests 1, merging region not online;
 * 2, merging same two regions; 3, merging unknown regions.
 * They are in one test case so that we don't have to create
 * many tables, and these tests are simple.
 */
@Test
public void testMerge() throws Exception {
    LOG.info("Starting " + name.getMethodName());
    final TableName tableName = TableName.valueOf(name.getMethodName());
    final Admin admin = TEST_UTIL.getAdmin();
    try {
        // Create table and load data.
        Table table = createTableAndLoadData(MASTER, tableName);
        AssignmentManager am = MASTER.getAssignmentManager();
        List<RegionInfo> regions = am.getRegionStates().getRegionsOfTable(tableName);
        // Fake offline one region
        RegionInfo a = regions.get(0);
        RegionInfo b = regions.get(1);
        am.unassign(b);
        am.offlineRegion(b);
        try {
            // Merge offline region. Region a is offline here
            FutureUtils.get(admin.mergeRegionsAsync(a.getEncodedNameAsBytes(), b.getEncodedNameAsBytes(), false));
            fail("Offline regions should not be able to merge");
        } catch (DoNotRetryRegionException ie) {
            System.out.println(ie);
            assertTrue(ie instanceof MergeRegionException);
        }
        try {
            // Merge the same region: b and b.
            FutureUtils.get(admin.mergeRegionsAsync(b.getEncodedNameAsBytes(), b.getEncodedNameAsBytes(), true));
            fail("A region should not be able to merge with itself, even forcfully");
        } catch (IOException ie) {
            assertTrue("Exception should mention regions not online", StringUtils.stringifyException(ie).contains("region to itself") && ie instanceof MergeRegionException);
        }
        try {
            // Merge unknown regions
            FutureUtils.get(admin.mergeRegionsAsync(Bytes.toBytes("-f1"), Bytes.toBytes("-f2"), true));
            fail("Unknown region could not be merged");
        } catch (IOException ie) {
            assertTrue("UnknownRegionException should be thrown", ie instanceof UnknownRegionException);
        }
        table.close();
    } finally {
        TEST_UTIL.deleteTable(tableName);
    }
}
Also used : TableName(org.apache.hadoop.hbase.TableName) Table(org.apache.hadoop.hbase.client.Table) UnknownRegionException(org.apache.hadoop.hbase.UnknownRegionException) AssignmentManager(org.apache.hadoop.hbase.master.assignment.AssignmentManager) RegionInfo(org.apache.hadoop.hbase.client.RegionInfo) DoNotRetryRegionException(org.apache.hadoop.hbase.client.DoNotRetryRegionException) MergeRegionException(org.apache.hadoop.hbase.exceptions.MergeRegionException) IOException(java.io.IOException) Admin(org.apache.hadoop.hbase.client.Admin) Test(org.junit.Test)

Aggregations

UnknownRegionException (org.apache.hadoop.hbase.UnknownRegionException)18 IOException (java.io.IOException)14 RegionInfo (org.apache.hadoop.hbase.client.RegionInfo)10 DoNotRetryIOException (org.apache.hadoop.hbase.DoNotRetryIOException)9 TableName (org.apache.hadoop.hbase.TableName)8 ServiceException (org.apache.hbase.thirdparty.com.google.protobuf.ServiceException)5 InterruptedIOException (java.io.InterruptedIOException)4 ServerName (org.apache.hadoop.hbase.ServerName)4 MergeRegionException (org.apache.hadoop.hbase.exceptions.MergeRegionException)4 RegionSpecifierType (org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType)4 Test (org.junit.Test)3 CompletableFuture (java.util.concurrent.CompletableFuture)2 ExecutionException (java.util.concurrent.ExecutionException)2 HBaseIOException (org.apache.hadoop.hbase.HBaseIOException)2 HRegionInfo (org.apache.hadoop.hbase.HRegionInfo)2 TableExistsException (org.apache.hadoop.hbase.TableExistsException)2 TableNotDisabledException (org.apache.hadoop.hbase.TableNotDisabledException)2 TableNotFoundException (org.apache.hadoop.hbase.TableNotFoundException)2 Admin (org.apache.hadoop.hbase.client.Admin)2 ReplicationException (org.apache.hadoop.hbase.replication.ReplicationException)2