mirror of
https://github.com/apache/druid.git
synced 2025-02-07 18:48:33 +00:00
The way the Guice bindings were setup previously, each process only had bindings for the things it cared about. This became problematic when adding extension modules that bound everything that they could possibly need expecting that the processes would only instantiate what they actually do need. Guice tries to fail-fast and verifies that all bindings exist before it does anything, which is a problem because the extension bind some objects that don't necessarily have all of their dependencies bound in all processes. The fix for this is to build a single Injector with all bindings in it and let each of the processes only load the things that they care about. This also requires the use of Module overrides and other such interesting things, which are node done. In doing the fix, I also swapped out the way that the DataSegmentPusher/Puller stuff is bound, as well as made the Cassandra stuff fail if its settings are not provided. This all of a sudden made all of the things require Cassandra's settings, so I migrated the Cassandra deep storage stuff into its own module. In doing these changes, I also discovered that some properties weren't properly converting for the ConvertProperties command (specifically, the properties related to data segment loading and pushing), so I fixed that.
285 lines
9.6 KiB
XML
285 lines
9.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
~ Druid - a distributed column store.
|
|
~ Copyright (C) 2012, 2013 Metamarkets Group Inc.
|
|
~
|
|
~ This program is free software; you can redistribute it and/or
|
|
~ modify it under the terms of the GNU General Public License
|
|
~ as published by the Free Software Foundation; either version 2
|
|
~ of the License, or (at your option) any later version.
|
|
~
|
|
~ This program is distributed in the hope that it will be useful,
|
|
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
~ GNU General Public License for more details.
|
|
~
|
|
~ You should have received a copy of the GNU General Public License
|
|
~ along with this program; if not, write to the Free Software
|
|
~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
-->
|
|
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<groupId>com.metamx.druid</groupId>
|
|
<artifactId>druid-server</artifactId>
|
|
<name>druid-server</name>
|
|
<description>Druid Server</description>
|
|
|
|
<parent>
|
|
<groupId>com.metamx</groupId>
|
|
<artifactId>druid</artifactId>
|
|
<version>0.6.0-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.metamx.druid</groupId>
|
|
<artifactId>druid-processing</artifactId>
|
|
<version>${project.parent.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.metamx</groupId>
|
|
<artifactId>emitter</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.metamx</groupId>
|
|
<artifactId>http-client</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.metamx</groupId>
|
|
<artifactId>java-util</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.metamx</groupId>
|
|
<artifactId>server-metrics</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>commons-cli</groupId>
|
|
<artifactId>commons-cli</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-lang</groupId>
|
|
<artifactId>commons-lang</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.amazonaws</groupId>
|
|
<artifactId>aws-java-sdk</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.ning</groupId>
|
|
<artifactId>compress-lzf</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.skife.config</groupId>
|
|
<artifactId>config-magic</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.curator</groupId>
|
|
<artifactId>curator-framework</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.curator</groupId>
|
|
<artifactId>curator-x-discovery</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>it.uniroma3.mat</groupId>
|
|
<artifactId>extendedset</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.inject</groupId>
|
|
<artifactId>guice</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.jaxrs</groupId>
|
|
<artifactId>jackson-jaxrs-json-provider</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
|
<artifactId>jackson-dataformat-smile</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.inject</groupId>
|
|
<artifactId>javax.inject</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jdbi</groupId>
|
|
<artifactId>jdbi</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.jersey</groupId>
|
|
<artifactId>jersey-server</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.jersey</groupId>
|
|
<artifactId>jersey-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.jersey.contribs</groupId>
|
|
<artifactId>jersey-guice</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.java.dev.jets3t</groupId>
|
|
<artifactId>jets3t</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-server</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>joda-time</groupId>
|
|
<artifactId>joda-time</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.code.findbugs</groupId>
|
|
<artifactId>jsr305</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>log4j</groupId>
|
|
<artifactId>log4j</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.servlet</groupId>
|
|
<artifactId>javax.servlet-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-log4j12</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hadoop</groupId>
|
|
<artifactId>hadoop-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.tesla.aether</groupId>
|
|
<artifactId>tesla-aether</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.aether</groupId>
|
|
<artifactId>aether-api</artifactId>
|
|
</dependency>
|
|
|
|
|
|
<!-- Dependencies required for jets3t b/c emr pom doesn't include them -->
|
|
<dependency>
|
|
<groupId>commons-codec</groupId>
|
|
<artifactId>commons-codec</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-logging</groupId>
|
|
<artifactId>commons-logging</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-httpclient</groupId>
|
|
<artifactId>commons-httpclient</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.jamesmurty.utils</groupId>
|
|
<artifactId>java-xmlbuilder</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.antlr</groupId>
|
|
<artifactId>antlr4-runtime</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.code.simple-spring-memcached</groupId>
|
|
<artifactId>spymemcached</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.jpountz.lz4</groupId>
|
|
<artifactId>lz4</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-server</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-servlet</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-servlets</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Tests -->
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.easymock</groupId>
|
|
<artifactId>easymock</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.metamx.druid</groupId>
|
|
<artifactId>druid-processing</artifactId>
|
|
<version>${project.parent.version}</version>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.curator</groupId>
|
|
<artifactId>curator-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.caliper</groupId>
|
|
<artifactId>caliper</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.antlr</groupId>
|
|
<artifactId>antlr4-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>antlr4</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|