You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "stack (JIRA)" <ji...@apache.org> on 2007/09/15 03:32:32 UTC
[jira] Created: (HADOOP-1903) [hbase] Data loss if Exception
happens between snapshot and flush to disk.
[hbase] Data loss if Exception happens between snapshot and flush to disk.
--------------------------------------------------------------------------
Key: HADOOP-1903
URL: https://issues.apache.org/jira/browse/HADOOP-1903
Project: Hadoop
Issue Type: Bug
Reporter: stack
There exists a little window during which we can lose data. During a memcache flush, we make an inmemory copy, a 'snapshot'. The memcache is then zeroed and off we go again taking updates. Meantime, in background we are supposed to flush the snapshot to disk. If this process is interrupted -- e.g. the HDFS is yanked from under us or if an OOME occurs in this thread -- then the content of the snapshot is lost.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HADOOP-1903) [hbase] Possible data loss if
Exception happens between snapshot and flush to disk.
Posted by "Hudson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12527858 ]
Hudson commented on HADOOP-1903:
--------------------------------
Integrated in Hadoop-Nightly #239 (See [http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/239/])
> [hbase] Possible data loss if Exception happens between snapshot and flush to disk.
> -----------------------------------------------------------------------------------
>
> Key: HADOOP-1903
> URL: https://issues.apache.org/jira/browse/HADOOP-1903
> Project: Hadoop
> Issue Type: Bug
> Components: contrib/hbase
> Reporter: stack
> Assignee: stack
> Priority: Minor
> Fix For: 0.15.0
>
> Attachments: 1903.patch
>
>
> There exists a little window during which we can lose data. During a memcache flush, we make an inmemory copy, a 'snapshot'. The memcache is then zeroed and off we go again taking updates. Meantime, in background we are supposed to flush the snapshot to disk. If this process is interrupted -- e.g. the HDFS is yanked from under us or if an OOME occurs in this thread -- then the content of the snapshot is lost.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HADOOP-1903) [hbase] Possible data loss if
Exception happens between snapshot and flush to disk.
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack updated HADOOP-1903:
--------------------------
Attachment: 1903.patch
If flush is interrupted, force a restart of the HRS so hlog is replayed -- currently this only happens on restarts -- so memcache is refilled with what was in the aborted/dropped snapshot. Otherwise, opportunity for HRS to misrepresent content of its stores.
HADOOP-1903 Possible data loss if Exception happens between snapshot and flush
to disk.
M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HRegionServer.java
javadoc additions.
(Flusher.chore): Restart HRS if we get a DroppedSnapshotException.
M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HLog.java
(abort): Renamed abortCacheFlush
(cleanup): Added.
M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HMaster.java
Add TODO to comment.
M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HMemcache.java
Add comment on state.
M src/contrib/hbase/src/java/org/apache/hadoop/hbase/HRegion.java
Add throws javadoc to a couple of methods. Add comments to
catch of IOException in cache flush.
> [hbase] Possible data loss if Exception happens between snapshot and flush to disk.
> -----------------------------------------------------------------------------------
>
> Key: HADOOP-1903
> URL: https://issues.apache.org/jira/browse/HADOOP-1903
> Project: Hadoop
> Issue Type: Bug
> Reporter: stack
> Assignee: stack
> Priority: Minor
> Fix For: 0.15.0
>
> Attachments: 1903.patch
>
>
> There exists a little window during which we can lose data. During a memcache flush, we make an inmemory copy, a 'snapshot'. The memcache is then zeroed and off we go again taking updates. Meantime, in background we are supposed to flush the snapshot to disk. If this process is interrupted -- e.g. the HDFS is yanked from under us or if an OOME occurs in this thread -- then the content of the snapshot is lost.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HADOOP-1903) [hbase] Possible data loss if
Exception happens between snapshot and flush to disk.
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack updated HADOOP-1903:
--------------------------
Fix Version/s: 0.15.0
Status: Patch Available (was: Open)
Builds and passes all tests locally. Trying against hudson.
> [hbase] Possible data loss if Exception happens between snapshot and flush to disk.
> -----------------------------------------------------------------------------------
>
> Key: HADOOP-1903
> URL: https://issues.apache.org/jira/browse/HADOOP-1903
> Project: Hadoop
> Issue Type: Bug
> Reporter: stack
> Assignee: stack
> Priority: Minor
> Fix For: 0.15.0
>
> Attachments: 1903.patch
>
>
> There exists a little window during which we can lose data. During a memcache flush, we make an inmemory copy, a 'snapshot'. The memcache is then zeroed and off we go again taking updates. Meantime, in background we are supposed to flush the snapshot to disk. If this process is interrupted -- e.g. the HDFS is yanked from under us or if an OOME occurs in this thread -- then the content of the snapshot is lost.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HADOOP-1903) [hbase] Possible data loss if
Exception happens between snapshot and flush to disk.
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack updated HADOOP-1903:
--------------------------
Assignee: stack
Priority: Minor (was: Major)
Summary: [hbase] Possible data loss if Exception happens between snapshot and flush to disk. (was: [hbase] Data loss if Exception happens between snapshot and flush to disk.)
> [hbase] Possible data loss if Exception happens between snapshot and flush to disk.
> -----------------------------------------------------------------------------------
>
> Key: HADOOP-1903
> URL: https://issues.apache.org/jira/browse/HADOOP-1903
> Project: Hadoop
> Issue Type: Bug
> Reporter: stack
> Assignee: stack
> Priority: Minor
>
> There exists a little window during which we can lose data. During a memcache flush, we make an inmemory copy, a 'snapshot'. The memcache is then zeroed and off we go again taking updates. Meantime, in background we are supposed to flush the snapshot to disk. If this process is interrupted -- e.g. the HDFS is yanked from under us or if an OOME occurs in this thread -- then the content of the snapshot is lost.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HADOOP-1903) [hbase] Possible data loss if
Exception happens between snapshot and flush to disk.
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack updated HADOOP-1903:
--------------------------
Component/s: contrib/hbase
> [hbase] Possible data loss if Exception happens between snapshot and flush to disk.
> -----------------------------------------------------------------------------------
>
> Key: HADOOP-1903
> URL: https://issues.apache.org/jira/browse/HADOOP-1903
> Project: Hadoop
> Issue Type: Bug
> Components: contrib/hbase
> Reporter: stack
> Assignee: stack
> Priority: Minor
> Fix For: 0.15.0
>
> Attachments: 1903.patch
>
>
> There exists a little window during which we can lose data. During a memcache flush, we make an inmemory copy, a 'snapshot'. The memcache is then zeroed and off we go again taking updates. Meantime, in background we are supposed to flush the snapshot to disk. If this process is interrupted -- e.g. the HDFS is yanked from under us or if an OOME occurs in this thread -- then the content of the snapshot is lost.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HADOOP-1903) [hbase] Possible data loss if
Exception happens between snapshot and flush to disk.
Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12527778 ]
Hadoop QA commented on HADOOP-1903:
-----------------------------------
+1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12365914/1903.patch
against trunk revision r575950.
@author +1. The patch does not contain any @author tags.
javadoc +1. The javadoc tool did not generate any warning messages.
javac +1. The applied patch does not generate any new compiler warnings.
findbugs +1. The patch does not introduce any new Findbugs warnings.
core tests +1. The patch passed core unit tests.
contrib tests +1. The patch passed contrib unit tests.
Test results: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/772/testReport/
Findbugs warnings: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/772/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/772/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/772/console
This message is automatically generated.
> [hbase] Possible data loss if Exception happens between snapshot and flush to disk.
> -----------------------------------------------------------------------------------
>
> Key: HADOOP-1903
> URL: https://issues.apache.org/jira/browse/HADOOP-1903
> Project: Hadoop
> Issue Type: Bug
> Reporter: stack
> Assignee: stack
> Priority: Minor
> Fix For: 0.15.0
>
> Attachments: 1903.patch
>
>
> There exists a little window during which we can lose data. During a memcache flush, we make an inmemory copy, a 'snapshot'. The memcache is then zeroed and off we go again taking updates. Meantime, in background we are supposed to flush the snapshot to disk. If this process is interrupted -- e.g. the HDFS is yanked from under us or if an OOME occurs in this thread -- then the content of the snapshot is lost.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HADOOP-1903) [hbase] Possible data loss if
Exception happens between snapshot and flush to disk.
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack updated HADOOP-1903:
--------------------------
Resolution: Fixed
Status: Resolved (was: Patch Available)
Committed. Resolving issue.
> [hbase] Possible data loss if Exception happens between snapshot and flush to disk.
> -----------------------------------------------------------------------------------
>
> Key: HADOOP-1903
> URL: https://issues.apache.org/jira/browse/HADOOP-1903
> Project: Hadoop
> Issue Type: Bug
> Reporter: stack
> Assignee: stack
> Priority: Minor
> Fix For: 0.15.0
>
> Attachments: 1903.patch
>
>
> There exists a little window during which we can lose data. During a memcache flush, we make an inmemory copy, a 'snapshot'. The memcache is then zeroed and off we go again taking updates. Meantime, in background we are supposed to flush the snapshot to disk. If this process is interrupted -- e.g. the HDFS is yanked from under us or if an OOME occurs in this thread -- then the content of the snapshot is lost.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HADOOP-1903) [hbase] Data loss if Exception
happens between snapshot and flush to disk.
Posted by "stack (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-1903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12527687 ]
stack commented on HADOOP-1903:
-------------------------------
On second take, if the interruption causes a regionserver crash, there should be no data loss; memaches is backed upin the hlog. But if we manage to keep going, then we'll be in a strange situation where the snapshot has been 'lost' -- though backed up in hlog -- because regionserver serves out of memcache+snapshot histories and from flushes, the store HStoreFiles.
> [hbase] Data loss if Exception happens between snapshot and flush to disk.
> --------------------------------------------------------------------------
>
> Key: HADOOP-1903
> URL: https://issues.apache.org/jira/browse/HADOOP-1903
> Project: Hadoop
> Issue Type: Bug
> Reporter: stack
>
> There exists a little window during which we can lose data. During a memcache flush, we make an inmemory copy, a 'snapshot'. The memcache is then zeroed and off we go again taking updates. Meantime, in background we are supposed to flush the snapshot to disk. If this process is interrupted -- e.g. the HDFS is yanked from under us or if an OOME occurs in this thread -- then the content of the snapshot is lost.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.