[ 
https://issues.apache.org/jira/browse/HBASE-18921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16194078#comment-16194078
 ] 

Chia-Ping Tsai commented on HBASE-18921:
----------------------------------------

{code}
+  public void testCurrentOnEmptyCell() throws IOException {
+    Result r = Result.create(new Cell[0]);
+    assertFalse(r.advance());
+    assertNull(r.current());
+  }
+
+  public void testAdvanceTwiceOnEmptyCell() throws IOException {
+    Result r = Result.create(new Cell[0]);
+    assertFalse(r.advance());
+    try {
+      r.advance();
+      fail("NoSuchElementException should have been thrown!");
+    } catch (NoSuchElementException ex) {
+      LOG.debug("As expected: " + ex.getMessage());
+    }
+  }
{code}
Please add the {{@Test}} annotation.

> Result.current() throws ArrayIndexOutOfBoundsException after calling advance()
> ------------------------------------------------------------------------------
>
>                 Key: HBASE-18921
>                 URL: https://issues.apache.org/jira/browse/HBASE-18921
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Maytee Chinavanichkit
>            Assignee: Maytee Chinavanichkit
>            Priority: Minor
>             Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
>         Attachments: HBASE-18921.master.001.patch, master.patch
>
>
> On a Result object, if current() method is called after advance() returns 
> false, this throws an ArrayIndexOutOfBoundsException. The expectation here is 
> that it should return a null value. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to