Added the distribution project to allow for automatically creating build artifacts during a maven build.
Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/70b69ecb Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/70b69ecb Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/70b69ecb Branch: refs/heads/0.2-dev Commit: 70b69ecb709647884865172eef9372af79ad49ca Parents: d709ddb Author: Aaron McCurry <[email protected]> Authored: Fri Jan 4 17:38:53 2013 -0500 Committer: Aaron McCurry <[email protected]> Committed: Fri Jan 4 17:38:53 2013 -0500 ---------------------------------------------------------------------- bin/blur | 26 - bin/blur-config.sh | 104 - bin/servers.sh | 34 - bin/start-all.sh | 25 - bin/start-server.sh | 43 - bin/stop-all.sh | 24 - bin/stop-server.sh | 38 - conf/blur-env.sh | 56 - conf/blur-site.properties | 21 - conf/controllers | 1 - conf/hadoop-metrics.properties | 44 - conf/log4j.xml | 59 - conf/shards | 1 - interface/Blur.thrift | 713 - interface/apache.header | 19 - interface/gen-html/Blur.html | 492 - interface/gen-html/index.html | 67 - interface/gen-html/style.css | 184 - .../org/apache/blur/thrift/generated/Analyzer.java | 477 - .../blur/thrift/generated/AnalyzerSubType.java | 538 - .../apache/blur/thrift/generated/AnalyzerType.java | 715 - .../org/apache/blur/thrift/generated/Blur.java |23053 --------------- .../blur/thrift/generated/BlurException.java | 533 - .../blur/thrift/generated/ClassDefinition.java | 569 - .../org/apache/blur/thrift/generated/CpuTime.java | 524 - .../org/apache/blur/thrift/generated/Document.java | 471 - .../org/apache/blur/thrift/generated/Field.java | 775 - .../apache/blur/thrift/generated/Generation.java | 637 - .../apache/blur/thrift/generated/LiveSchema.java | 631 - .../blur/thrift/generated/MutateOptions.java | 743 - .../org/apache/blur/thrift/generated/Query.java | 665 - .../apache/blur/thrift/generated/QueryArgs.java | 1509 - .../apache/blur/thrift/generated/QueryState.java | 73 - .../apache/blur/thrift/generated/QueryStatus.java | 821 - .../apache/blur/thrift/generated/QueryType.java | 67 - .../org/apache/blur/thrift/generated/ScoreDoc.java | 651 - .../org/apache/blur/thrift/generated/Session.java | 505 - .../apache/blur/thrift/generated/ShardLayout.java | 581 - .../org/apache/blur/thrift/generated/Sort.java | 459 - .../apache/blur/thrift/generated/SortField.java | 619 - .../org/apache/blur/thrift/generated/SortType.java | 125 - .../org/apache/blur/thrift/generated/TYPE.java | 104 - .../blur/thrift/generated/TableDescriptor.java | 1279 - .../apache/blur/thrift/generated/TableStats.java | 630 - .../org/apache/blur/thrift/generated/Term.java | 540 - .../apache/blur/thrift/generated/TopFieldDocs.java | 899 - .../blur/thrift/generated/UpdatePackage.java | 591 - interface/gen-perl/Blur/Blur.pm | 5839 ---- interface/gen-perl/Blur/Constants.pm | 13 - interface/gen-perl/Blur/Types.pm | 2672 -- interface/gen-rb/blur.rb | 1490 - interface/gen-rb/blur_constants.rb | 11 - interface/gen-rb/blur_types.rb | 667 - interface/genAndReplace.sh | 26 - src/blur-core/pom.xml | 22 - src/blur-gui/pom.xml | 21 - src/blur-mapred/pom.xml | 21 - src/blur-store/pom.xml | 23 - src/blur-testsuite/pom.xml | 24 - src/blur-thrift/pom.xml | 23 - src/blur-util/pom.xml | 23 - src/distribution/pom.xml | 48 + src/distribution/src/assemble/bin.xml | 36 + src/distribution/src/main/scripts/bin/blur | 26 + .../src/main/scripts/bin/blur-config.sh | 104 + src/distribution/src/main/scripts/bin/servers.sh | 34 + src/distribution/src/main/scripts/bin/start-all.sh | 25 + .../src/main/scripts/bin/start-server.sh | 43 + src/distribution/src/main/scripts/bin/stop-all.sh | 24 + .../src/main/scripts/bin/stop-server.sh | 38 + src/distribution/src/main/scripts/conf/blur-env.sh | 56 + .../src/main/scripts/conf/blur-site.properties | 21 + src/distribution/src/main/scripts/conf/controllers | 1 + .../main/scripts/conf/hadoop-metrics.properties | 44 + src/distribution/src/main/scripts/conf/log4j.xml | 59 + src/distribution/src/main/scripts/conf/shards | 1 + .../src/main/scripts/interface/Blur.thrift | 713 + .../src/main/scripts/interface/apache.header | 19 + .../src/main/scripts/interface/gen-html/Blur.html | 492 + .../src/main/scripts/interface/gen-html/index.html | 67 + .../src/main/scripts/interface/gen-html/style.css | 184 + .../org/apache/blur/thrift/generated/Analyzer.java | 477 + .../blur/thrift/generated/AnalyzerSubType.java | 538 + .../apache/blur/thrift/generated/AnalyzerType.java | 715 + .../org/apache/blur/thrift/generated/Blur.java |23053 +++++++++++++++ .../blur/thrift/generated/BlurException.java | 533 + .../blur/thrift/generated/ClassDefinition.java | 569 + .../org/apache/blur/thrift/generated/CpuTime.java | 524 + .../org/apache/blur/thrift/generated/Document.java | 471 + .../org/apache/blur/thrift/generated/Field.java | 775 + .../apache/blur/thrift/generated/Generation.java | 637 + .../apache/blur/thrift/generated/LiveSchema.java | 631 + .../blur/thrift/generated/MutateOptions.java | 743 + .../org/apache/blur/thrift/generated/Query.java | 665 + .../apache/blur/thrift/generated/QueryArgs.java | 1509 + .../apache/blur/thrift/generated/QueryState.java | 73 + .../apache/blur/thrift/generated/QueryStatus.java | 821 + .../apache/blur/thrift/generated/QueryType.java | 67 + .../org/apache/blur/thrift/generated/ScoreDoc.java | 651 + .../org/apache/blur/thrift/generated/Session.java | 505 + .../apache/blur/thrift/generated/ShardLayout.java | 581 + .../org/apache/blur/thrift/generated/Sort.java | 459 + .../apache/blur/thrift/generated/SortField.java | 619 + .../org/apache/blur/thrift/generated/SortType.java | 125 + .../org/apache/blur/thrift/generated/TYPE.java | 104 + .../blur/thrift/generated/TableDescriptor.java | 1279 + .../apache/blur/thrift/generated/TableStats.java | 630 + .../org/apache/blur/thrift/generated/Term.java | 540 + .../apache/blur/thrift/generated/TopFieldDocs.java | 899 + .../blur/thrift/generated/UpdatePackage.java | 591 + .../main/scripts/interface/gen-perl/Blur/Blur.pm | 5839 ++++ .../scripts/interface/gen-perl/Blur/Constants.pm | 13 + .../main/scripts/interface/gen-perl/Blur/Types.pm | 2672 ++ .../src/main/scripts/interface/gen-rb/blur.rb | 1490 + .../scripts/interface/gen-rb/blur_constants.rb | 11 + .../main/scripts/interface/gen-rb/blur_types.rb | 667 + .../src/main/scripts/interface/genAndReplace.sh | 26 + src/pom.xml | 13 +- 118 files changed, 52548 insertions(+), 52612 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/bin/blur ---------------------------------------------------------------------- diff --git a/bin/blur b/bin/blur deleted file mode 100755 index afe5ebb..0000000 --- a/bin/blur +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash - -# 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. - -bin=`dirname "$0"` -bin=`cd "$bin"; pwd` - -. "$bin"/blur-config.sh -PROC_NAME=$1 -"$JAVA_HOME"/bin/java -Dblur.name=$PROC_NAME -Djava.library.path=$JAVA_LIBRARY_PATH $BLUR_COMMAND -Dblur.logs.dir=$BLUR_LOGS -Dblur.log.file=$PROC_NAME.log -cp $BLUR_CLASSPATH $@ - - - http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/bin/blur-config.sh ---------------------------------------------------------------------- diff --git a/bin/blur-config.sh b/bin/blur-config.sh deleted file mode 100755 index bd6b016..0000000 --- a/bin/blur-config.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env bash - -# 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. - -bin=`dirname "$0"` -bin=`cd "$bin"; pwd` - -export BLUR_HOME="$bin"/.. -export BLUR_HOME_CONF=$BLUR_HOME/conf - -. $BLUR_HOME/conf/blur-env.sh -if [ -z "$JAVA_HOME" ]; then - cat 1>&2 <<EOF -+======================================================================+ -| Error: JAVA_HOME is not set and Java could not be found | -+----------------------------------------------------------------------+ -| Please download the latest Sun JDK from the Sun Java web site | -| > http://java.sun.com/javase/downloads/ < | -| | -| Hadoop and Blur requires Java 1.6 or later. | -| NOTE: This script will find Sun Java whether you install using the | -| binary or the RPM based installer. | -+======================================================================+ -EOF - exit 1 -fi - -if [ -z "$HADOOP_HOME" ]; then - cat 1>&2 <<EOF -+======================================================================+ -| Error: HADOOP_HOME is not set | -+----------------------------------------------------------------------+ -| Please download the stable Hadoop version from Apache web site | -| > http://hadoop.apache.org/ < | -| | -| Blur requires Hadoop 0.20.205 or later. | -+======================================================================+ -EOF - exit 1 -fi - -export JAVA=$JAVA_HOME/bin/java - -export BLUR_LOGS=${BLUR_LOGS:=$BLUR_HOME/logs} - -if [ ! -d "$BLUR_LOGS" ]; then - mkdir -p $BLUR_LOGS -fi - -if [ ! -d "$BLUR_HOME/pids" ]; then - mkdir -p $BLUR_HOME/pids -fi - -BLUR_CLASSPATH=$BLUR_HOME/conf - -for f in $HADOOP_HOME/*.jar; do - BLUR_CLASSPATH=${BLUR_CLASSPATH}:$f; -done - -for f in $HADOOP_HOME/lib/*.jar; do - BLUR_CLASSPATH=${BLUR_CLASSPATH}:$f; -done - -for f in $BLUR_HOME/lib/*.jar; do - BLUR_CLASSPATH=${BLUR_CLASSPATH}:$f; -done - -for f in $BLUR_HOME/lib/*.war; do - BLUR_CLASSPATH=${BLUR_CLASSPATH}:$f; -done - -for f in $HADOOP_HOME/lib/jsp-2.1/*.jar; do - BLUR_CLASSPATH=${BLUR_CLASSPATH}:$f; -done - -export BLUR_CLASSPATH - -# setup 'java.library.path' for native-hadoop code if necessary -if [ -d "${HADOOP_HOME}/build/native" -o -d "${HADOOP_HOME}/lib/native" -o -d "${HADOOP_HOME}/sbin" ]; then - JAVA_PLATFORM=`CLASSPATH=${BLUR_CLASSPATH} ${JAVA} -Xmx32m ${HADOOP_JAVA_PLATFORM_OPTS} org.apache.hadoop.util.PlatformName | sed -e "s/ /_/g"` - - if [ -d "${HADOOP_HOME}/lib/native" ]; then - if [ "x$JAVA_LIBRARY_PATH" != "x" ]; then - JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}:${HADOOP_HOME}/lib/native/${JAVA_PLATFORM} - else - JAVA_LIBRARY_PATH=${HADOOP_HOME}/lib/native/${JAVA_PLATFORM} - fi - fi -fi - -HOSTNAME=`hostname` http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/bin/servers.sh ---------------------------------------------------------------------- diff --git a/bin/servers.sh b/bin/servers.sh deleted file mode 100755 index 6b22678..0000000 --- a/bin/servers.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -# 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. - -bin=`dirname "$0"` -bin=`cd "$bin"; pwd` - -. "$bin"/blur-config.sh - -export HOSTLIST="${BLUR_HOME_CONF}/shards" - -for shard in `cat "$HOSTLIST"|sed "s/#.*$//;/^$/d"`; do - ssh $BLUR_SSH_OPTS $shard $"${@// /\\ }" \ - 2>&1 | sed "s/^/$shard: /" & - if [ "$BLUR_SHARD_SLEEP" != "" ]; then - sleep $BLUR_SHARD_SLEEP - fi -done - -wait - http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/bin/start-all.sh ---------------------------------------------------------------------- diff --git a/bin/start-all.sh b/bin/start-all.sh deleted file mode 100755 index 639ab98..0000000 --- a/bin/start-all.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash - -# 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. - -bin=`dirname "$0"` -bin=`cd "$bin"; pwd` - -. "$bin"/blur-config.sh - -$BLUR_HOME/bin/shards.sh $BLUR_HOME/bin/start-shard-server.sh - - http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/bin/start-server.sh ---------------------------------------------------------------------- diff --git a/bin/start-server.sh b/bin/start-server.sh deleted file mode 100755 index d53fcbc..0000000 --- a/bin/start-server.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -# 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. - -bin=`dirname "$0"` -bin=`cd "$bin"; pwd` - -. "$bin"/blur-config.sh - -INSTANCE=0 -while [ $INSTANCE -lt $BLUR_NUMBER_OF_SERVER_INSTANCES_PER_MACHINE ]; do - PID_FILE=$BLUR_HOME/pids/blur-$INSTANCE.pid - - if [ -f $PID_FILE ]; then - if kill -0 `cat $PID_FILE` > /dev/null 2>&1; then - echo Blur Server already running as process `cat $PID_FILE`. Stop it first. - let INSTANCE=INSTANCE+1 - continue - fi - fi - - PROC_NAME=blur-server-$HOSTNAME-$INSTANCE - nohup "$JAVA_HOME"/bin/java -Dblur.name=$PROC_NAME -Djava.library.path=$JAVA_LIBRARY_PATH -Dblur-$INSTANCE $BLUR_JVM_OPTIONS -Dblur.logs.dir=$BLUR_LOGS -Dblur.log.file=$PROC_NAME.log -cp $BLUR_CLASSPATH org.apache.blur.thrift.ThriftBlurServer -s $INSTANCE > "$BLUR_LOGS/$PROC_NAME.out" 2>&1 < /dev/null & - echo $! > $PID_FILE - echo Blur Server [$INSTANCE] starting as process `cat $PID_FILE`. - - let INSTANCE=INSTANCE+1 -done - - http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/bin/stop-all.sh ---------------------------------------------------------------------- diff --git a/bin/stop-all.sh b/bin/stop-all.sh deleted file mode 100755 index 5e1342d..0000000 --- a/bin/stop-all.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash - -# 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. - -bin=`dirname "$0"` -bin=`cd "$bin"; pwd` - -. "$bin"/blur-config.sh - -$BLUR_HOME/bin/shards.sh $BLUR_HOME/bin/stop-shard-server.sh - http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/bin/stop-server.sh ---------------------------------------------------------------------- diff --git a/bin/stop-server.sh b/bin/stop-server.sh deleted file mode 100755 index 42a882f..0000000 --- a/bin/stop-server.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash - -# 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. - -bin=`dirname "$0"` -bin=`cd "$bin"; pwd` - -. "$bin"/blur-config.sh - -INSTANCE=0 -while [ $INSTANCE -lt $BLUR_NUMBER_OF_SERVER_INSTANCES_PER_MACHINE ]; do - PID_FILE=$BLUR_HOME/pids/blur-$INSTANCE.pid - - if [ -f $PID_FILE ]; then - if kill -0 `cat $PID_FILE` > /dev/null 2>&1; then - echo Stopping Blur Server [$INSTANCE] server with pid [`cat $PID_FILE`]. - kill `cat $PID_FILE` - else - echo No Blur Server [$INSTANCE] server to stop - fi - else - echo No Blur Server [$INSTANCE] server to stop - fi - let INSTANCE=INSTANCE+1 -done \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/conf/blur-env.sh ---------------------------------------------------------------------- diff --git a/conf/blur-env.sh b/conf/blur-env.sh deleted file mode 100755 index 9c4f20b..0000000 --- a/conf/blur-env.sh +++ /dev/null @@ -1,56 +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. - -# Set environment specific Blur settings here. - -# JAVA_HOME is required -# export JAVA_HOME=/usr/lib/j2sdk1.6-sun - -# HADOOP_HOME is required -# export HADOOP_HOME=/var/hadoop-0.20.2 - -# JAVA JVM OPTIONS for the shard servers, jvm tuning parameters are placed here. -# -# This is an example of JVM options on a large heap and how to setup large pages and max direct memory size. -# export BLUR_SHARD_JVM_OPTIONS="-XX:MaxDirectMemorySize=<size>g -XX:+UseLargePages -Xms12g -Xmx12g -Xmn2g -XX:+UseCompressedOops \ -#-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:CMSIncrementalDutyCycleMin=10 -XX:CMSIncrementalDutyCycle=50 \ -#-XX:ParallelGCThreads=8 -XX:+UseParNewGC -XX:MaxGCPauseMillis=200 -XX:GCTimeRatio=10 -XX:+DisableExplicitGC \ -#-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$BLUR_HOME/logs/gc-blur-shard-server_`date +%Y%m%d_%H%M%S`.log -export BLUR_SHARD_JVM_OPTIONS="-Xmx1024m" - -# JAVA JVM OPTIONS for the shard servers, jvm tuning parameters are placed here. -export BLUR_CONTROLLER_JVM_OPTIONS="-Xmx1024m" - -# JAVA JVM OPTIONS for the shard servers, jvm tuning parameters are placed here. -export BLUR_COMMAND="-Xmx1024m" - -# Any SSH Options to be used during startup or shutdown commands. -export BLUR_SSH_OPTS= - -# Time to sleep between shard server commands. -export BLUR_SHARD_SLEEP=0.1 - -# Time to sleep between controller server commands. -export BLUR_CONTROLLER_SLEEP=0.1 - -# The of shard servers to spawn per machine. -export BLUR_NUMBER_OF_SHARD_SERVER_INSTANCES_PER_MACHINE=1 - -# The of controller servers to spawn per machine. -export BLUR_NUMBER_OF_CONTROLLER_SERVER_INSTANCES_PER_MACHINE=1 - -# The directory where all the log files will be located. -# export BLUR_LOGS=$BLUR_HOME/logs - http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/conf/blur-site.properties ---------------------------------------------------------------------- diff --git a/conf/blur-site.properties b/conf/blur-site.properties deleted file mode 100644 index a5b33ad..0000000 --- a/conf/blur-site.properties +++ /dev/null @@ -1,21 +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. - -#Zookeeper connection string -blur.zookeeper.connection=localhost - -#The cluster name -blur.cluster.name=default - http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/conf/controllers ---------------------------------------------------------------------- diff --git a/conf/controllers b/conf/controllers deleted file mode 100644 index 2fbb50c..0000000 --- a/conf/controllers +++ /dev/null @@ -1 +0,0 @@ -localhost http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/conf/hadoop-metrics.properties ---------------------------------------------------------------------- diff --git a/conf/hadoop-metrics.properties b/conf/hadoop-metrics.properties deleted file mode 100644 index 4b49664..0000000 --- a/conf/hadoop-metrics.properties +++ /dev/null @@ -1,44 +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. - -# Configuration of the "blur" context for null -blur.class=org.apache.hadoop.metrics.spi.NullContext - -# Configuration of the "blur" context for file -# blur.class=org.apache.hadoop.metrics.file.FileContext -# blur.period=10 -# blur.fileName=/tmp/blurmetrics.log - -# Configuration of the "blur" context for ganglia -# Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter) -# blur.class=org.apache.hadoop.metrics.ganglia.GangliaContext -# blur.class=org.apache.hadoop.metrics.ganglia.GangliaContext31 -# blur.period=10 -# blur.servers=localhost:8649 - - -# Configuration of the "jvm" context for null -jvm.class=org.apache.hadoop.metrics.spi.NullContext - -# Configuration of the "jvm" context for file -# jvm.class=org.apache.hadoop.metrics.file.FileContext -# jvm.period=10 -# jvm.fileName=/tmp/jvmmetrics.log - -# Configuration of the "jvm" context for ganglia -# jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext -# jvm.period=10 -# jvm.servers=localhost:8649 http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/conf/log4j.xml ---------------------------------------------------------------------- diff --git a/conf/log4j.xml b/conf/log4j.xml deleted file mode 100644 index 518413a..0000000 --- a/conf/log4j.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- -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. ---> -<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> - -<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> - - - <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> - <layout class="org.apache.log4j.PatternLayout"> - <param name="ConversionPattern" value="%-5p %d{yyyyMMdd_HH:mm:ss:sss_z} [%t] %c{2}: %m%n" /> - </layout> - </appender> - - <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> - <appender-ref ref="FILE" /> - </appender> - - <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender"> - <param name="File" value="${blur.logs.dir}/${blur.log.file}" /> - <param name="DatePattern" value="'.'yyyyMMdd" /> - <param name="Append" value="true" /> - <layout class="org.apache.log4j.PatternLayout"> - <param name="ConversionPattern" value="%-5p %d{yyyyMMdd_HH:mm:ss:sss_z} [%t] %c{2}: %m%n" /> - </layout> - </appender> - - <logger name="org.apache.hadoop"> - <level value="ERROR" /> - <appender-ref ref="ASYNC"/> - </logger> - - <!--root> - For production use, the async configuration will be better for performance at the cost of not seeing the final flushed log events. - <priority value="INFO" /> - <appender-ref ref="ASYNC" /> - </root--> - - <root> - <priority value="INFO" /> - <appender-ref ref="FILE" /> - </root> -</log4j:configuration> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/conf/shards ---------------------------------------------------------------------- diff --git a/conf/shards b/conf/shards deleted file mode 100644 index 2fbb50c..0000000 --- a/conf/shards +++ /dev/null @@ -1 +0,0 @@ -localhost http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/interface/Blur.thrift ---------------------------------------------------------------------- diff --git a/interface/Blur.thrift b/interface/Blur.thrift deleted file mode 100644 index f88dbf2..0000000 --- a/interface/Blur.thrift +++ /dev/null @@ -1,713 +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. - */ - -namespace java org.apache.blur.thrift.generated -namespace rb blur -namespace perl Blur - -/** - * BlurException that carries a message plus the original stack - * trace (if any). - */ -exception BlurException { - /** - * The message in the exception. - */ - 1:string message, - - /** - * The original stack trace (if any). - */ - 2:string stackTraceStr -} - -/** - * The state of a query.<br/><br/> - * RUNNING - Query is running.<br/><br/> - * INTERRUPTED - Query has been interrupted.<br/><br/> - * COMPLETE - Query is complete.<br/> - */ -enum QueryState { - RUNNING, - INTERRUPTED, - COMPLETE -} - -/** - * The fields types. - */ -enum TYPE { - /** - * This type uses the StandardAnalyzer for indexing and stores the value. - */ - TEXT, - - /** - * This type is indexed as a String (Lucene StringField) as provided and stores the value. - * NOTE: The String is not tokenized, so the String is indexed as a single value. - */ - STRING, - - /** - * This type is indexed as an Integer (Lucene IntegerField) as provided and stores the value. - */ - INT, - - /** - * This type is indexed as an Long (Lucene LongField) as provided and stores the value. - */ - LONG, - - /** - * This type is indexed as an Float (Lucene FloatField) as provided and stores the value. - */ - FLOAT, - - /** - * This type is indexed as an Double (Lucene DoubleField) as provided and stores the value. - */ - DOUBLE, - - /** - * This type is NOT indexed but stores the value. - */ - BINARY -} - -enum SortType { - /** - * Sort by document score (relevance). Sort values are Float and higher values are at the front. - */ - SCORE, - - /** - * Sort by document number (index order). Sort values are Integer and lower values are at the front. - */ - DOC, - - /** - * Sort using term values as Strings. Sort values are String and lower values are at the front. - */ - STRING, - - /** - * Sort using term values as encoded Integers. Sort values are Integer and lower values are at the front. - */ - INT, - - /** - * Sort using term values as encoded Floats. Sort values are Float and lower values are at the front. - */ - FLOAT, - - /** - * Sort using term values as encoded Longs. Sort values are Long and lower values are at the front. - */ - LONG, - - /** - * Sort using term values as encoded Doubles. Sort values are Double and lower values are at the front. - */ - DOUBLE, - - /** - * Sort using term values as encoded Shorts. Sort values are Short and lower values are at the front. - */ - SHORT, - - /** - * Sort using term values as encoded Bytes. Sort values are Byte and lower values are at the front. - */ - BYTE, - - /** - * Sort using term values as Strings, but comparing by value (using String.compareTo) for all - * comparisons. This is typically slower than {@link #STRING}, which uses ordinals to do the sorting. - */ - STRING_VAL, - - /** - * Sort use byte[] index values. - */ - BYTES, -} - -/** - * - */ -struct CpuTime { - /** - * - */ - 1:i64 cpuTime, - /** - * - */ - 2:i64 realTime -} - -/** - * - */ -struct QueryStatus { - /** - * - */ - 1:map<string,CpuTime> cpuTimes, - /** - * - */ - 2:i32 completeShards, - /** - * - */ - 3:i32 totalShards, - /** - * - */ - 4:QueryState state, -} - -/** - * - */ -struct TableStats { - /** - * - */ - 1:i64 bytes, - /** - * - */ - 2:i64 documentCount, - /** - * - */ - 3:i64 queries -} - -/** - * - */ -struct LiveSchema { - /** - * - */ - 1:string table, - /** - * - */ - 2:map<string,set<string>> columnFamilies -} - -struct ClassDefinition { - 1:string className, - 2:map<string,binary> arguments -} - -/** - * The analyzer sub type struct holds the sub field name and class definition of - * the sub type. See AnalyzerType for further explanation. - */ -struct AnalyzerSubType { - /** - * The sub field name. - */ - 1:string subFieldName, - - /** - * The class definition that is to be used. - */ - 2:ClassDefinition classDefinition -} - -/** - * The Analyzer struct allows for defining an alternate analyzer class definition - * with optional analyzer sub types. The sub types allow for indexing a single field - * with several different analyzer while only storing the value once. For example, if - * field "name" was a TEXT type the class definition could be set to Lowercase - * analyzer and the analyzer sub types could be set to Keyword (with a sub field name - * of "name.key") and Standard analyzer (with a sub field name of "name.standard"). Then in - * queries the Lowercase analyzer would be used when "name" is referenced, Keyword - * analyzer would be referenced when "name.key" is referenced and Standard analyzer - * would be referenced when "name.standard" is referenced. - */ -struct AnalyzerType { - /** - * The field that this defined type is to operate against. - */ - 1:string fieldName, - /** - * The class definition that is to be used. If this field is null then the - * default behavior of the field is to be used. - */ - 2:ClassDefinition classDefinition, - /** - * The analyzer sub types that should be applied. This can be empty or null. - */ - 3:list<AnalyzerSubType> analyzerSubTypes -} - -/** - * The analyzer allows for defining of alternate analyzers for the given fields. The TYPE - * enum defines the default field types and the default indexing behavior for each. The - * Analyzer struct allows for defining alternate behavior. Such as a field with a TEXT - * type using a Lowercase Analyzer instead of the default StandardAnalyzer. - */ -struct Analyzer { - /** - * The list of AnalyzerTypes. - */ - 1:list<AnalyzerType> analyzerTypes -} - -/** - * - */ -struct TableDescriptor { - /** - * The name of the table. - */ - 1:string name, - - /** - * Is the table enable for queries and updates. - */ - 2:bool enabled = 1, - - /** - * The number of shards in the table. - */ - 3:i32 shardCount = 1, - - /** - * The storage path is a HDFS URI for storing all of the indexes. Any valid HDFS - * URI can be used such as hdfs://hostname/path, or file:///path, etc. - */ - 4:string storagePath, - - /** - * The analyzer definition for this table. If null the default behavior for each - * field will be used. - */ - 5:Analyzer analyzer, - - /** - * This will only allow queries to be executed on the table. The underlying implementation - * does not open the index for writing, but will refresh the index periodically. - */ - 6:bool readOnly = 0, - - /** - * The default field name for any field where the field name is null. - */ - 7:string defaultFieldName = 'body', - - /** - *compressionClass,compressionBlockSize,similarityClass,blockCaching = 1,blockCachingFileTypes,columnPreCache - */ - 8:map<string,string> properties -} - -struct Session { - 1:string sessionId, - 2:string tableName -} - -struct SortField { - 1:string field, - 2:SortType type, - 3:bool reverse -} - -struct Sort { - 1:list<SortField> fields -} - -struct ScoreDoc { - 1:double score, - 2:i64 docLocation, - 4:list<binary> fields -} - -enum QueryType { - STRING,JSON,BINARY -} - -/** - * The Query object describes how the query is passed. If the - * type is STRING or JSON the queryString field is used. If - * the BINARY type is used the queryBinary should be used. - */ -struct Query { - /** - * The query type. - */ - 1:QueryType type, - /** - * The query to be executed. - */ - 2:string queryString, - /** - * The query to be executed. - */ - 3:binary queryBinary -} - -struct QueryArgs { - /** - * Unique id for controlling the given query. - */ - 1:i64 id, - /** - * If after is left null then the first N (where N is numberToFetch) - * ScoreDocs are fetched. If after is not null then the first N - * ScoreDocs are fetched that occur after the given ScoreDoc. - */ - 2:ScoreDoc after, - /** - * The query to be executed. - */ - 3:Query query, - /** - * Filter to be executed. - */ - 4:binary filter, - /** - * The number of document locations to fetch. - */ - 5:i32 numberToFetch = 100, - /** - * If aggregate results is left true then only a single TopFieldDocs - * object will be returned from the search method. It will contain - * only the best documents from the given search with all of the - * shards being sorted and aggregated together. - */ - 6:bool aggregateResults = 1, - /** - * NOT YET IMPLEMENTED. - */ - 7:Sort sort, - /** - * NOT YET IMPLEMENTED. Related to sort. - */ - 8:bool doDocScores = 1, - /** - * Calculate the max score of the search. - */ - 9:bool doMaxScore = 0, - - /** - * Shard indexes allows the user to specify which shards of the table to execute - * the query against. If left null, all the shards of the table are used. - */ - 10:list<i32> shardIndexes -} - -struct TopFieldDocs { - 1:i32 shardIndex, - 2:i64 totalHits, - 3:list<ScoreDoc> scoreDocs, - 4:double maxScore, - 5:list<SortField> fields -} - -/** - * - */ -struct Field { - /** - * The name of the field. - */ - 1:string name, - /** - * The value of the field in binary form. If the value is a string, the string should be in UTF-8 format. - */ - 2:binary value, - /** - * The type of the field, this represents how the data is stored and the default indexing schema for the data. - */ - 3:TYPE type, - /** - * The boost of the field. Default of 1.0 for no change to the boost. - */ - 4:double boost = 1.0 -} - -struct Document { - /** - * This list of fields to be indexed. The same field name can be used across fields and the order of the fields will be maintained. - */ - 1:list<Field> fields -} - -struct Term { - /** - * Field name. - */ - 1:string field, - /** - * Field values. - */ - 2:binary bytes -} - -struct MutateOptions { - /** - * The name of the table. - */ - 1:string table, - /** - * The index of the shard in the table that the mutate will operate against. - */ - 2:i32 shardIndex, - /** - * Setting this to true will cause the mutate call to block until the mutates are visible. - */ - 3:bool waitToBeVisible = 0, - /** - * Whether or not to add this mutation to the write ahead log for recovery of information during a shard server crash. - */ - 4:bool writeAheadLog = 1 -} - -/** - * Contains a the delete term as well as the documents that will be added to the index shard. - */ -struct UpdatePackage { - /** - * The term that will mark old Documents as deleted before adding the documents. - */ - 1:Term term, - /** - * The documents to be updated. - */ - 2:list<Document> documents -} - -/** - * Generation keeps a reference to the Lucene generation where a mutate (add/update/delete) - * was performed. This can be used to wait for that generation to be visible. - */ -struct Generation { - /** - * The table name for this generation. - */ - 1:string table, - /** - * The shard index for this generation. - */ - 2:i32 shardIndex, - /** - * The Lucene generation. - */ - 3:i64 generation -} - -struct ShardLayout { - /** - * The server for this layout. - */ - 1:string server, - /** - * A list of shard ids for the given server. - */ - 2:list<i32> shards -} - -service Blur { - - // Data reading - - /** - * Creating a session snapshots the readers during search and document - * fetching. This provides a static view of the indexes so the document - * ids will remain the same during a session. - * @param table the table name. - * @return the new Session. - */ - Session openReadSession(1:string table) throws (1:BlurException e) - - /** - * Runs a search with the given query arguments. Invalid Sessions will throw a BlurException. - * @param session the Session. - * @param queryArgs the QueryArgs which contains the query, filter, sort, fetch, paging information, etc. - * @return the TopFieldDocs, where there is a TopFieldDocs object for each shard that was search against. - */ - list<TopFieldDocs> search(1:Session session, 2:QueryArgs queryArgs) throws (1:BlurException e) - - /** - * Fetches a document based on the DocLocation list with the fields specified. - * @param session the Session. - * @param docLocations the document locations, which include shard index and document id. - * @param fields the field names to fetch. - * @return the Documents that were requested. - */ - list<Document> doc(1:Session session, 2:list<i64> docLocations, 4:set<string> fields) throws (1:BlurException e) - - /** - * Closes the session and allows the readers to be closed. - * @param session the Session. - */ - void closeReadSession(1:Session session) throws (1:BlurException e) - - // Data mutation - - /** - * Add Documents to the given table in the provided shard. If the table or - * shard is not found on this shard server a BlurException will be thrown. - * @param options the MutateOptions provide the table name, shard index, etc. - * @param documents the documents to be added. NOTE: All documents - * provided to be indexed in a single segment. - */ - list<Generation> addDocuments(1:MutateOptions options, 2:list<Document> documents) throws (1:BlurException e) - - /** - * Delete Documents to the given table in the provided shard. If the table - * or shard is not found on this shard server a BlurException will be thrown. - * @param options the MutateOptions provide the table name, shard index, etc. - * @param queries the Queries that will executed and mark there resulting documents as deleted. - */ - list<Generation> deleteDocumentsByQueries(1:MutateOptions options, 2:list<Query> queries) throws (1:BlurException e) - - /** - * Delete Documents to the given table in the provided shard. If the table - * or shard is not found on this shard server a BlurException will be thrown. - * @param options the MutateOptions provide the table name, shard index, etc. - * @param queries the Terms that will be found and mark deleted all the documents to be deleted. - */ - list<Generation> deleteDocuments(1:MutateOptions options, 2:list<Term> terms) throws (1:BlurException e) - - /** - * Update Documents to the given table in the provided shard. If the table - * or shard is not found on this shard server a BlurException will be thrown. - * @param options the MutateOptions provide the table name, shard index, etc. - * @param updatePackages the documents to be updated. NOTE: All documents - * within a update document object are indexed in a single segment. - */ - list<Generation> updateDocuments(1:MutateOptions options, 2:list<UpdatePackage> updatePackages) throws (1:BlurException e) - - /** - * This method blocks until all the given generations are visible for reading. - * @param generations the list of Generation objects. - * @param forceRefresh forces a refresh of the indexes if true, if false will - * block until natural refresh occurs. - */ - void blockUntilGenerationIsVisible(1:list<Generation> generations, 2:bool forceRefresh) throws (1:BlurException e) - - // Cluster state. - - /** - * Returns a list of all current running servers. - * @return list of servers, e.g. node1:40020. - */ - list<string> serverList() throws (1:BlurException ex) - - /** - * Gets a list shard ids for the given server and table. - * @param table the table name. - * @param server the server name, e.g. node1:40020 - * @return list of shard ids. - */ - list<i32> serverLayout(1:string table, 2:string server) throws (1:BlurException ex) - - /** - * Gets the shard layout for each server in the cluster for the given table. - * @param table the table name. - * @return map of servers to shard layout object. - */ - map<string,ShardLayout> shardLayout(1:string table) throws (1:BlurException ex) - - /** - * Gets a list of the table names. - * @return list of table names. - */ - list<string> tableList() throws (1:BlurException ex) - - /** - * Is cluster in safe mode. - * @return safe mode boolean. - */ - bool isInSafeMode() throws (1:BlurException ex) - - // Table admin - - /** - * Create a table with the given table descriptor. - * @param tableDescriptor the TableDescriptor. - */ - void createTable(1:TableDescriptor tableDescriptor) throws (1:BlurException ex) - - /** - * Enables a table with the given table name. - * @param table the table name. - */ - void enableTable(1:string table) throws (1:BlurException ex) - - /** - * Disables a table with the given table name. - * @param table the table name. - */ - void disableTable(1:string table) throws (1:BlurException ex) - - /** - * Removes a table with the given table name. - * @param table the table name. - * @param deleteIndexFiles boolean, whether or not to remove the indexes from the HDFS system. - */ - void removeTable(1:string table, 2:bool deleteIndexFiles) throws (1:BlurException ex) - - /** - * Returns a table descriptor for the given table. - * @param table the table name. - */ - TableDescriptor describe(1:string table) throws (1:BlurException ex) - - // Query status - - /** - * Cancels a query that is executing against the given table with the given uuid. - * NOTE, the cancel call maybe take some time for the query actually stops executing. - * @param table the table name. - * @param uuid the uuid of the query. - */ - void cancelQuery(1:Session session, 2:i64 id) throws (1:BlurException ex) - - /** - * Returns a list of the query ids of queries that have recently been executed for the given table. - * @param table the table name. - * @return the uuids of the query status objects. - */ - list<i64> queryStatusIdList(1:Session session) throws (1:BlurException ex) - - /** - * Returns the query status for the given table and query uuid. - * @param table the table name. - * @param uuid the uuid of the query. - * @return the query status for the given. - */ - QueryStatus queryStatus(1:Session session, 2:i64 id) throws (1:BlurException ex) - - //TODO - LiveSchema schema(1:string table) throws (1:BlurException ex) - - //TODO - TableStats tableStats(1:string table) throws (1:BlurException ex) - -} - - http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/70b69ecb/interface/apache.header ---------------------------------------------------------------------- diff --git a/interface/apache.header b/interface/apache.header deleted file mode 100644 index 3d296de..0000000 --- a/interface/apache.header +++ /dev/null @@ -1,19 +0,0 @@ -package org.apache.blur.thrift.generated; - -/** - * 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. - */ -
