Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5B80DC548 for ; Tue, 12 Aug 2014 06:05:12 +0000 (UTC) Received: (qmail 12237 invoked by uid 500); 12 Aug 2014 06:05:12 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 12211 invoked by uid 500); 12 Aug 2014 06:05:12 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 12199 invoked by uid 99); 12 Aug 2014 06:05:11 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Aug 2014 06:05:11 +0000 Date: Tue, 12 Aug 2014 06:05:11 +0000 (UTC) From: "Hadoop QA (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-11660) Make WAL reader follow contract for java.io.InputStream.available() MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-11660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14093778#comment-14093778 ] Hadoop QA commented on HBASE-11660: ----------------------------------- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12659674/hbase-11660.01.patch against trunk revision . ATTACHMENT ID: 12659674 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:red}-1 tests included{color}. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.codec.TestCellCodec org.apache.hadoop.hbase.codec.TestKeyValueCodecWithTags org.apache.hadoop.hbase.codec.TestKeyValueCodec org.apache.hadoop.hbase.codec.TestCellCodecWithTags Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/10396//console This message is automatically generated. > Make WAL reader follow contract for java.io.InputStream.available() > ------------------------------------------------------------------- > > Key: HBASE-11660 > URL: https://issues.apache.org/jira/browse/HBASE-11660 > Project: HBase > Issue Type: Bug > Components: wal > Affects Versions: 0.99.0, 2.0.0, 0.98.6 > Reporter: Eric Hanson > Priority: Minor > Attachments: hbase-11660.01.patch > > > In the process of building support to running HBase on Microsoft Azure HDInsight, I hit an issue in the HBase WAL reading process that took a lot of time to debug. The WAL reading code depends on available() for the log InputStream never returing 0 until end of file. This is not the same as the contract in java.io.InputStream for available. > To prevent future grief for others that may want to port HBase onto storage systems other than HDFS, I propose to change the HBase WAL reader so it does not assume that EOF has been reached when available() == 0. It instead would treat available only as described in InputStream, i.e. available() is merely the number of bytes that could be read from the stream without blocking. That could be 0 even before EOF. -- This message was sent by Atlassian JIRA (v6.2#6252)