You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Sebastien Rainville (JIRA)" <ji...@apache.org> on 2008/07/07 13:51:32 UTC

[jira] Created: (HBASE-724) Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()

Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()
-------------------------------------------------------------------------------

                 Key: HBASE-724
                 URL: https://issues.apache.org/jira/browse/HBASE-724
             Project: Hadoop HBase
          Issue Type: Bug
          Components: regionserver
    Affects Versions: 0.1.3
            Reporter: Sebastien Rainville


When deleting a row, that row seems to be deleted and everything to be normal but some time afterwards that row somehow reappears (HTable.get() and scanners find it again). Looking at the log files it seems like deleted rows reappear after a flush of the memcache or after the compaction...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-724) Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()

Posted by "Sebastien Rainville (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sebastien Rainville updated HBASE-724:
--------------------------------------

    Attachment: testdeleteall.patch

This patches the unit test for deleteAll() to add coverage of HRegionServer.get(). Note that coverage of the scanners should be added as well.


> Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-724
>                 URL: https://issues.apache.org/jira/browse/HBASE-724
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.1.3
>            Reporter: Sebastien Rainville
>         Attachments: testdeleteall.patch
>
>
> When deleting a row, that row seems to be deleted and everything to be normal but some time afterwards that row somehow reappears (HTable.get() and scanners find it again). Looking at the log files it seems like deleted rows reappear after a flush of the memcache or after the compaction...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-724) Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()

Posted by "Sebastien Rainville (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sebastien Rainville updated HBASE-724:
--------------------------------------

    Attachment: 724-trunk.patch

I tried to replicate the problem in trunk and couldn't. I attached the patch 724-trunk.patch that shows what I did. I see that several things changed in trunk and one of them fixed this issue. I'll try to run my dev environment on trunk and see how it behaves. Feel free to apply this patch on trunk if you think it really adds robustness to the unit tests.


> Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-724
>                 URL: https://issues.apache.org/jira/browse/HBASE-724
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.1.3
>            Reporter: Sebastien Rainville
>            Assignee: Izaak Rubin
>             Fix For: 0.2.0
>
>         Attachments: 724-trunk.patch, testdeleteall.patch
>
>
> When deleting a row, that row seems to be deleted and everything to be normal but some time afterwards that row somehow reappears (HTable.get() and scanners find it again). Looking at the log files it seems like deleted rows reappear after a flush of the memcache or after the compaction...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HBASE-724) Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack reassigned HBASE-724:
---------------------------

    Assignee: Izaak Rubin

Giving to Izaak to check out

> Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-724
>                 URL: https://issues.apache.org/jira/browse/HBASE-724
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.1.3
>            Reporter: Sebastien Rainville
>            Assignee: Izaak Rubin
>             Fix For: 0.2.0
>
>         Attachments: testdeleteall.patch
>
>
> When deleting a row, that row seems to be deleted and everything to be normal but some time afterwards that row somehow reappears (HTable.get() and scanners find it again). Looking at the log files it seems like deleted rows reappear after a flush of the memcache or after the compaction...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-724) Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-724:
------------------------

    Fix Version/s: 0.2.0

This is bad.  Moving to 0.2 so we at least give a look-see to figure whats up here.

> Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-724
>                 URL: https://issues.apache.org/jira/browse/HBASE-724
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.1.3
>            Reporter: Sebastien Rainville
>             Fix For: 0.2.0
>
>         Attachments: testdeleteall.patch
>
>
> When deleting a row, that row seems to be deleted and everything to be normal but some time afterwards that row somehow reappears (HTable.get() and scanners find it again). Looking at the log files it seems like deleted rows reappear after a flush of the memcache or after the compaction...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-724) Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()

Posted by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12611147#action_12611147 ] 

Jean-Daniel Cryans commented on HBASE-724:
------------------------------------------

This seems related to HBASE-702.

{quote}
get() returns the cells in the order that it finds it... how can it be working? i.e. how does the cells are returned in chronological order? I must just not understand the algorithm but let's say there are multiple versions of the same cell spanned in several mapfiles... all the mapfiles are read sequentially so what garanties that the versions will be found in chronological order? are the mapfiles somehow read in chronological order? and within a mapfile, are the versions of a cell in chronological order as well?
{quote}

The rows are stored and sorted by their HStoreKey which is row+timestamp,

FYI. this kind of question belongs to the mailing list or you can also drop by on IRC, it wil be nice to chat with someone else from Montreal ;) 

> Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-724
>                 URL: https://issues.apache.org/jira/browse/HBASE-724
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.1.3
>            Reporter: Sebastien Rainville
>         Attachments: testdeleteall.patch
>
>
> When deleting a row, that row seems to be deleted and everything to be normal but some time afterwards that row somehow reappears (HTable.get() and scanners find it again). Looking at the log files it seems like deleted rows reappear after a flush of the memcache or after the compaction...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-724) Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()

Posted by "Sebastien Rainville (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12611133#action_12611133 ] 

Sebastien Rainville commented on HBASE-724:
-------------------------------------------

Forgot to mention: testdeleteall.patch is to be applied on branch-0.1. Also, it doesn't fix anything... it just makes the problem visible. I still don't know where the problem is exactly but I looked at the HStore.get() implementation and it seems really odd to me:

1) the code doesn't look if the LAST version of the cell is deleted but instead just skip those that are deleted and still returns the other ones

2) getFull() works but not get()... it suggests that get() is faulty

3) (this one is not directly related to this issue) get() returns the cells in the order that it finds it... how can it be working? i.e. how does the cells are returned in chronological order? I must just not understand the algorithm but let's say there are multiple versions of the same cell spanned in several mapfiles... all the mapfiles are read sequentially so what garanties that the versions will be found in chronological order? are the mapfiles somehow read in chronological order? and within a mapfile, are the versions of a cell in chronological order as well?


> Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-724
>                 URL: https://issues.apache.org/jira/browse/HBASE-724
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.1.3
>            Reporter: Sebastien Rainville
>         Attachments: testdeleteall.patch
>
>
> When deleting a row, that row seems to be deleted and everything to be normal but some time afterwards that row somehow reappears (HTable.get() and scanners find it again). Looking at the log files it seems like deleted rows reappear after a flush of the memcache or after the compaction...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HBASE-724) Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()

Posted by "Sebastien Rainville (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12611197#action_12611197 ] 

Sebastien Rainville commented on HBASE-724:
-------------------------------------------

It's not related to HBASE-702 because in that bug there was a different behavior in between deleteAll(row) and deleteAll(row, column). In this case, the different behavior is in between get(), getFull() and the scanners. Also, chatting with Jim Kellerman he confirmed that the branch 0.1 was not affected by HBASE-702.

And it's good to know i'm not the only one in Montreal working with hbase :P


> Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-724
>                 URL: https://issues.apache.org/jira/browse/HBASE-724
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.1.3
>            Reporter: Sebastien Rainville
>         Attachments: testdeleteall.patch
>
>
> When deleting a row, that row seems to be deleted and everything to be normal but some time afterwards that row somehow reappears (HTable.get() and scanners find it again). Looking at the log files it seems like deleted rows reappear after a flush of the memcache or after the compaction...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HBASE-724) Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()

Posted by "Jim Kellerman (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jim Kellerman resolved HBASE-724.
---------------------------------

       Resolution: Won't Fix
    Fix Version/s:     (was: 0.1.4)

Closing this issue as WONTFIX, because there will be no more 0.1 releases now that 0.2 has been released.

> Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-724
>                 URL: https://issues.apache.org/jira/browse/HBASE-724
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.1.3
>            Reporter: Sebastien Rainville
>            Assignee: Izaak Rubin
>         Attachments: 724-trunk.patch, testdeleteall.patch
>
>
> When deleting a row, that row seems to be deleted and everything to be normal but some time afterwards that row somehow reappears (HTable.get() and scanners find it again). Looking at the log files it seems like deleted rows reappear after a flush of the memcache or after the compaction...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HBASE-724) Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-724:
------------------------

    Fix Version/s:     (was: 0.2.0)
                   0.1.4

Not an issue in TRUNK (Thanks Sebastien).  We'll fix if we do a 0.1.4.

> Deleted rows reappear after a HStore.flushCache() and/or HStore.compactStores()
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-724
>                 URL: https://issues.apache.org/jira/browse/HBASE-724
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.1.3
>            Reporter: Sebastien Rainville
>            Assignee: Izaak Rubin
>             Fix For: 0.1.4
>
>         Attachments: 724-trunk.patch, testdeleteall.patch
>
>
> When deleting a row, that row seems to be deleted and everything to be normal but some time afterwards that row somehow reappears (HTable.get() and scanners find it again). Looking at the log files it seems like deleted rows reappear after a flush of the memcache or after the compaction...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.