[
https://issues.apache.org/jira/browse/HBASE-21915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16783669#comment-16783669
]
stack commented on HBASE-21915:
-------------------------------
[~elserj] I see this on 2.6.1-2.6.3 hadoop compiles...
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile)
on project hbase-server: Compilation failure: Compilation failure:
[ERROR]
/testptch/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FileLink.java:[34,28]
cannot find symbol
[ERROR] symbol: class CanUnbuffer
[ERROR] location: package org.apache.hadoop.fs
[ERROR]
/testptch/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FileLink.java:[106,83]
cannot find symbol
[ERROR] symbol: class CanUnbuffer
[ERROR] location: class org.apache.hadoop.hbase.io.FileLink
[ERROR]
/testptch/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FileLink.java:[285,5]
method does not override or implement a method from a supertype
[ERROR]
/testptch/hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FileLink.java:[290,9]
cannot find symbol
[ERROR] symbol: method unbuffer()
[ERROR] location: variable in of type org.apache.hadoop.fs.FSDataInputStream
[ERROR] -> [Help 1]
See
https://builds.apache.org/view/H-L/view/HBase/job/HBase%20Nightly/job/branch-2.0/1398/artifact/output-general/patch-javac-2.6.1.txt
My fault. Should have caught it earlier.
Was thinking of reverting this patch from branch-2.0 or what you think? Change
our matrix to drop 2.6.1-2.6.3 hadoop? Thanks.
> FileLink$FileLinkInputStream doesn't implement CanUnbuffer
> ----------------------------------------------------------
>
> Key: HBASE-21915
> URL: https://issues.apache.org/jira/browse/HBASE-21915
> Project: HBase
> Issue Type: Bug
> Components: Filesystem Integration
> Reporter: Josh Elser
> Assignee: Josh Elser
> Priority: Major
> Fix For: 3.0.0, 1.5.0, 2.2.0, 1.4.10, 2.0.5, 2.3.0, 2.1.4
>
> Attachments: HBASE-21915.001.patch, HBASE-21915.002.patch
>
>
> FileLinkInputStream is an InputStream which handles the indirection of where
> the real HFile lives. This implementation is wrapped via
> FSDataInputStreamWrapper and is transparent when it's being used by a caller.
> Often, we have an FSDataInputStreamWrapper wrapping a FileLinkInputStream
> which wraps an FSDataInputStream.
> The problem is that FileLinkInputStream does not implement the
> \{{CanUnbuffer}} interface, which means that the underlying
> {{FSDataInputStream}} for the HFile the link refers to doesn't get
> {{unbuffer()}} called on it. This can cause an open Socket to hang around, as
> described in HBASE-9393.
> Both [~wchevreuil] and myself have run into this, each for different users.
> We think the commonality as to why these users saw this (but we haven't run
> into it on our own) is that it requires a very large snapshot to be brought
> into a new system. Big kudos to [~esteban] for his help in diagnosing this as
> well!
> If this analysis is accurate, it would affect all branches.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)