PHOENIX-4191 Categorize uncategorized integration tests Uncategorized tests results in Maven not running them.
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/7f38f7e7 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/7f38f7e7 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/7f38f7e7 Branch: refs/heads/4.x-HBase-0.98 Commit: 7f38f7e70ad420a253f0ce2709ebebccb4572062 Parents: ae60776 Author: Josh Elser <els...@apache.org> Authored: Tue Sep 12 18:26:36 2017 -0400 Committer: Josh Elser <els...@apache.org> Committed: Tue Sep 12 19:00:00 2017 -0400 ---------------------------------------------------------------------- .../wal/ReadWriteKeyValuesWithCodecIT.java | 184 ------------------ .../phoenix/end2end/IndexScrutinyToolIT.java | 2 + .../end2end/SystemTablePermissionsIT.java | 2 + .../wal/ReadWriteKeyValuesWithCodecTest.java | 186 +++++++++++++++++++ .../phoenix/hive/BaseHivePhoenixStoreIT.java | 3 + .../apache/phoenix/hive/HivePhoenixStoreIT.java | 3 + 6 files changed, 196 insertions(+), 184 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/7f38f7e7/phoenix-core/src/it/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecIT.java b/phoenix-core/src/it/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecIT.java deleted file mode 100644 index 39eb871..0000000 --- a/phoenix-core/src/it/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecIT.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * 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.regionserver.wal; - -import static org.junit.Assert.assertEquals; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FSDataInputStream; -import org.apache.hadoop.fs.FSDataOutputStream; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.HBaseTestingUtility; -import org.apache.hadoop.hbase.KeyValue; -import org.apache.hadoop.hbase.KeyValueUtil; -import org.apache.hadoop.hbase.client.Delete; -import org.apache.hadoop.hbase.client.Mutation; -import org.apache.hadoop.hbase.client.Put; -import org.apache.hadoop.hbase.codec.Codec; -import org.apache.hadoop.hbase.io.util.LRUDictionary; -import org.apache.hadoop.hbase.util.Bytes; -import org.apache.phoenix.hbase.index.IndexTestingUtils; -import org.apache.phoenix.hbase.index.wal.IndexedKeyValue; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Simple test to read/write simple files via our custom {@link WALCellCodec} to ensure properly - * encoding/decoding without going through a cluster. - */ -public class ReadWriteKeyValuesWithCodecIT { - - private static final HBaseTestingUtility UTIL = new HBaseTestingUtility(); - private static final byte[] ROW = Bytes.toBytes("row"); - private static final byte[] FAMILY = Bytes.toBytes("family"); - - @BeforeClass - public static void setupCodec() { - Configuration conf = UTIL.getConfiguration(); - IndexTestingUtils.setupConfig(conf); - conf.set(WALCellCodec.WAL_CELL_CODEC_CLASS_KEY, IndexedWALEditCodec.class.getName()); - } - - @Test - public void testWithoutCompression() throws Exception { - // get the FS ready to read/write the edits - Path testDir = UTIL.getDataTestDir("TestReadWriteCustomEdits_withoutCompression"); - Path testFile = new Path(testDir, "testfile"); - FileSystem fs = UTIL.getTestFileSystem(); - - List<WALEdit> edits = getEdits(); - writeReadAndVerify(null, fs, edits, testFile); - } - - @Test - public void testWithCompression() throws Exception { - // get the FS ready to read/write the edit - Path testDir = UTIL.getDataTestDir("TestReadWriteCustomEdits_withCompression"); - Path testFile = new Path(testDir, "testfile"); - FileSystem fs = UTIL.getTestFileSystem(); - - List<WALEdit> edits = getEdits(); - CompressionContext compression = new CompressionContext(LRUDictionary.class, false, false); - writeReadAndVerify(compression, fs, edits, testFile); - } - - /** - * @return a bunch of {@link WALEdit}s that test a range of serialization possibilities. - */ - private List<WALEdit> getEdits() { - // Build up a couple of edits - List<WALEdit> edits = new ArrayList<WALEdit>(); - Put p = new Put(ROW); - p.add(FAMILY, null, Bytes.toBytes("v1")); - - WALEdit withPut = new WALEdit(); - addMutation(withPut, p, FAMILY); - edits.add(withPut); - - Delete d = new Delete(ROW); - d.deleteColumn(FAMILY, null); - WALEdit withDelete = new WALEdit(); - addMutation(withDelete, d, FAMILY); - edits.add(withDelete); - - WALEdit withPutsAndDeletes = new WALEdit(); - addMutation(withPutsAndDeletes, d, FAMILY); - addMutation(withPutsAndDeletes, p, FAMILY); - edits.add(withPutsAndDeletes); - - WALEdit justIndexUpdates = new WALEdit(); - byte[] table = Bytes.toBytes("targetTable"); - IndexedKeyValue ikv = new IndexedKeyValue(table, p); - justIndexUpdates.add(ikv); - edits.add(justIndexUpdates); - - WALEdit mixed = new WALEdit(); - addMutation(mixed, d, FAMILY); - mixed.add(ikv); - addMutation(mixed, p, FAMILY); - edits.add(mixed); - - return edits; - } - - /** - * Add all the {@link KeyValue}s in the {@link Mutation}, for the pass family, to the given - * {@link WALEdit}. - */ - private void addMutation(WALEdit edit, Mutation m, byte[] family) { - List<Cell> kvs = m.getFamilyCellMap().get(FAMILY); - for (Cell kv : kvs) { - edit.add(KeyValueUtil.ensureKeyValue(kv)); - } - } - - - private void writeWALEdit(WALCellCodec codec, List<Cell> kvs, FSDataOutputStream out) throws IOException { - out.writeInt(kvs.size()); - Codec.Encoder cellEncoder = codec.getEncoder(out); - // We interleave the two lists for code simplicity - for (Cell kv : kvs) { - cellEncoder.write(kv); - } - } - - /** - * Write the edits to the specified path on the {@link FileSystem} using the given codec and then - * read them back in and ensure that we read the same thing we wrote. - */ - private void writeReadAndVerify(final CompressionContext compressionContext, FileSystem fs, List<WALEdit> edits, - Path testFile) throws IOException { - - WALCellCodec codec = WALCellCodec.create(UTIL.getConfiguration(), compressionContext); - // write the edits out - FSDataOutputStream out = fs.create(testFile); - for (WALEdit edit : edits) { - writeWALEdit(codec, edit.getCells(), out); - } - out.close(); - - // read in the edits - FSDataInputStream in = fs.open(testFile); - List<WALEdit> read = new ArrayList<WALEdit>(); - for (int i = 0; i < edits.size(); i++) { - WALEdit edit = new WALEdit(); - int numEdits = in.readInt(); - edit.readFromCells(codec.getDecoder(in), numEdits); - read.add(edit); - } - in.close(); - - // make sure the read edits match the written - for(int i=0; i< edits.size(); i++){ - WALEdit expected = edits.get(i); - WALEdit found = read.get(i); - for(int j=0; j< expected.getCells().size(); j++){ - Cell fkv = found.getCells().get(j); - Cell ekv = expected.getCells().get(j); - assertEquals("KV mismatch for edit! Expected: "+expected+", but found: "+found, ekv, fkv); - } - } - } -} http://git-wip-us.apache.org/repos/asf/phoenix/blob/7f38f7e7/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexScrutinyToolIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexScrutinyToolIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexScrutinyToolIT.java index 5068610..f868cef 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexScrutinyToolIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexScrutinyToolIT.java @@ -58,6 +58,7 @@ import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; +import org.junit.experimental.categories.Category; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -65,6 +66,7 @@ import com.google.common.collect.Maps; /** * Tests for the {@link IndexScrutinyTool} */ +@Category(NeedsOwnMiniClusterTest.class) public class IndexScrutinyToolIT extends BaseTest { private static final String DATA_TABLE_DDL = http://git-wip-us.apache.org/repos/asf/phoenix/blob/7f38f7e7/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemTablePermissionsIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemTablePermissionsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemTablePermissionsIT.java index e99f322..1499f27 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemTablePermissionsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemTablePermissionsIT.java @@ -45,10 +45,12 @@ import org.apache.phoenix.query.QueryServices; import org.junit.After; import org.junit.BeforeClass; import org.junit.Test; +import org.junit.experimental.categories.Category; /** * Test that verifies a user can read Phoenix tables with a minimal set of permissions. */ +@Category(NeedsOwnMiniClusterTest.class) public class SystemTablePermissionsIT { private static String SUPERUSER; http://git-wip-us.apache.org/repos/asf/phoenix/blob/7f38f7e7/phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecTest.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecTest.java b/phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecTest.java new file mode 100644 index 0000000..469dd21 --- /dev/null +++ b/phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecTest.java @@ -0,0 +1,186 @@ +/* + * 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.regionserver.wal; + +import static org.junit.Assert.assertEquals; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FSDataInputStream; +import org.apache.hadoop.fs.FSDataOutputStream; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.Cell; +import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.KeyValue; +import org.apache.hadoop.hbase.KeyValueUtil; +import org.apache.hadoop.hbase.client.Delete; +import org.apache.hadoop.hbase.client.Mutation; +import org.apache.hadoop.hbase.client.Put; +import org.apache.hadoop.hbase.codec.Codec; +import org.apache.hadoop.hbase.io.util.LRUDictionary; +import org.apache.hadoop.hbase.util.Bytes; +import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest; +import org.apache.phoenix.hbase.index.IndexTestingUtils; +import org.apache.phoenix.hbase.index.wal.IndexedKeyValue; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.experimental.categories.Category; + +/** + * Simple test to read/write simple files via our custom {@link WALCellCodec} to ensure properly + * encoding/decoding without going through a cluster. + */ +public class ReadWriteKeyValuesWithCodecTest { + + private static final HBaseTestingUtility UTIL = new HBaseTestingUtility(); + private static final byte[] ROW = Bytes.toBytes("row"); + private static final byte[] FAMILY = Bytes.toBytes("family"); + + @BeforeClass + public static void setupCodec() { + Configuration conf = UTIL.getConfiguration(); + IndexTestingUtils.setupConfig(conf); + conf.set(WALCellCodec.WAL_CELL_CODEC_CLASS_KEY, IndexedWALEditCodec.class.getName()); + } + + @Test + public void testWithoutCompression() throws Exception { + // get the FS ready to read/write the edits + Path testDir = UTIL.getDataTestDir("TestReadWriteCustomEdits_withoutCompression"); + Path testFile = new Path(testDir, "testfile"); + FileSystem fs = UTIL.getTestFileSystem(); + + List<WALEdit> edits = getEdits(); + writeReadAndVerify(null, fs, edits, testFile); + } + + @Test + public void testWithCompression() throws Exception { + // get the FS ready to read/write the edit + Path testDir = UTIL.getDataTestDir("TestReadWriteCustomEdits_withCompression"); + Path testFile = new Path(testDir, "testfile"); + FileSystem fs = UTIL.getTestFileSystem(); + + List<WALEdit> edits = getEdits(); + CompressionContext compression = new CompressionContext(LRUDictionary.class, false, false); + writeReadAndVerify(compression, fs, edits, testFile); + } + + /** + * @return a bunch of {@link WALEdit}s that test a range of serialization possibilities. + */ + private List<WALEdit> getEdits() { + // Build up a couple of edits + List<WALEdit> edits = new ArrayList<WALEdit>(); + Put p = new Put(ROW); + p.add(FAMILY, null, Bytes.toBytes("v1")); + + WALEdit withPut = new WALEdit(); + addMutation(withPut, p, FAMILY); + edits.add(withPut); + + Delete d = new Delete(ROW); + d.deleteColumn(FAMILY, null); + WALEdit withDelete = new WALEdit(); + addMutation(withDelete, d, FAMILY); + edits.add(withDelete); + + WALEdit withPutsAndDeletes = new WALEdit(); + addMutation(withPutsAndDeletes, d, FAMILY); + addMutation(withPutsAndDeletes, p, FAMILY); + edits.add(withPutsAndDeletes); + + WALEdit justIndexUpdates = new WALEdit(); + byte[] table = Bytes.toBytes("targetTable"); + IndexedKeyValue ikv = new IndexedKeyValue(table, p); + justIndexUpdates.add(ikv); + edits.add(justIndexUpdates); + + WALEdit mixed = new WALEdit(); + addMutation(mixed, d, FAMILY); + mixed.add(ikv); + addMutation(mixed, p, FAMILY); + edits.add(mixed); + + return edits; + } + + /** + * Add all the {@link KeyValue}s in the {@link Mutation}, for the pass family, to the given + * {@link WALEdit}. + */ + private void addMutation(WALEdit edit, Mutation m, byte[] family) { + List<Cell> kvs = m.getFamilyCellMap().get(FAMILY); + for (Cell kv : kvs) { + edit.add(KeyValueUtil.ensureKeyValue(kv)); + } + } + + + private void writeWALEdit(WALCellCodec codec, List<Cell> kvs, FSDataOutputStream out) throws IOException { + out.writeInt(kvs.size()); + Codec.Encoder cellEncoder = codec.getEncoder(out); + // We interleave the two lists for code simplicity + for (Cell kv : kvs) { + cellEncoder.write(kv); + } + } + + /** + * Write the edits to the specified path on the {@link FileSystem} using the given codec and then + * read them back in and ensure that we read the same thing we wrote. + */ + private void writeReadAndVerify(final CompressionContext compressionContext, FileSystem fs, List<WALEdit> edits, + Path testFile) throws IOException { + + WALCellCodec codec = WALCellCodec.create(UTIL.getConfiguration(), compressionContext); + // write the edits out + FSDataOutputStream out = fs.create(testFile); + for (WALEdit edit : edits) { + writeWALEdit(codec, edit.getCells(), out); + } + out.close(); + + // read in the edits + FSDataInputStream in = fs.open(testFile); + List<WALEdit> read = new ArrayList<WALEdit>(); + for (int i = 0; i < edits.size(); i++) { + WALEdit edit = new WALEdit(); + int numEdits = in.readInt(); + edit.readFromCells(codec.getDecoder(in), numEdits); + read.add(edit); + } + in.close(); + + // make sure the read edits match the written + for(int i=0; i< edits.size(); i++){ + WALEdit expected = edits.get(i); + WALEdit found = read.get(i); + for(int j=0; j< expected.getCells().size(); j++){ + Cell fkv = found.getCells().get(j); + Cell ekv = expected.getCells().get(j); + assertEquals("KV mismatch for edit! Expected: "+expected+", but found: "+found, ekv, fkv); + } + } + } +} http://git-wip-us.apache.org/repos/asf/phoenix/blob/7f38f7e7/phoenix-hive/src/it/java/org/apache/phoenix/hive/BaseHivePhoenixStoreIT.java ---------------------------------------------------------------------- diff --git a/phoenix-hive/src/it/java/org/apache/phoenix/hive/BaseHivePhoenixStoreIT.java b/phoenix-hive/src/it/java/org/apache/phoenix/hive/BaseHivePhoenixStoreIT.java index afb06ae..c705e2d 100644 --- a/phoenix-hive/src/it/java/org/apache/phoenix/hive/BaseHivePhoenixStoreIT.java +++ b/phoenix-hive/src/it/java/org/apache/phoenix/hive/BaseHivePhoenixStoreIT.java @@ -25,12 +25,14 @@ import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.MiniHBaseCluster; import org.apache.hadoop.hdfs.MiniDFSCluster; +import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest; import org.apache.phoenix.jdbc.PhoenixDriver; import org.apache.phoenix.query.QueryServices; import org.apache.phoenix.util.PhoenixRuntime; import org.apache.phoenix.util.PropertiesUtil; import org.apache.phoenix.util.TestUtil; import org.junit.AfterClass; +import org.junit.experimental.categories.Category; import java.io.File; import java.io.IOException; @@ -44,6 +46,7 @@ import static org.junit.Assert.fail; /** * Base class for all Hive Phoenix integration tests that may be run with Tez or MR mini cluster */ +@Category(NeedsOwnMiniClusterTest.class) public class BaseHivePhoenixStoreIT { private static final Log LOG = LogFactory.getLog(BaseHivePhoenixStoreIT.class); http://git-wip-us.apache.org/repos/asf/phoenix/blob/7f38f7e7/phoenix-hive/src/it/java/org/apache/phoenix/hive/HivePhoenixStoreIT.java ---------------------------------------------------------------------- diff --git a/phoenix-hive/src/it/java/org/apache/phoenix/hive/HivePhoenixStoreIT.java b/phoenix-hive/src/it/java/org/apache/phoenix/hive/HivePhoenixStoreIT.java index cf12a80..1828818 100644 --- a/phoenix-hive/src/it/java/org/apache/phoenix/hive/HivePhoenixStoreIT.java +++ b/phoenix-hive/src/it/java/org/apache/phoenix/hive/HivePhoenixStoreIT.java @@ -18,9 +18,11 @@ package org.apache.phoenix.hive; import org.apache.hadoop.fs.Path; +import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest; import org.apache.phoenix.util.StringUtil; import org.junit.Ignore; import org.junit.Test; +import org.junit.experimental.categories.Category; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -31,6 +33,7 @@ import static org.junit.Assert.assertTrue; * Test methods only. All supporting methods should be placed to BaseHivePhoenixStoreIT */ +@Category(NeedsOwnMiniClusterTest.class) @Ignore("This class contains only test methods and should not be executed directly") public class HivePhoenixStoreIT extends BaseHivePhoenixStoreIT {