HBase
  1. HBase
  2. HBASE-10935

support snapshot policy where flush memstore can be skipped to prevent production cluster freeze

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 0.94.7, 0.94.18
    • Fix Version/s: 0.99.0, 0.94.21, 0.98.4
    • Component/s: shell, snapshots
    • Labels:
      None

      Description

      We are using snapshot feature to do HBase disaster recovery. We will do snapshot in our production cluster periodically. The current flush snapshot policy require all regions of the table to coordinate to prevent write and do flush at the same time. Since we use WALPlayer to complete the data that is not in the snapshot HFile, we don't need the snapshot to do coordinated flush. The snapshot just recored all the HFile that are already there.

      I added the parameter in the HBase shell. So people can choose to use the NoFlush snapshot when they need, like below. Otherwise, the default flush snpahot support is not impacted.

      >snaphot 'TestTable', 'TestSnapshot', 'skipFlush'

      1. hbase-10935-94.patch
        12 kB
        Tianying Chang
      2. hbase-10935-trunk.patch
        13 kB
        Tianying Chang
      3. HBASE-10935-0.94-v1.patch
        13 kB
        Matteo Bertozzi
      4. HBASE-10935-0.98-v1.patch
        17 kB
        Matteo Bertozzi
      5. HBASE-10935-trunk-v1.patch
        16 kB
        Matteo Bertozzi
      There are no Sub-Tasks for this issue.

        Activity

        Tianying Chang created issue -
        Tianying Chang made changes -
        Field Original Value New Value
        Status Open [ 1 ] Patch Available [ 10002 ]
        Tianying Chang made changes -
        Status Patch Available [ 10002 ] Open [ 1 ]
        Hide
        Tianying Chang added a comment -

        My first draft for taking a snapshot without need to flush first. It has shell support so that the default behavior is not impacted.

        Show
        Tianying Chang added a comment - My first draft for taking a snapshot without need to flush first. It has shell support so that the default behavior is not impacted.
        Tianying Chang made changes -
        Attachment HBase-10935.patch [ 12639230 ]
        Hide
        Matteo Bertozzi added a comment -

        looks good to me, the only thing that I'm not sure about is the string comparison inside HBaseAdmin, it seems to me more a shell only stuff (but not totally against it).
        Also you should add at least a unittest to have it running. I guess you can refactor one of the FLUSH snapshot and pass the SKIPFLUSH type.

        Show
        Matteo Bertozzi added a comment - looks good to me, the only thing that I'm not sure about is the string comparison inside HBaseAdmin, it seems to me more a shell only stuff (but not totally against it). Also you should add at least a unittest to have it running. I guess you can refactor one of the FLUSH snapshot and pass the SKIPFLUSH type.
        Hide
        Tianying Chang added a comment -

        Matteo Bertozzi Thanks for review! I will add unit test for this.

        Show
        Tianying Chang added a comment - Matteo Bertozzi Thanks for review! I will add unit test for this.
        Hide
        Lars Hofhansl added a comment -

        Not hot on passing the specific string "skipFlush" either. Can we make that constant, or maybe just a boolean?
        This would need to be in 0.96, 0.98, and 0.99 as well.

        Show
        Lars Hofhansl added a comment - Not hot on passing the specific string "skipFlush" either. Can we make that constant, or maybe just a boolean? This would need to be in 0.96, 0.98, and 0.99 as well.
        Lars Hofhansl made changes -
        Fix Version/s 0.94.20 [ 12326654 ]
        Fix Version/s 0.94.19 [ 12326287 ]
        Hide
        Tianying Chang added a comment -

        Lars, I think boolean is better. Just not sure if "true" intuitively means with Flush, or skip Flush? Any suggestion?

        Show
        Tianying Chang added a comment - Lars, I think boolean is better. Just not sure if "true" intuitively means with Flush, or skip Flush? Any suggestion?
        Hide
        Matteo Bertozzi added a comment -

        if we are going for the true/false flag, I think that you should use the format: snapshot

        {SKIP_FLUSH => true}
        Show
        Matteo Bertozzi added a comment - if we are going for the true/false flag, I think that you should use the format: snapshot {SKIP_FLUSH => true}
        Hide
        Tianying Chang added a comment -

        This should be fine, I can change to that. And when not putting this extra parameter of

        {SKIP_FLUSH }

        , the default behavior is still original FLUSH for backward compatibility. Sounds good?

        Show
        Tianying Chang added a comment - This should be fine, I can change to that. And when not putting this extra parameter of {SKIP_FLUSH } , the default behavior is still original FLUSH for backward compatibility. Sounds good?
        Hide
        Matteo Bertozzi added a comment -

        sounds good to me

        Show
        Matteo Bertozzi added a comment - sounds good to me
        Hide
        Ted Yu added a comment -
        +          LOG.debug("take snapshot without flush memstore first");
        

        'without flush' -> 'without flushing'

        +         * To minimized the code change, I will not change the class name.
        

        Change the second part of the sentence to 'class name is not changed'

        Please attach patch for trunk.
        Also, update release note.

        Show
        Ted Yu added a comment - + LOG.debug( "take snapshot without flush memstore first" ); 'without flush' -> 'without flushing' + * To minimized the code change, I will not change the class name. Change the second part of the sentence to 'class name is not changed' Please attach patch for trunk. Also, update release note.
        Hide
        Tianying Chang added a comment -

        New patch has tow more things:
        1. unit test added. I put the test in TestFlushSnapshotFromClient.java instead of creating a new dedicated file since it really just one call with one parameter change. Feels no need for extra duplicated code.
        2. Changed the interface to use

        {SKIP_FLUSH => 'true'}

        I will add patch for trunk in the last step after the patch for 0.94 is considered fine.

        Show
        Tianying Chang added a comment - New patch has tow more things: 1. unit test added. I put the test in TestFlushSnapshotFromClient.java instead of creating a new dedicated file since it really just one call with one parameter change. Feels no need for extra duplicated code. 2. Changed the interface to use {SKIP_FLUSH => 'true'} I will add patch for trunk in the last step after the patch for 0.94 is considered fine.
        Tianying Chang made changes -
        Attachment HBase-10935.patch [ 12642063 ]
        Tianying Chang made changes -
        Attachment jira-10935.patch [ 12642574 ]
        Tianying Chang made changes -
        Attachment HBase-10935.patch [ 12642063 ]
        Tianying Chang made changes -
        Attachment HBase-10935.patch [ 12639230 ]
        Tianying Chang made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Fix Version/s 0.99.0 [ 12325675 ]
        Tianying Chang made changes -
        Attachment jira-10935-trunk.patch [ 12642871 ]
        Hide
        Tianying Chang added a comment -

        Comments addressed and patch to trunk attached.

        Show
        Tianying Chang added a comment - Comments addressed and patch to trunk attached.
        Hide
        Matteo Bertozzi added a comment -

        I don't like too much the "String typeName" version of snapshot() we have already one with SnapshotDescription.Type type why don't you use that, since you already have the SnapshotDescription.Type in the shell code?

        Show
        Matteo Bertozzi added a comment - I don't like too much the "String typeName" version of snapshot() we have already one with SnapshotDescription.Type type why don't you use that, since you already have the SnapshotDescription.Type in the shell code?
        Hide
        Lars Hofhansl added a comment -

        I am removing this from 0.94. Can bring it back if requested.

        Show
        Lars Hofhansl added a comment - I am removing this from 0.94. Can bring it back if requested.
        Lars Hofhansl made changes -
        Fix Version/s 0.94.20 [ 12326654 ]
        Hide
        Tianying Chang added a comment -

        Matteo Bertozzi Do you mean it is better to change the type from String to SnapshotDescription.Type.SKIPFLUSH for FlushType of the API below?
        public void snapshot(final byte[] snapshotName, final byte[] tableName, final String flushType)

        Show
        Tianying Chang added a comment - Matteo Bertozzi Do you mean it is better to change the type from String to SnapshotDescription.Type.SKIPFLUSH for FlushType of the API below? public void snapshot(final byte[] snapshotName, final byte[] tableName, final String flushType)
        Hide
        Matteo Bertozzi added a comment -

        Tianying Chang yeah, I don't like much the client method with "String flushType" I think that the app should do the parsing and translate it in the SnapshotDescription.Type enum.

        so to me the only remaining fixes for this patch are:

        • remove the "void snapshot(final byte[] snapshotName, final byte[] tableName, final String flushType)" method
        • interprete the type from the shell and call snapshot(..., SnapshotDescription.Type type) from the shell instead of the (..., String flushType)
        Show
        Matteo Bertozzi added a comment - Tianying Chang yeah, I don't like much the client method with "String flushType" I think that the app should do the parsing and translate it in the SnapshotDescription.Type enum. so to me the only remaining fixes for this patch are: remove the "void snapshot(final byte[] snapshotName, final byte[] tableName, final String flushType)" method interprete the type from the shell and call snapshot(..., SnapshotDescription.Type type) from the shell instead of the (..., String flushType)
        Hide
        Tianying Chang added a comment -

        Matteo Bertozzi I made the change, but the ruby shell code seems won't accept this line I added in admin.rb: java_import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription
        It throws error when I try to start hbase shell. Any idea?

        [root@hbasetestnode-f7c52eba:/usr/lib/hbase/lib/ruby/hbase]# hbase shell
        NoMethodError: undefined method `SnapshotDescription' for Java::OrgApacheHadoopHbaseProtobufGenerated::HBaseProtos:Class
        (root) at /usr/lib/hbase/bin/../bin/../lib/ruby/hbase/admin.rb:24
        require at org/jruby/RubyKernel.java:1038
        (root) at /usr/lib/hbase/bin/../bin/../lib/ruby/hbase/admin.rb:23
        require at org/jruby/RubyKernel.java:1038
        (root) at /usr/lib/hbase/bin/../bin/../lib/ruby/hbase/hbase.rb:77
        require at org/jruby/RubyKernel.java:1038
        (root) at /usr/lib/hbase/bin/../bin/hirb.rb:103

        Show
        Tianying Chang added a comment - Matteo Bertozzi I made the change, but the ruby shell code seems won't accept this line I added in admin.rb: java_import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription It throws error when I try to start hbase shell. Any idea? [root@hbasetestnode-f7c52eba:/usr/lib/hbase/lib/ruby/hbase] # hbase shell NoMethodError: undefined method `SnapshotDescription' for Java::OrgApacheHadoopHbaseProtobufGenerated::HBaseProtos:Class (root) at /usr/lib/hbase/bin/../bin/../lib/ruby/hbase/admin.rb:24 require at org/jruby/RubyKernel.java:1038 (root) at /usr/lib/hbase/bin/../bin/../lib/ruby/hbase/admin.rb:23 require at org/jruby/RubyKernel.java:1038 (root) at /usr/lib/hbase/bin/../bin/../lib/ruby/hbase/hbase.rb:77 require at org/jruby/RubyKernel.java:1038 (root) at /usr/lib/hbase/bin/../bin/hirb.rb:103
        Hide
        Tianying Chang added a comment -

        Never mind. I figure out the cause. It is due to inner class. I have tested the change, and will upload the updated patch. Thanks.

        Show
        Tianying Chang added a comment - Never mind. I figure out the cause. It is due to inner class. I have tested the change, and will upload the updated patch. Thanks.
        Tianying Chang made changes -
        Attachment hbase-10935.txt [ 12647304 ]
        Tianying Chang made changes -
        Attachment jira-10935.patch [ 12642574 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12647304/hbase-10935.txt
        against trunk revision .
        ATTACHMENT ID: 12647304

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        -1 patch. The patch command could not apply the patch.

        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9634//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12647304/hbase-10935.txt against trunk revision . ATTACHMENT ID: 12647304 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. -1 patch . The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9634//console This message is automatically generated.
        Hide
        Matteo Bertozzi added a comment -

        looks good to me.
        only one question, do we need an else if

        {SKIP_FLUSH => false}

        or args it will be empty in that case because it is equal the default value?

        +         args.each do |arg|
        +            if arg[SKIP_FLUSH] = 'true'
        +              @admin.snapshot(snapshot_name.to_java_bytes, table.to_java_bytes, SnapshotDescription::Type::SKIPFLUSH)
        +            end
        +         end
        
        Show
        Matteo Bertozzi added a comment - looks good to me. only one question, do we need an else if {SKIP_FLUSH => false} or args it will be empty in that case because it is equal the default value? + args.each do |arg| + if arg[SKIP_FLUSH] = ' true ' + @admin.snapshot(snapshot_name.to_java_bytes, table.to_java_bytes, SnapshotDescription::Type::SKIPFLUSH) + end + end
        Tianying Chang made changes -
        Attachment jira-10935-trunk.patch [ 12642871 ]
        Tianying Chang made changes -
        Attachment hbase-10935-trunk.patch [ 12647357 ]
        Tianying Chang made changes -
        Attachment hbase-10935.txt [ 12647304 ]
        Tianying Chang made changes -
        Attachment hbase-10935-trunk.patch [ 12647357 ]
        Tianying Chang made changes -
        Attachment hbase-10935-94.patch [ 12647377 ]
        Tianying Chang made changes -
        Attachment hbase-10935-trunk.patch [ 12647378 ]
        Hide
        Tianying Chang added a comment -

        Matteo Bertozzi Good catch! I have uploaded the updated patch for both 94 and trunk. Thanks

        Show
        Tianying Chang added a comment - Matteo Bertozzi Good catch! I have uploaded the updated patch for both 94 and trunk. Thanks
        Tianying Chang made changes -
        Fix Version/s 0.94.20 [ 12326654 ]
        Tianying Chang made changes -
        Fix Version/s 0.94.7 [ 12324039 ]
        Hide
        Matteo Bertozzi added a comment -

        Tianying Chang if you are ok, I think I'm going to commit the -v1 set of patches.
        it is your patch with a couple of minor changes. Instead of SKIP_FLUSH => "true" with true as string I switched it to a boolean SKIP_FLUSH => true as the other shell commands are doing (also the str comparison was wrong, it was = 'true' instead of .eq? 'true' or something like that)
        Then I added the missing .proto that you forgot to include in the patch, and adjusted the test for trunk since the SnapshotTestUtil has a slightly different api.
        so no real changes on the code.

        Show
        Matteo Bertozzi added a comment - Tianying Chang if you are ok, I think I'm going to commit the -v1 set of patches. it is your patch with a couple of minor changes. Instead of SKIP_FLUSH => "true" with true as string I switched it to a boolean SKIP_FLUSH => true as the other shell commands are doing (also the str comparison was wrong, it was = 'true' instead of .eq? 'true' or something like that) Then I added the missing .proto that you forgot to include in the patch, and adjusted the test for trunk since the SnapshotTestUtil has a slightly different api. so no real changes on the code.
        Matteo Bertozzi made changes -
        Attachment HBASE-10935-0.94-v1.patch [ 12647614 ]
        Attachment HBASE-10935-0.98-v1.patch [ 12647615 ]
        Attachment HBASE-10935-trunk-v1.patch [ 12647616 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12647616/HBASE-10935-trunk-v1.patch
        against trunk revision .
        ATTACHMENT ID: 12647616

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 3 new or modified tests.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        -1 javadoc. The javadoc tool appears to have generated 1 warning messages.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 lineLengths. The patch does not introduce lines longer than 100

        +1 site. The mvn site goal succeeds with this patch.

        -1 core tests. The patch failed these unit tests:
        org.apache.hadoop.hbase.regionserver.wal.TestLogRollingNoCluster

        Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
        Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12647616/HBASE-10935-trunk-v1.patch against trunk revision . ATTACHMENT ID: 12647616 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 javadoc . The javadoc tool appears to have generated 1 warning messages. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.regionserver.wal.TestLogRollingNoCluster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9652//console This message is automatically generated.
        Hide
        Tianying Chang added a comment -

        Matteo Bertozzi Sure! Thanks!

        Show
        Tianying Chang added a comment - Matteo Bertozzi Sure! Thanks!
        Matteo Bertozzi made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Fix Version/s 0.98.4 [ 12326810 ]
        Fix Version/s 0.94.7 [ 12324039 ]
        Resolution Fixed [ 1 ]
        Hide
        Hudson added a comment -

        FAILURE: Integrated in HBase-0.94 #1373 (See https://builds.apache.org/job/HBase-0.94/1373/)
        HBASE-10935 support snapshot policy where flush memstore can be skipped to prevent production cluster freeze (Tianying Chang) (matteo.bertozzi: rev c8c9249bad4ccf46817434ff2595089f2bd0c7b1)

        • src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
        • src/main/ruby/hbase/admin.rb
        • src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
        • src/main/ruby/shell/commands/snapshot.rb
        • src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java
        • src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java
        • src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
        • src/main/protobuf/hbase.proto
        • src/main/ruby/hbase.rb
        Show
        Hudson added a comment - FAILURE: Integrated in HBase-0.94 #1373 (See https://builds.apache.org/job/HBase-0.94/1373/ ) HBASE-10935 support snapshot policy where flush memstore can be skipped to prevent production cluster freeze (Tianying Chang) (matteo.bertozzi: rev c8c9249bad4ccf46817434ff2595089f2bd0c7b1) src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java src/main/ruby/hbase/admin.rb src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java src/main/ruby/shell/commands/snapshot.rb src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java src/main/protobuf/hbase.proto src/main/ruby/hbase.rb
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in HBase-0.94-JDK7 #141 (See https://builds.apache.org/job/HBase-0.94-JDK7/141/)
        HBASE-10935 support snapshot policy where flush memstore can be skipped to prevent production cluster freeze (Tianying Chang) (matteo.bertozzi: rev c8c9249bad4ccf46817434ff2595089f2bd0c7b1)

        • src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java
        • src/main/ruby/shell/commands/snapshot.rb
        • src/main/ruby/hbase.rb
        • src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java
        • src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
        • src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
        • src/main/ruby/hbase/admin.rb
        • src/main/protobuf/hbase.proto
        • src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
        Show
        Hudson added a comment - SUCCESS: Integrated in HBase-0.94-JDK7 #141 (See https://builds.apache.org/job/HBase-0.94-JDK7/141/ ) HBASE-10935 support snapshot policy where flush memstore can be skipped to prevent production cluster freeze (Tianying Chang) (matteo.bertozzi: rev c8c9249bad4ccf46817434ff2595089f2bd0c7b1) src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java src/main/ruby/shell/commands/snapshot.rb src/main/ruby/hbase.rb src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java src/main/ruby/hbase/admin.rb src/main/protobuf/hbase.proto src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in HBase-0.98-on-Hadoop-1.1 #307 (See https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/307/)
        HBASE-10935 support snapshot policy where flush memstore can be skipped to prevent production cluster freeze (Tianying Chang) (matteo.bertozzi: rev 60e705b8434b00fbe07b4373fcc21e3ce6881b11)

        • hbase-shell/src/main/ruby/shell/commands/snapshot.rb
        • hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
        • hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java
        • hbase-shell/src/main/ruby/hbase.rb
        • hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java
        • hbase-protocol/src/main/protobuf/HBase.proto
        • hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java
        • hbase-shell/src/main/ruby/hbase/admin.rb
        • hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
        Show
        Hudson added a comment - SUCCESS: Integrated in HBase-0.98-on-Hadoop-1.1 #307 (See https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/307/ ) HBASE-10935 support snapshot policy where flush memstore can be skipped to prevent production cluster freeze (Tianying Chang) (matteo.bertozzi: rev 60e705b8434b00fbe07b4373fcc21e3ce6881b11) hbase-shell/src/main/ruby/shell/commands/snapshot.rb hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java hbase-shell/src/main/ruby/hbase.rb hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/FlushSnapshotSubprocedure.java hbase-protocol/src/main/protobuf/HBase.proto hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java hbase-shell/src/main/ruby/hbase/admin.rb hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
        Hide
        Hudson added a comment -

        FAILURE: Integrated in HBase-TRUNK #5165 (See https://builds.apache.org/job/HBase-TRUNK/5165/)

        Show
        Hudson added a comment - FAILURE: Integrated in HBase-TRUNK #5165 (See https://builds.apache.org/job/HBase-TRUNK/5165/ )
        Lars Hofhansl made changes -
        Fix Version/s 0.94.21 [ 12326794 ]
        Fix Version/s 0.94.20 [ 12326654 ]
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in HBase-0.98 #326 (See https://builds.apache.org/job/HBase-0.98/326/)

        Show
        Hudson added a comment - SUCCESS: Integrated in HBase-0.98 #326 (See https://builds.apache.org/job/HBase-0.98/326/ )
        Hide
        Hudson added a comment -

        FAILURE: Integrated in HBase-0.94-security #490 (See https://builds.apache.org/job/HBase-0.94-security/490/)

        Show
        Hudson added a comment - FAILURE: Integrated in HBase-0.94-security #490 (See https://builds.apache.org/job/HBase-0.94-security/490/ )
        Lars Hofhansl made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Patch Available Patch Available Open Open
        10s 1 Tianying Chang 08/Apr/14 18:43
        Open Open Patch Available Patch Available
        23d 23m 2 Tianying Chang 01/May/14 19:03
        Patch Available Patch Available Resolved Resolved
        31d 13h 38m 1 Matteo Bertozzi 02/Jun/14 08:42
        Resolved Resolved Closed Closed
        38d 22h 44m 1 Lars Hofhansl 11/Jul/14 07:26

          People

          • Assignee:
            Tianying Chang
            Reporter:
            Tianying Chang
          • Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

            • Due:
              Created:
              Updated:
              Resolved:

              Development