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 5C1EB9A8A for ; Sat, 7 Apr 2012 23:36:41 +0000 (UTC) Received: (qmail 21748 invoked by uid 500); 7 Apr 2012 23:36:41 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 21706 invoked by uid 500); 7 Apr 2012 23:36:41 -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 21696 invoked by uid 99); 7 Apr 2012 23:36:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 07 Apr 2012 23:36:41 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 07 Apr 2012 23:36:38 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 5F77F35D50A for ; Sat, 7 Apr 2012 23:36:17 +0000 (UTC) Date: Sat, 7 Apr 2012 23:36:17 +0000 (UTC) From: "Matt Corgan (Commented) (JIRA)" To: issues@hbase.apache.org Message-ID: <1147384628.180.1333841777392.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1610459235.15451.1333592118933.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (HBASE-5720) HFileDataBlockEncoderImpl uses wrong header size when reading HFiles with no checksums 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-5720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13249415#comment-13249415 ] Matt Corgan commented on HBASE-5720: ------------------------------------ The ideal way to split code in my opinion would be to put it in multiple source directories in the same project, and then configure the build path to set up one-way visibility between source directories. For example, the src/test/java folder would be able to see the src/main/java folder but not vice versa. Unfortunately, eclipse does not support that. It has a global classpath per project. Can't find the exact discussion, but similar to: https://bugs.eclipse.org/bugs/show_bug.cgi?id=224708. I can think of two alternatives: 1) Put multiple src directories in the main project, so everything is in that project's classpath. Periodically have a human or something else remove non-core src directories from the classpath and see if that causes compilation errors in the main src. I just tried removing the src/main/test directory from the classpath and was happy to see that the src/main/java folder still compiles. 2) A more heavy handed approach would be to create separate projects so you can actually enforce unidirectional classpath visibility. That's how I've been developing HBASE-4676 which can be added to the main project as a separate jar. Main project still compiles without it. The downside of this is that having multiple projects is more configuration overhead, like you would probably need multiple svn repos. I think moving towards #1 is a good start for core stuff while more exotic contributions could be made by submitting jars. I'll try to nudge us in this direction with HBASE-4676, just wanted to make sure people agree that it's important =) > HFileDataBlockEncoderImpl uses wrong header size when reading HFiles with no checksums > -------------------------------------------------------------------------------------- > > Key: HBASE-5720 > URL: https://issues.apache.org/jira/browse/HBASE-5720 > Project: HBase > Issue Type: Bug > Components: io, regionserver > Affects Versions: 0.94.0 > Reporter: Matt Corgan > Priority: Blocker > Fix For: 0.94.0 > > Attachments: 5720-trunk-v2.txt, 5720-trunk.txt, 5720v4.txt, 5720v4.txt, 5720v4.txt, HBASE-5720-v1.patch, HBASE-5720-v2.patch, HBASE-5720-v3.patch > > > When reading a .92 HFile without checksums, encoding it, and storing in the block cache, the HFileDataBlockEncoderImpl always allocates a dummy header appropriate for checksums even though there are none. This corrupts the byte[]. > Attaching a patch that allocates a DUMMY_HEADER_NO_CHECKSUM in that case which I think is the desired behavior. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira