From 5e8c0bd68cebc9da1962cffd6289e06e15259d75 Mon Sep 17 00:00:00 2001 From: Hyunsik Choi Date: Fri, 9 May 2014 11:23:52 +0900 Subject: [PATCH] TAJO-814: Set up Travis CI builds. Fixes #8. --- .travis.yml | 33 ++++++++++++++++ CHANGES | 4 +- dev-support/travis-install-dependencies.sh | 39 +++++++++++++++++++ .../src/test/resources/log4j.properties | 2 +- .../src/main/resources/log4j.properties | 4 +- tajo-common/src/main/java/log4j.properties | 2 +- tajo-common/src/test/java/log4j.properties | 2 +- tajo-core/src/main/java/log4j.properties | 4 +- .../rewrite/BasicQueryRewriteEngine.java | 4 +- .../rewrite/ProjectionPushDownRule.java | 1 - .../org/apache/tajo/master/GlobalEngine.java | 8 ++-- tajo-core/src/main/resources/log4j.properties | 4 +- tajo-core/src/test/java/log4j.properties | 4 +- tajo-core/src/test/resources/log4j.properties | 4 +- tajo-jdbc/src/main/resources/log4j.properties | 4 +- tajo-rpc/src/test/java/log4j.properties | 2 +- .../org/apache/tajo/storage/v2/DiskUtil.java | 2 +- .../apache/tajo/storage/v2/ScanScheduler.java | 3 ++ 18 files changed, 103 insertions(+), 23 deletions(-) create mode 100644 .travis.yml create mode 100755 dev-support/travis-install-dependencies.sh diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..e509f809d8 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,33 @@ +# 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. + +language: java + +git: + depth: 150 + +jdk: + - openjdk6 + +env: PATH=$PATH:$HOME/local/bin + +cache: + directories: + - $HOME/.m2 + - $HOME/local + +install: ./dev-support/travis-install-dependencies.sh + +script: mvn clean install -Phcatalog-0.12.0 -q | grep -v 'INFO:' diff --git a/CHANGES b/CHANGES index abd5a9f0eb..4c71474ffb 100644 --- a/CHANGES +++ b/CHANGES @@ -58,8 +58,10 @@ Release 0.9.0 - unreleased TASKS + TAJO-814: Set up Travis CI builds. (hyunsik) + TAJO-820: Add missing license header to 0.8.0 release announcement. - (hyunsik) + (hyunsik) TAJO-810: TAJO-810: Update Tajo site for 0.8.0 release. (hyunsik) diff --git a/dev-support/travis-install-dependencies.sh b/dev-support/travis-install-dependencies.sh new file mode 100755 index 0000000000..2f77ffad6a --- /dev/null +++ b/dev-support/travis-install-dependencies.sh @@ -0,0 +1,39 @@ +#!/bin/bash -x + +# 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. + +PROTOBUF_VERSION=2.5.0 +INSTALL=${HOME}/local + +if [ ! -d ${INSTALL} ]; then + echo "mkdir -p ${INSTALL}" + mkdir -p ${INSTALL} +fi + +if [ ! -f ${INSTALL}/bin/protoc ]; then + cd ${INSTALL} + echo "Fetching protobuf" + N="protobuf-${PROTOBUF_VERSION}" + wget -q https://protobuf.googlecode.com/files/${N}.tar.gz + tar -xzvf ${N}.tar.gz > /dev/null + rm ${N}.tar.gz + + echo "Building protobuf" + cd ${N} + ./configure --with-pic --prefix=${INSTALL} --with-gflags=${INSTALL} > /dev/null + make -j4 install > /dev/null +fi diff --git a/tajo-catalog/tajo-catalog-server/src/test/resources/log4j.properties b/tajo-catalog/tajo-catalog-server/src/test/resources/log4j.properties index 2b429757ad..237ceafb16 100644 --- a/tajo-catalog/tajo-catalog-server/src/test/resources/log4j.properties +++ b/tajo-catalog/tajo-catalog-server/src/test/resources/log4j.properties @@ -22,4 +22,4 @@ log4j.rootLogger=info,stdout log4j.threshhold=INFO log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p: %c (%M(%L)) - %m%n diff --git a/tajo-client/src/main/resources/log4j.properties b/tajo-client/src/main/resources/log4j.properties index 11d9ad2d10..ef171971b7 100644 --- a/tajo-client/src/main/resources/log4j.properties +++ b/tajo-client/src/main/resources/log4j.properties @@ -22,6 +22,6 @@ log4j.rootLogger=info,stdout log4j.threshhold=INFO log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p: %c (%M(%L)) - %m%n -log4j.logger.org.apache.tajo.cli=FATAL \ No newline at end of file +log4j.logger.org.apache.tajo.cli=FATAL diff --git a/tajo-common/src/main/java/log4j.properties b/tajo-common/src/main/java/log4j.properties index 29cb6a84c0..8af8ce352e 100644 --- a/tajo-common/src/main/java/log4j.properties +++ b/tajo-common/src/main/java/log4j.properties @@ -16,4 +16,4 @@ log4j.rootLogger=info,stdout log4j.threshhold=ALL log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p: %c (%M(%L)) - %m%n diff --git a/tajo-common/src/test/java/log4j.properties b/tajo-common/src/test/java/log4j.properties index c1ac487c43..2c4d99161b 100644 --- a/tajo-common/src/test/java/log4j.properties +++ b/tajo-common/src/test/java/log4j.properties @@ -22,4 +22,4 @@ log4j.rootLogger=info,stdout log4j.threshhold=ALL log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p: %c (%M(%L)) - %m%n diff --git a/tajo-core/src/main/java/log4j.properties b/tajo-core/src/main/java/log4j.properties index 15e5778d2b..3f43f8f852 100644 --- a/tajo-core/src/main/java/log4j.properties +++ b/tajo-core/src/main/java/log4j.properties @@ -22,9 +22,9 @@ log4j.rootLogger=info,stdout,EventCounter log4j.threshhold=ALL log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p: %c (%M(%L)) - %m%n log4j.logger.org.apache.hadoop=WARN log4j.logger.org.apache.hadoop.conf=ERROR -log4j.appender.EventCounter=org.apache.tajo.util.metrics.TajoLogEventCounter \ No newline at end of file +log4j.appender.EventCounter=org.apache.tajo.util.metrics.TajoLogEventCounter diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/rewrite/BasicQueryRewriteEngine.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/rewrite/BasicQueryRewriteEngine.java index 3b4b712f89..6b3ed1e80f 100644 --- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/rewrite/BasicQueryRewriteEngine.java +++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/rewrite/BasicQueryRewriteEngine.java @@ -61,7 +61,9 @@ public LogicalPlan rewrite(LogicalPlan plan) throws PlanningException { rule = rewriteRule.getValue(); if (rule.isEligible(plan)) { plan = rule.rewrite(plan); - LOG.info("The rule \"" + rule.getName() + " \" rewrites the query."); + if (LOG.isDebugEnabled()) { + LOG.debug("The rule \"" + rule.getName() + " \" rewrites the query."); + } } } diff --git a/tajo-core/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java b/tajo-core/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java index 668ed689ec..c21c0871c8 100644 --- a/tajo-core/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java +++ b/tajo-core/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java @@ -55,7 +55,6 @@ public boolean isEligible(LogicalPlan plan) { LogicalNode toBeOptimized = plan.getRootBlock().getRoot(); if (PlannerUtil.checkIfDDLPlan(toBeOptimized) || !plan.getRootBlock().hasTableExpression()) { - LOG.info("This query skips the logical optimization step."); return false; } diff --git a/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java b/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java index c87ad84064..4155609793 100644 --- a/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java +++ b/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java @@ -339,9 +339,11 @@ private LogicalPlan createLogicalPlan(Session session, Expr expression) throws P } LogicalPlan plan = planner.createPlan(session, expression); - LOG.info("============================================="); - LOG.info("Non Optimized Query: \n" + plan.toString()); - LOG.info("============================================="); + if (LOG.isDebugEnabled()) { + LOG.debug("============================================="); + LOG.debug("Non Optimized Query: \n" + plan.toString()); + LOG.debug("============================================="); + } optimizer.optimize(plan); LOG.info("============================================="); LOG.info("Optimized Query: \n" + plan.toString()); diff --git a/tajo-core/src/main/resources/log4j.properties b/tajo-core/src/main/resources/log4j.properties index 007c8f53d5..772763e36b 100644 --- a/tajo-core/src/main/resources/log4j.properties +++ b/tajo-core/src/main/resources/log4j.properties @@ -22,7 +22,7 @@ log4j.rootLogger=info,stdout log4j.threshhold=INFO log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p: %c (%M(%L)) - %m%n log4j.logger.org.apache.hadoop=WARN -log4j.logger.org.apache.hadoop.conf=ERROR \ No newline at end of file +log4j.logger.org.apache.hadoop.conf=ERROR diff --git a/tajo-core/src/test/java/log4j.properties b/tajo-core/src/test/java/log4j.properties index 749124c306..48f9d8e609 100644 --- a/tajo-core/src/test/java/log4j.properties +++ b/tajo-core/src/test/java/log4j.properties @@ -22,7 +22,7 @@ log4j.rootLogger=info,stdout log4j.threshhold=ALL log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p: %c (%M(%L)) - %m%n log4j.logger.org.apache.hadoop=WARN -log4j.logger.org.apache.hadoop.conf=ERROR \ No newline at end of file +log4j.logger.org.apache.hadoop.conf=ERROR diff --git a/tajo-core/src/test/resources/log4j.properties b/tajo-core/src/test/resources/log4j.properties index 145703c82b..307608ecd2 100644 --- a/tajo-core/src/test/resources/log4j.properties +++ b/tajo-core/src/test/resources/log4j.properties @@ -22,7 +22,7 @@ log4j.rootLogger=info,stdout log4j.threshhold=INFO log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p: %c (%M(%L)) - %m%n -log4j.logger.org.apache.hadoop=WARN \ No newline at end of file +log4j.logger.org.apache.hadoop=WARN diff --git a/tajo-jdbc/src/main/resources/log4j.properties b/tajo-jdbc/src/main/resources/log4j.properties index 606f2d49dc..8f74c4993f 100644 --- a/tajo-jdbc/src/main/resources/log4j.properties +++ b/tajo-jdbc/src/main/resources/log4j.properties @@ -22,6 +22,6 @@ log4j.rootLogger=info,stdout log4j.threshhold=INFO log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p: %c (%M(%L)) - %m%n -log4j.logger.org.apache.tajo.jdbc=FATAL \ No newline at end of file +log4j.logger.org.apache.tajo.jdbc=FATAL diff --git a/tajo-rpc/src/test/java/log4j.properties b/tajo-rpc/src/test/java/log4j.properties index c1ac487c43..2c4d99161b 100644 --- a/tajo-rpc/src/test/java/log4j.properties +++ b/tajo-rpc/src/test/java/log4j.properties @@ -22,4 +22,4 @@ log4j.rootLogger=info,stdout log4j.threshhold=ALL log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p: %c (%M(%L)) - %m%n diff --git a/tajo-storage/src/main/java/org/apache/tajo/storage/v2/DiskUtil.java b/tajo-storage/src/main/java/org/apache/tajo/storage/v2/DiskUtil.java index d5873bb3ce..66827c2649 100644 --- a/tajo-storage/src/main/java/org/apache/tajo/storage/v2/DiskUtil.java +++ b/tajo-storage/src/main/java/org/apache/tajo/storage/v2/DiskUtil.java @@ -133,7 +133,7 @@ private static String getDiskDeviceName(String partitionName) { return new String(result, 0, length); } - private static List getDefaultDiskDeviceInfos() { + public static List getDefaultDiskDeviceInfos() { DiskDeviceInfo diskDeviceInfo = new DiskDeviceInfo(0); diskDeviceInfo.setName("default"); diff --git a/tajo-storage/src/main/java/org/apache/tajo/storage/v2/ScanScheduler.java b/tajo-storage/src/main/java/org/apache/tajo/storage/v2/ScanScheduler.java index 71c4d93702..fe852a0fc7 100644 --- a/tajo-storage/src/main/java/org/apache/tajo/storage/v2/ScanScheduler.java +++ b/tajo-storage/src/main/java/org/apache/tajo/storage/v2/ScanScheduler.java @@ -53,6 +53,9 @@ public ScanScheduler(StorgaeManagerContext context) { try { List deviceInfos = DiskUtil.getDiskDeviceInfos(); + if (deviceInfos.size() == 0) { + deviceInfos = DiskUtil.getDefaultDiskDeviceInfos(); + } for(DiskDeviceInfo eachInfo: deviceInfos) { LOG.info("Create DiskScanQueue:" + eachInfo.getName()); diskDeviceInfoMap.put(eachInfo.getId(), eachInfo);