当前位置: 首页>>代码示例>>Java>>正文


Java ReleaseShortCircuitAccessResponseProto类代码示例

本文整理汇总了Java中org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.ReleaseShortCircuitAccessResponseProto的典型用法代码示例。如果您正苦于以下问题:Java ReleaseShortCircuitAccessResponseProto类的具体用法?Java ReleaseShortCircuitAccessResponseProto怎么用?Java ReleaseShortCircuitAccessResponseProto使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ReleaseShortCircuitAccessResponseProto类属于org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos包,在下文中一共展示了ReleaseShortCircuitAccessResponseProto类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: run

import org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.ReleaseShortCircuitAccessResponseProto; //导入依赖的package包/类
@Override
public void run() {
  LOG.trace("{}: about to release {}", ShortCircuitCache.this, slot);
  final DfsClientShm shm = (DfsClientShm)slot.getShm();
  final DomainSocket shmSock = shm.getPeer().getDomainSocket();
  final String path = shmSock.getPath();
  boolean success = false;
  try (DomainSocket sock = DomainSocket.connect(path);
       DataOutputStream out = new DataOutputStream(
           new BufferedOutputStream(sock.getOutputStream()))) {
    new Sender(out).releaseShortCircuitFds(slot.getSlotId());
    DataInputStream in = new DataInputStream(sock.getInputStream());
    ReleaseShortCircuitAccessResponseProto resp =
        ReleaseShortCircuitAccessResponseProto.parseFrom(
            PBHelperClient.vintPrefixed(in));
    if (resp.getStatus() != Status.SUCCESS) {
      String error = resp.hasError() ? resp.getError() : "(unknown)";
      throw new IOException(resp.getStatus().toString() + ": " + error);
    }
    LOG.trace("{}: released {}", this, slot);
    success = true;
  } catch (IOException e) {
    LOG.error(ShortCircuitCache.this + ": failed to release " +
        "short-circuit shared memory slot " + slot + " by sending " +
        "ReleaseShortCircuitAccessRequestProto to " + path +
        ".  Closing shared memory segment.", e);
  } finally {
    if (success) {
      shmManager.freeSlot(slot);
    } else {
      shm.getEndpointShmManager().shutdown(shm);
    }
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:35,代码来源:ShortCircuitCache.java

示例2: run

import org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.ReleaseShortCircuitAccessResponseProto; //导入依赖的package包/类
@Override
public void run() {
  if (LOG.isTraceEnabled()) {
    LOG.trace(ShortCircuitCache.this + ": about to release " + slot);
  }
  final DfsClientShm shm = (DfsClientShm)slot.getShm();
  final DomainSocket shmSock = shm.getPeer().getDomainSocket();
  DomainSocket sock = null;
  DataOutputStream out = null;
  final String path = shmSock.getPath();
  boolean success = false;
  try {
    sock = DomainSocket.connect(path);
    out = new DataOutputStream(
        new BufferedOutputStream(sock.getOutputStream()));
    new Sender(out).releaseShortCircuitFds(slot.getSlotId());
    DataInputStream in = new DataInputStream(sock.getInputStream());
    ReleaseShortCircuitAccessResponseProto resp =
        ReleaseShortCircuitAccessResponseProto.parseFrom(
            PBHelper.vintPrefixed(in));
    if (resp.getStatus() != Status.SUCCESS) {
      String error = resp.hasError() ? resp.getError() : "(unknown)";
      throw new IOException(resp.getStatus().toString() + ": " + error);
    }
    if (LOG.isTraceEnabled()) {
      LOG.trace(ShortCircuitCache.this + ": released " + slot);
    }
    success = true;
  } catch (IOException e) {
    LOG.error(ShortCircuitCache.this + ": failed to release " +
        "short-circuit shared memory slot " + slot + " by sending " +
        "ReleaseShortCircuitAccessRequestProto to " + path +
        ".  Closing shared memory segment.", e);
  } finally {
    if (success) {
      shmManager.freeSlot(slot);
    } else {
      shm.getEndpointShmManager().shutdown(shm);
    }
    IOUtils.cleanup(LOG, sock, out);
  }
}
 
开发者ID:yncxcw,项目名称:big-c,代码行数:43,代码来源:ShortCircuitCache.java


注:本文中的org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.ReleaseShortCircuitAccessResponseProto类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。