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 53036178C7 for ; Thu, 3 Mar 2016 05:06:19 +0000 (UTC) Received: (qmail 94733 invoked by uid 500); 3 Mar 2016 05:06:18 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 94671 invoked by uid 500); 3 Mar 2016 05:06:18 -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 94658 invoked by uid 99); 3 Mar 2016 05:06:18 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 Mar 2016 05:06:18 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 3060E2C1F5D for ; Thu, 3 Mar 2016 05:06:18 +0000 (UTC) Date: Thu, 3 Mar 2016 05:06:18 +0000 (UTC) From: "Anoop Sam John (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-15379) Fake cells created in read path not implementing SettableSequenceId 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-15379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15177179#comment-15177179 ] Anoop Sam John commented on HBASE-15379: ---------------------------------------- Looks like.. Ya even the seqId is of no use.. Actually we can avoid the call to setSeqId on these fake cell at that time.. But as said above, it is added as a safer side.. Later also we may land in this I fear. IMHO with out test also we can get this in. > Fake cells created in read path not implementing SettableSequenceId > ------------------------------------------------------------------- > > Key: HBASE-15379 > URL: https://issues.apache.org/jira/browse/HBASE-15379 > Project: HBase > Issue Type: Bug > Affects Versions: 2.0.0 > Reporter: Anoop Sam John > Assignee: Amal Joshy > Fix For: 2.0.0 > > Attachments: HBASE-15379-v2.patch, HBASE-15379.patch > > > This issue found by [~appy]. In HBASE-14099 he says, > I was doing some testing when I hit a weird issue, seems related to this, so re-opening it (apologies in advance if it's not). Here's the stack trace > {noformat} > java.io.IOException: java.lang.UnsupportedOperationException: Cell is not of type org.apache.hadoop.hbase.SettableSequenceId > at org.apache.hadoop.hbase.CellUtil.setSequenceId(CellUtil.java:923) > at org.apache.hadoop.hbase.regionserver.StoreFileScanner.setCurrentCell(StoreFileScanner.java:231) > at org.apache.hadoop.hbase.regionserver.StoreFileScanner.requestSeek(StoreFileScanner.java:389) > at org.apache.hadoop.hbase.regionserver.StoreScanner.seekScanners(StoreScanner.java:348) > at org.apache.hadoop.hbase.regionserver.StoreScanner.(StoreScanner.java:212) > at org.apache.hadoop.hbase.regionserver.HStore.createScanner(HStore.java:1873) > at org.apache.hadoop.hbase.regionserver.HStore.getScanner(HStore.java:1863) > at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5487) > at org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2577) > at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2563) > at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2544) > at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2534) > at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6659) > at org.apache.hadoop.hbase.regionserver.HRegion.get(HRegion.java:6624) > at org.apache.hadoop.hbase.regionserver.TestWithSingleHRegion.test(TestWithSingleHRegion.java:48) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) > at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) > at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) > at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) > at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) > at org.junit.runner.JUnitCore.run(JUnitCore.java:137) > at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117) > at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234) > at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74) > {noformat} > I think it's because of using changing from KeyValue to a different sub-class of {{Cell}}l which doesn't implement {{SettableSequenceId}} > {noformat} > - this.startKey = KeyValueUtil.createFirstDeleteFamilyOnRow(scan.getStartRow(), > + this.startKey = CellUtil.createFirstDeleteFamilyCellOnRow(scan.getStartRow(), > {noformat} > To replicate it, download the attached hfiles somewhere, copy the TestWithSingleHRegion class to regionserver tests, change the ROOT_DIR appropriately and run it. -- This message was sent by Atlassian JIRA (v6.3.4#6332)