[ 
https://issues.apache.org/jira/browse/HDFS-14701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16903325#comment-16903325
 ] 

Hudson commented on HDFS-14701:
-------------------------------

FAILURE: Integrated in Jenkins build Hadoop-trunk-Commit #17066 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/17066/])
HDFS-14701. Change Log Level to warn in SlotReleaser. Contributed by (weichiu: 
rev 28a848412c8239dfc6bd3e42dbbfe711e19bc8eb)
* (edit) 
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/shortcircuit/ShortCircuitCache.java


> Change Log Level to warn in SlotReleaser
> ----------------------------------------
>
>                 Key: HDFS-14701
>                 URL: https://issues.apache.org/jira/browse/HDFS-14701
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: Lisheng Sun
>            Assignee: Lisheng Sun
>            Priority: Minor
>             Fix For: 3.3.0
>
>         Attachments: HDFS-14701.001.patch, HDFS-14701.002.patch
>
>
>  if the corresponding DataNode has been stopped or restarted and DFSClient 
> close shared memory segment,releaseShortCircuitFds API throw expection and 
> log a ERROR Message. I think it should not be a ERROR log,and that log a warn 
> log is more reasonable.
> {code:java}
> // @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);
>     }
>   }
> }
> {code}
>  *exception stack:*
> {code:java}
> 2019-08-05,15:28:03,838 ERROR [ShortCircuitCache_SlotReleaser] 
> org.apache.hadoop.hdfs.shortcircuit.ShortCircuitCache: 
> ShortCircuitCache(0x65849546): failed to release short-circuit shared memory 
> slot Slot(slotIdx=62, shm=DfsClientShm(70593ef8b3d84cba3c2f0a1e81377eb1)) by 
> sending ReleaseShortCircuitAccessRequestProto to 
> /home/work/app/hdfs/c3micloudsrv-hdd/datanode/dn_socket.  Closing shared 
> memory segment.
> java.io.IOException: ERROR_INVALID: there is no shared memory segment 
> registered with shmId 70593ef8b3d84cba3c2f0a1e81377eb1
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to