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

ramkrishna.s.vasudevan commented on HBASE-14895:
------------------------------------------------

Without maintaining two sepreate lists it would not be possible to reset 
theheap with a StorefileScanner that just got removed from the heap and that is 
the 'current' scanner and then when a reset happens we cannot add it back to 
the heap since it is already removed from the current heap so iterating that 
would not give you the 'current' scanner.
So maintaining two DS will help to avoid this problem and hence went with 2 DS.

{code}
public void close() {
    cur = null;
    this.hfs.close();
    if (this.reader != null) {
      this.reader.decrementRefCount();
    }
  }
 {code}
This problem of close() can happen in cases when the same completed scanner is 
doing a close() once again. I can update the patch with that change. Good point 
and nice catch. 

> Seek only to the newly flushed file on scanner reset on flush
> -------------------------------------------------------------
>
>                 Key: HBASE-14895
>                 URL: https://issues.apache.org/jira/browse/HBASE-14895
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 2.0.0
>
>         Attachments: HBASE-14895.patch, HBASE-14895_1.patch, 
> HBASE-14895_1.patch, HBASE-14895_2.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to