HBASE-9093 Hbase client API: Restore the writeToWal method
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1508702 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
85fed73517
commit
e6d1848bb7
|
@ -178,6 +178,34 @@ public abstract class Mutation extends OperationWithAttributes implements Row, C
|
|||
return this.durability;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the durability for this mutation. If this is set to true,
|
||||
* the default durability of the table is set.
|
||||
* @param writeToWal
|
||||
*/
|
||||
@Deprecated
|
||||
public void setWriteToWal(boolean writeToWal) {
|
||||
if(!writeToWal) {
|
||||
setDurability(Durability.SKIP_WAL);
|
||||
} else {
|
||||
// This is required to handle the case where this method is
|
||||
// called twice, first with writeToWal = false,
|
||||
// and then with writeToWal = true
|
||||
setDurability(Durability.USE_DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the durability for this mutation.
|
||||
* @return - true if this mutation is set to write to the WAL either
|
||||
* synchronously, asynchronously or fsync to disk on the file system.
|
||||
* - to get the exact durability, use the {#getDurability} method.
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean getWriteToWal() {
|
||||
return Durability.SKIP_WAL != getDurability();
|
||||
}
|
||||
|
||||
/**
|
||||
* Method for retrieving the put's familyMap
|
||||
* @return familyMap
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.hadoop.hbase.client;
|
||||
|
||||
import org.apache.hadoop.hbase.SmallTests;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.experimental.categories.Category;
|
||||
|
||||
/**
|
||||
* Tests for testing methods added in HBASE-9093. This set of tests is meant
|
||||
* to test the {@linkplain Mutation#setWriteToWal(boolean)}
|
||||
* and {@linkplain Mutation#getWriteToWal()} methods which provide
|
||||
* a compatibility layer with HBase versions < 95's client side WAL semantics.
|
||||
*/
|
||||
@Category(SmallTests.class)
|
||||
public class TestPutWriteToWal {
|
||||
|
||||
private Put put;
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
put = new Put("test".getBytes());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWriteToWal(){
|
||||
put.setWriteToWal(true);
|
||||
Assert.assertEquals(Durability.USE_DEFAULT, put.getDurability());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoWriteToWal() {
|
||||
put.setWriteToWal(false);
|
||||
Assert.assertEquals(Durability.SKIP_WAL, put.getDurability());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWriteToWalSwitch() {
|
||||
put.setWriteToWal(false);
|
||||
Assert.assertEquals(Durability.SKIP_WAL, put.getDurability());
|
||||
put.setWriteToWal(true);
|
||||
Assert.assertEquals(Durability.USE_DEFAULT, put.getDurability());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPutCopy() {
|
||||
put.setWriteToWal(false);
|
||||
Put putCopy1 = new Put(put);
|
||||
Assert.assertEquals(Durability.SKIP_WAL, putCopy1.getDurability());
|
||||
|
||||
put.setWriteToWal(true);
|
||||
Put putCopy2 = new Put(put);
|
||||
Assert.assertEquals(Durability.USE_DEFAULT, putCopy2.getDurability());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue