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 17E0017308 for ; Fri, 20 Mar 2015 16:50:55 +0000 (UTC) Received: (qmail 95427 invoked by uid 500); 20 Mar 2015 16:50:38 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 95386 invoked by uid 500); 20 Mar 2015 16:50:38 -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 95305 invoked by uid 99); 20 Mar 2015 16:50:38 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Mar 2015 16:50:38 +0000 Date: Fri, 20 Mar 2015 16:50:38 +0000 (UTC) From: "Sean Busbey (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-13273) Make Result.EMPTY_RESULT read-only; currently it can be modified 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-13273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14371605#comment-14371605 ] Sean Busbey commented on HBASE-13273: ------------------------------------- Can someone tell me why TestResult is in hbase-server? {quote} -1 findbugs. The patch appears to introduce 1 new Findbugs (version 2.0.3) warnings. {quote} I'm not seeing what in hbase-client generated a new warning. I'll chase it down in a bit. {code} + private void checkReadonly() { + if (this.readonly == true) { + throw new UnsupportedOperationException("Attempting to modify readonly EMPTY_RESULT!"); + } + } {code} Please add a javadoc about how all methods that mutate state in a result *must* call this method. {code} + private void checkReadonly() { + if (this.readonly == true) { + throw new UnsupportedOperationException("Attempting to modify readonly EMPTY_RESULT!"); + } + } {code} just use {{if(readonly)}} directly. > Make Result.EMPTY_RESULT read-only; currently it can be modified > ---------------------------------------------------------------- > > Key: HBASE-13273 > URL: https://issues.apache.org/jira/browse/HBASE-13273 > Project: HBase > Issue Type: Bug > Affects Versions: 0.98.0, 1.0.0 > Reporter: stack > Assignee: Mikhail Antonov > Labels: beginner > Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.13 > > Attachments: HBASE-13273.patch, HBASE-13273.patch, HBASE-13273.patch, HBASE-13273.patch > > > Again from [~larsgeorge] > Result result2 = Result.EMPTY_RESULT; > System.out.println(result2); > result2.copyFrom(result1); > System.out.println(result2); > "What do you think happens when result1 has cells? Yep, you just modified the shared public EMPTY_RESULT to be not empty anymore." > Fix. Result should be non-modifiable post-construction. -- This message was sent by Atlassian JIRA (v6.3.4#6332)