@Override
  protected void checkBlock(PutMappingRequest request, ClusterState state) {
    // update to concrete indices
    request.indices(state.metaData().concreteIndices(request.indices()));

    for (String index : request.indices()) {
      state.blocks().indexBlockedRaiseException(ClusterBlockLevel.METADATA, index);
    }
  }
  @Override
  protected PutMappingResponse masterOperation(PutMappingRequest request)
      throws ElasticSearchException {
    ClusterState clusterState = clusterService.state();

    // update to concrete indices
    request.indices(clusterState.metaData().concreteIndices(request.indices()));
    final String[] indices = request.indices();

    MetaDataService.PutMappingResult result =
        metaDataService.putMapping(
            indices,
            request.type(),
            request.source(),
            request.ignoreConflicts(),
            request.timeout());
    return new PutMappingResponse(result.acknowledged());
  }