Updated Branches: refs/heads/trunk 8046f5f57 -> 5542c8a4f
GIRAPH-833: Upgrade to ZooKeeper 3.4.5 (aching) Project: http://git-wip-us.apache.org/repos/asf/giraph/repo Commit: http://git-wip-us.apache.org/repos/asf/giraph/commit/5542c8a4 Tree: http://git-wip-us.apache.org/repos/asf/giraph/tree/5542c8a4 Diff: http://git-wip-us.apache.org/repos/asf/giraph/diff/5542c8a4 Branch: refs/heads/trunk Commit: 5542c8a4f819cc6cb79ffd14fbcaa4722e25fa55 Parents: 8046f5f Author: Avery Ching <[email protected]> Authored: Tue Jan 28 07:53:52 2014 -0800 Committer: Avery Ching <[email protected]> Committed: Sat Feb 8 10:31:11 2014 -0800 ---------------------------------------------------------------------- CHANGELOG | 2 + giraph-core/pom.xml | 13 +- .../giraph/utils/InternalVertexRunner.java | 123 ++++++++----------- .../apache/giraph/io/TestJsonBase64Format.java | 1 - giraph-examples/pom.xml | 12 +- giraph-gora/pom.xml | 8 ++ giraph-hbase/pom.xml | 13 +- .../hbase/TestHBaseRootMarkerVertextFormat.java | 120 +++++++----------- giraph-hcatalog/pom.xml | 7 ++ giraph-hive/pom.xml | 7 ++ giraph-rexster/giraph-rexster-io/pom.xml | 7 ++ pom.xml | 13 +- 12 files changed, 162 insertions(+), 164 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/CHANGELOG ---------------------------------------------------------------------- diff --git a/CHANGELOG b/CHANGELOG index 3f2c047..cda5e26 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ Giraph Change Log Release 1.1.0 - unreleased + GIRAPH-833: Upgrade to ZooKeeper 3.4.5 (aching) + GIRAPH-836: Delay hive preparation until after the arguments are parsed (this allows functionality such as creating a table) (aching) http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/giraph-core/pom.xml ---------------------------------------------------------------------- diff --git a/giraph-core/pom.xml b/giraph-core/pom.xml index 2a1e838..38bae9b 100644 --- a/giraph-core/pom.xml +++ b/giraph-core/pom.xml @@ -507,6 +507,13 @@ under the License. <artifactId>jython</artifactId> </dependency> + <!-- runtime dependency --> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>runtime</scope> + </dependency> + <!-- test dependencies. sorted lexicographically. --> <dependency> <groupId>junit</groupId> @@ -518,10 +525,6 @@ under the License. <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <scope>test</scope> - </dependency> + </dependencies> </project> http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/giraph-core/src/main/java/org/apache/giraph/utils/InternalVertexRunner.java ---------------------------------------------------------------------- diff --git a/giraph-core/src/main/java/org/apache/giraph/utils/InternalVertexRunner.java b/giraph-core/src/main/java/org/apache/giraph/utils/InternalVertexRunner.java index 3f49395..09dd46d 100644 --- a/giraph-core/src/main/java/org/apache/giraph/utils/InternalVertexRunner.java +++ b/giraph-core/src/main/java/org/apache/giraph/utils/InternalVertexRunner.java @@ -18,6 +18,9 @@ package org.apache.giraph.utils; +import com.google.common.base.Charsets; +import com.google.common.collect.ImmutableList; +import com.google.common.io.Files; import org.apache.giraph.conf.GiraphConfiguration; import org.apache.giraph.conf.GiraphConstants; import org.apache.giraph.io.formats.GiraphFileInputFormat; @@ -29,21 +32,16 @@ import org.apache.hadoop.io.WritableComparable; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.log4j.Logger; -import org.apache.zookeeper.server.NIOServerCnxn; import org.apache.zookeeper.server.ServerConfig; import org.apache.zookeeper.server.ZooKeeperServerMain; import org.apache.zookeeper.server.quorum.QuorumPeerConfig; -import com.google.common.base.Charsets; -import com.google.common.collect.ImmutableList; -import com.google.common.io.Files; - import java.io.File; import java.io.IOException; -import java.lang.reflect.Field; import java.util.Properties; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; /** * A base class for running internal tests on a vertex @@ -84,6 +82,48 @@ public class InternalVertexRunner { } /** + * Run the standalone ZooKeeper process and the job. + * + * @param quorumPeerConfig Quorum peer configuration + * @param giraphJob Giraph job to run + * @return True if successful, false otherwise + */ + private static boolean runZooKeeperAndJob(QuorumPeerConfig quorumPeerConfig, + GiraphJob giraphJob) { + final InternalZooKeeper zookeeper = new InternalZooKeeper(); + final ServerConfig zkConfig = new ServerConfig(); + zkConfig.readFrom(quorumPeerConfig); + + ExecutorService executorService = Executors.newSingleThreadExecutor(); + executorService.execute(new Runnable() { + @Override + public void run() { + try { + zookeeper.runFromConfig(zkConfig); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + try { + return giraphJob.run(true); + } catch (InterruptedException | + ClassNotFoundException | IOException e) { + LOG.error("runZooKeeperAndJob: Got exception on running", e); + } finally { + zookeeper.end(); + executorService.shutdown(); + try { + executorService.awaitTermination(1, TimeUnit.MINUTES); + } catch (InterruptedException e) { + LOG.error("runZooKeeperAndJob: Interrupted on waiting", e); + } + } + + return false; + } + + /** * Attempts to run the vertex internally in the current JVM, reading from and * writing to a temporary folder on local disk. Will start its own zookeeper * instance. @@ -158,29 +198,9 @@ public class InternalVertexRunner { QuorumPeerConfig qpConfig = new QuorumPeerConfig(); qpConfig.parseProperties(zkProperties); - // Create and run the zookeeper instance - final InternalZooKeeper zookeeper = new InternalZooKeeper(); - final ServerConfig zkConfig = new ServerConfig(); - zkConfig.readFrom(qpConfig); - - ExecutorService executorService = Executors.newSingleThreadExecutor(); - executorService.execute(new Runnable() { - @Override - public void run() { - try { - zookeeper.runFromConfig(zkConfig); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - }); - try { - if (!job.run(true)) { - return null; - } - } finally { - executorService.shutdown(); - zookeeper.end(); + boolean success = runZooKeeperAndJob(qpConfig, job); + if (!success) { + return null; } File outFile = new File(outputDir, "part-m-00000"); @@ -244,28 +264,7 @@ public class InternalVertexRunner { QuorumPeerConfig qpConfig = new QuorumPeerConfig(); qpConfig.parseProperties(zkProperties); - // Create and run the zookeeper instance - final InternalZooKeeper zookeeper = new InternalZooKeeper(); - final ServerConfig zkConfig = new ServerConfig(); - zkConfig.readFrom(qpConfig); - - ExecutorService executorService = Executors.newSingleThreadExecutor(); - executorService.execute(new Runnable() { - @Override - public void run() { - try { - zookeeper.runFromConfig(zkConfig); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - }); - try { - job.run(true); - } finally { - executorService.shutdown(); - zookeeper.end(); - } + runZooKeeperAndJob(qpConfig, job); } finally { FileUtils.delete(tmpDir); } @@ -324,27 +323,7 @@ public class InternalVertexRunner { * Shutdown the ZooKeeper instance. */ void end() { - if (getCnxnFactory() != null) { - shutdown(); - } - } - - /** - * Get the ZooKeeper connection factory using reflection. - * @return {@link NIOServerCnxn.Factory} from ZooKeeper - */ - private NIOServerCnxn.Factory getCnxnFactory() { - NIOServerCnxn.Factory factory = null; - try { - Field field = ZooKeeperServerMain.class.getDeclaredField("cnxnFactory"); - field.setAccessible(true); - factory = (NIOServerCnxn.Factory) field.get(this); - // CHECKSTYLE: stop IllegalCatch - } catch (Exception e) { - // CHECKSTYLE: resume IllegalCatch - LOG.error("Couldn't get cnxn factory", e); - } - return factory; + shutdown(); } } } http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/giraph-core/src/test/java/org/apache/giraph/io/TestJsonBase64Format.java ---------------------------------------------------------------------- diff --git a/giraph-core/src/test/java/org/apache/giraph/io/TestJsonBase64Format.java b/giraph-core/src/test/java/org/apache/giraph/io/TestJsonBase64Format.java index 3b0dc63..697b105 100644 --- a/giraph-core/src/test/java/org/apache/giraph/io/TestJsonBase64Format.java +++ b/giraph-core/src/test/java/org/apache/giraph/io/TestJsonBase64Format.java @@ -71,7 +71,6 @@ public class TestJsonBase64Format extends BspCase { PseudoRandomInputFormatConstants.EDGES_PER_VERTEX, 2); job.getConfiguration().setInt( WeightedPageRankComputation.SUPERSTEP_COUNT, 2); - assertTrue(job.run(true)); Path outputPath2 = getTempPath(getCallingMethodName() + "2"); http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/giraph-examples/pom.xml ---------------------------------------------------------------------- diff --git a/giraph-examples/pom.xml b/giraph-examples/pom.xml index 50b1c47..73f2db2 100644 --- a/giraph-examples/pom.xml +++ b/giraph-examples/pom.xml @@ -409,6 +409,13 @@ under the License. <type>test-jar</type> </dependency> + <!-- runtime dependency --> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>runtime</scope> + </dependency> + <!-- test dependencies. sorted lexicographically. --> <dependency> <groupId>junit</groupId> @@ -420,10 +427,5 @@ under the License. <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <scope>test</scope> - </dependency> </dependencies> </project> http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/giraph-gora/pom.xml ---------------------------------------------------------------------- diff --git a/giraph-gora/pom.xml b/giraph-gora/pom.xml index f192eb6..38e3ab7 100644 --- a/giraph-gora/pom.xml +++ b/giraph-gora/pom.xml @@ -104,6 +104,14 @@ under the License. <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> </dependency> + + <!-- runtime dependency --> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>runtime</scope> + </dependency> + <!-- test dependencies. sorted lexicographically. --> <dependency> <groupId>junit</groupId> http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/giraph-hbase/pom.xml ---------------------------------------------------------------------- diff --git a/giraph-hbase/pom.xml b/giraph-hbase/pom.xml index a663c09..7e1960c 100644 --- a/giraph-hbase/pom.xml +++ b/giraph-hbase/pom.xml @@ -35,12 +35,10 @@ under the License. <properties> <top.dir>${project.basedir}/..</top.dir> - <!-- TODO: guava r06 is too old for checking --> + <!-- TODO: Skip until duplicate classes are fixed in the future --> <project.enforcer.skip>true</project.enforcer.skip> <!-- TODO: Fix HBase duplicate classes in the future --> <giraph.maven.duplicate.finder.skip>true</giraph.maven.duplicate.finder.skip> - <!-- TODO: Fix HBase dependencies in the future --> - <giraph.maven.dependency.plugin.skip>true</giraph.maven.dependency.plugin.skip> </properties> <build> @@ -145,8 +143,6 @@ under the License. <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> - <!-- TODO: guava r06 is too old for checking --> - <version>r06</version> </dependency> <dependency> <groupId>log4j</groupId> @@ -161,6 +157,13 @@ under the License. <artifactId>hbase</artifactId> </dependency> + <!-- runtime dependency --> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>runtime</scope> + </dependency> + <!-- test dependencies. sorted lexicographically. --> <dependency> <groupId>junit</groupId> http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java ---------------------------------------------------------------------- diff --git a/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java b/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java index 02d2754..a39b51c 100644 --- a/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java +++ b/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java @@ -20,17 +20,16 @@ package org.apache.giraph.io.hbase; import org.apache.giraph.BspCase; -import org.apache.giraph.graph.BasicComputation; import org.apache.giraph.conf.GiraphConfiguration; +import org.apache.giraph.graph.BasicComputation; +import org.apache.giraph.graph.Vertex; import org.apache.giraph.io.hbase.edgemarker.TableEdgeInputFormat; import org.apache.giraph.io.hbase.edgemarker.TableEdgeOutputFormat; import org.apache.giraph.job.GiraphJob; -import org.apache.giraph.graph.Vertex; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HConstants; @@ -44,18 +43,17 @@ import org.apache.hadoop.hbase.mapreduce.ImportTsv; import org.apache.hadoop.hbase.mapreduce.TableInputFormat; import org.apache.hadoop.hbase.mapreduce.TableOutputFormat; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.util.GenericOptionsParser; import org.apache.log4j.Logger; -import org.junit.Assert; import org.junit.Test; import java.io.File; import java.io.IOException; import java.util.UUID; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -64,13 +62,6 @@ import static org.junit.Assert.fail; * Test case for HBase reading/writing vertices from an HBase instance. */ public class TestHBaseRootMarkerVertextFormat extends BspCase { - - /** - * Create the test case - * - * @param testName name of the test case - */ - private final Logger log = Logger.getLogger(TestHBaseRootMarkerVertextFormat.class); private final String TABLE_NAME = "simple_graph"; @@ -78,34 +69,14 @@ public class TestHBaseRootMarkerVertextFormat extends BspCase { private final String QUALIFER = "children"; private final String OUTPUT_FIELD = "parent"; - private HBaseTestingUtility testUtil; - private Path hbaseRootdir; - + private final HBaseTestingUtility testUtil = new HBaseTestingUtility(); public TestHBaseRootMarkerVertextFormat() { super(TestHBaseRootMarkerVertextFormat.class.getName()); - - // Let's set up the hbase root directory. - Configuration conf = HBaseConfiguration.create(); - try { - FileSystem fs = FileSystem.get(conf); - String randomStr = UUID.randomUUID().toString(); - String tmpdir = System.getProperty("java.io.tmpdir") + "/" + - randomStr + "/"; - hbaseRootdir = fs.makeQualified(new Path(tmpdir)); - conf.set(HConstants.HBASE_DIR, hbaseRootdir.toString()); - fs.mkdirs(hbaseRootdir); - } catch(IOException ioe) { - fail("Could not create hbase root directory."); - } - - // Start the test utility. - testUtil = new HBaseTestingUtility(conf); } @Test public void testHBaseInputOutput() throws Exception { - if (System.getProperty("prop.mapred.job.tracker") != null) { if(log.isInfoEnabled()) log.info("testHBaseInputOutput: Ignore this test if not local mode."); @@ -119,33 +90,45 @@ public class TestHBaseRootMarkerVertextFormat extends BspCase { "Make sure you built the main Giraph artifact?."); } - String INPUT_FILE = hbaseRootdir.toString() + "/graph.csv"; - //First let's load some data using ImportTsv into our mock table. - String[] args = new String[] { - "-Dimporttsv.columns=HBASE_ROW_KEY,cf:"+QUALIFER, - "-Dimporttsv.separator=" + "\u002c", - TABLE_NAME, - INPUT_FILE - }; - - MiniHBaseCluster cluster = null; - MiniZooKeeperCluster zkCluster = null; FileSystem fs = null; - + Path hbaseRootdir = null; try { - // using the restart method allows us to avoid having the hbase - // root directory overwritten by /home/$username - zkCluster = testUtil.startMiniZKCluster(); - testUtil.restartHBaseCluster(2); - cluster = testUtil.getMiniHBaseCluster(); + MiniHBaseCluster cluster = testUtil.startMiniCluster(1); + cluster.waitForActiveAndReadyMaster(); + testUtil.startMiniMapReduceCluster(); + + // Let's set up the hbase root directory. + Configuration conf = testUtil.getConfiguration(); + try { + fs = testUtil.getTestFileSystem(); + String randomStr = UUID.randomUUID().toString(); + String tmpdir = System.getProperty("java.io.tmpdir") + "/" + + randomStr + "/"; + hbaseRootdir = fs.makeQualified(new Path(tmpdir)); + + conf.set(HConstants.HBASE_DIR, hbaseRootdir.toString()); + fs.mkdirs(hbaseRootdir); + } catch(IOException ioe) { + fail("Could not create hbase root directory."); + } + + //First let's load some data using ImportTsv into our mock table. + String INPUT_FILE = hbaseRootdir.toString() + "/graph.csv"; + String[] args = new String[] { + "-Dimporttsv.columns=HBASE_ROW_KEY,cf:"+QUALIFER, + "-Dimporttsv.separator=" + "\u002c", + TABLE_NAME, + INPUT_FILE + }; GenericOptionsParser opts = - new GenericOptionsParser(cluster.getConfiguration(), args); - Configuration conf = opts.getConfiguration(); + new GenericOptionsParser(testUtil.getConfiguration(), args); args = opts.getRemainingArgs(); fs = FileSystem.get(conf); - FSDataOutputStream op = fs.create(new Path(INPUT_FILE), true); + fs.setConf(conf); + Path inputPath = fs.makeQualified(new Path(hbaseRootdir, "graph.csv")); + FSDataOutputStream op = fs.create(inputPath, true); String line1 = "0001,0002\n"; String line2 = "0002,0004\n"; String line3 = "0003,0005\n"; @@ -170,20 +153,19 @@ public class TestHBaseRootMarkerVertextFormat extends BspCase { } hbaseAdmin.createTable(desc); + // Do the import Job job = ImportTsv.createSubmittableJob(conf, args); job.waitForCompletion(false); assertTrue(job.isSuccessful()); if(log.isInfoEnabled()) log.info("ImportTsv successful. Running HBase Giraph job."); - //now operate over HBase using Vertex I/O formats + // Now operate over HBase using Vertex I/O formats conf.set(TableInputFormat.INPUT_TABLE, TABLE_NAME); conf.set(TableOutputFormat.OUTPUT_TABLE, TABLE_NAME); GiraphJob giraphJob = new GiraphJob(conf, BspCase.getCallingMethodName()); GiraphConfiguration giraphConf = giraphJob.getConfiguration(); - giraphConf.setZooKeeperConfiguration( - cluster.getMaster().getZooKeeper().getQuorum()); setupConfiguration(giraphJob); giraphConf.setComputationClass(EdgeNotification.class); giraphConf.setVertexInputFormatClass(TableEdgeInputFormat.class); @@ -193,32 +175,24 @@ public class TestHBaseRootMarkerVertextFormat extends BspCase { if(log.isInfoEnabled()) log.info("Giraph job successful. Checking output qualifier."); - //Do a get on row 0002, it should have a parent of 0001 - //if the outputFormat worked. + // Do a get on row 0002, it should have a parent of 0001 + // if the outputFormat worked. HTable table = new HTable(conf, TABLE_NAME); Result result = table.get(new Get("0002".getBytes())); byte[] parentBytes = result.getValue(FAMILY.getBytes(), OUTPUT_FIELD.getBytes()); assertNotNull(parentBytes); assertTrue(parentBytes.length > 0); - Assert.assertEquals("0001", Bytes.toString(parentBytes)); - } finally { - if (cluster != null) { - cluster.shutdown(); - } - if (zkCluster != null) { - zkCluster.shutdown(); - } - // clean test files - if (fs != null) { - fs.delete(hbaseRootdir); - } + assertEquals("0001", Bytes.toString(parentBytes)); + } finally { + testUtil.shutdownMiniMapReduceCluster(); + testUtil.shutdownMiniCluster(); } } - /* - Test compute method that sends each edge a notification of its parents. - The test set only has a 1-1 parent-to-child ratio for this unit test. + /** + * Test compute method that sends each edge a notification of its parents. + * The test set only has a 1-1 parent-to-child ratio for this unit test. */ public static class EdgeNotification extends BasicComputation<Text, Text, Text, Text> { http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/giraph-hcatalog/pom.xml ---------------------------------------------------------------------- diff --git a/giraph-hcatalog/pom.xml b/giraph-hcatalog/pom.xml index cba9bc9..0e7cbb4 100644 --- a/giraph-hcatalog/pom.xml +++ b/giraph-hcatalog/pom.xml @@ -176,6 +176,13 @@ under the License. <scope>runtime</scope> </dependency> + <!-- runtime dependency --> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>runtime</scope> + </dependency> + <!-- test dependencies. sorted lexicographically. --> <dependency> <groupId>junit</groupId> http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/giraph-hive/pom.xml ---------------------------------------------------------------------- diff --git a/giraph-hive/pom.xml b/giraph-hive/pom.xml index df122d3..c20c308 100644 --- a/giraph-hive/pom.xml +++ b/giraph-hive/pom.xml @@ -113,6 +113,13 @@ under the License. <artifactId>log4j</artifactId> </dependency> + <!-- runtime dependency --> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>runtime</scope> + </dependency> + <!-- test dependencies. sorted lexicographically. --> <dependency> <groupId>org.apache.giraph</groupId> http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/giraph-rexster/giraph-rexster-io/pom.xml ---------------------------------------------------------------------- diff --git a/giraph-rexster/giraph-rexster-io/pom.xml b/giraph-rexster/giraph-rexster-io/pom.xml index 3553552..6bbb236 100644 --- a/giraph-rexster/giraph-rexster-io/pom.xml +++ b/giraph-rexster/giraph-rexster-io/pom.xml @@ -127,6 +127,13 @@ under the License. <artifactId>json</artifactId> </dependency> + <!-- runtime dependency --> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <scope>runtime</scope> + </dependency> + <!-- test dependencies. sorted lexicographically. --> <dependency> <groupId>com.tinkerpop.blueprints</groupId> http://git-wip-us.apache.org/repos/asf/giraph/blob/5542c8a4/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index f0fb763..8278811 100644 --- a/pom.xml +++ b/pom.xml @@ -278,7 +278,7 @@ under the License. <dep.fastutil.version>6.5.4</dep.fastutil.version> <dep.google.findbugs.version>2.0.2</dep.google.findbugs.version> <dep.guava.version>14.0.1</dep.guava.version> - <dep.hbase.version>0.90.5</dep.hbase.version> + <dep.hbase.version>0.94.16</dep.hbase.version> <dep.hcatalog.version>0.5.0-incubating</dep.hcatalog.version> <dep.hive.version>0.11.0</dep.hive.version> <dep.hiveio.version>0.21</dep.hiveio.version> @@ -294,7 +294,7 @@ under the License. <dep.typetools.version>0.2.1</dep.typetools.version> <dep.yammer-metrics.version>2.2.0</dep.yammer-metrics.version> <dep.yourkit-api.version>9.5.6</dep.yourkit-api.version> - <dep.zookeeper.version>3.3.3</dep.zookeeper.version> + <dep.zookeeper.version>3.4.5</dep.zookeeper.version> <forHadoop>for-hadoop-${hadoop.version}</forHadoop> </properties> @@ -953,7 +953,6 @@ under the License. <id>hadoop_facebook</id> <modules> <module>giraph-accumulo</module> - <module>giraph-hbase</module> <module>giraph-hcatalog</module> <module>giraph-hive</module> </modules> @@ -1345,6 +1344,10 @@ under the License. <artifactId>commons-logging</artifactId> </exclusion> <exclusion> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + </exclusion> + <exclusion> <groupId>io.netty</groupId> <artifactId>netty</artifactId> </exclusion> @@ -1671,6 +1674,10 @@ under the License. <artifactId>jmxtools</artifactId> </exclusion> <exclusion> + <groupId>org.jboss.netty</groupId> + <artifactId>netty</artifactId> + </exclusion> + <exclusion> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> </exclusion>
