Skip to content
This repository was archived by the owner on Jan 20, 2022. It is now read-only.

Commit c28db7f

Browse files
author
Joe Nievelt
committed
Merge branch 'release/0.7.0'
2 parents d04f401 + 1ccaedc commit c28db7f

File tree

47 files changed

+677
-293
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+677
-293
lines changed

.travis.yml

Lines changed: 70 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,73 @@
1+
#test execution script.
2+
13
language: scala
4+
sudo: false
5+
before_install: umask 0022
26
scala:
3-
- 2.10.4
7+
- 2.10.5
48
script:
5-
- "sbt -Dlog4j.configuration=file://$TRAVIS_BUILD_DIR/project/travis-log4j.properties ++$TRAVIS_SCALA_VERSION test"
6-
- "sbt -Dlog4j.configuration=file://$TRAVIS_BUILD_DIR/project/travis-log4j.properties ++$TRAVIS_SCALA_VERSION publish-local"
9+
- "echo no op"
10+
11+
matrix:
12+
include:
13+
#BASE TESTS
14+
- scala: 2.10.5
15+
env: BUILD="base" TEST_TARGET="summingbird-batch"
16+
script: "scripts/run_tests.sh"
17+
18+
- scala: 2.10.5
19+
env: BUILD="base" TEST_TARGET="summingbird-batch-hadoop"
20+
script: "scripts/run_tests.sh"
21+
22+
- scala: 2.10.5
23+
env: BUILD="base" TEST_TARGET="summingbird-builder"
24+
script: "scripts/run_tests.sh"
25+
26+
- scala: 2.10.5
27+
env: BUILD="base" TEST_TARGET="summingbird-chill"
28+
script: "scripts/run_tests.sh"
29+
30+
- scala: 2.10.5
31+
env: BUILD="base" TEST_TARGET="summingbird-core"
32+
script: "scripts/run_tests.sh"
33+
34+
- scala: 2.10.5
35+
env: BUILD="base" TEST_TARGET="summingbird-core-java"
36+
script: "scripts/run_tests.sh"
37+
38+
# - scala: 2.10.5
39+
# env: BUILD="base" TEST_TARGET="summingbird-core-test"
40+
# script: "scripts/run_tests.sh"
41+
42+
- scala: 2.10.5
43+
env: BUILD="base" TEST_TARGET="summingbird-example"
44+
script: "scripts/run_tests.sh"
45+
46+
- scala: 2.10.5
47+
env: BUILD="base" TEST_TARGET="summingbird-online"
48+
script: "scripts/run_tests.sh"
49+
50+
- scala: 2.10.5
51+
env: BUILD="base" TEST_TARGET="summingbird-scalding"
52+
script: "scripts/run_tests.sh"
53+
54+
- scala: 2.10.5
55+
env: BUILD="base" TEST_TARGET="summingbird-scalding-test"
56+
script: "scripts/run_tests.sh"
57+
58+
- scala: 2.10.5
59+
env: BUILD="base" TEST_TARGET="summingbird-spark"
60+
script: "scripts/run_tests.sh"
61+
62+
- scala: 2.10.5
63+
env: BUILD="base" TEST_TARGET="summingbird-storm"
64+
script: "scripts/run_tests.sh"
65+
66+
- scala: 2.10.5
67+
env: BUILD="base" TEST_TARGET="summingbird-storm-java"
68+
script: "scripts/run_tests.sh"
69+
70+
- scala: 2.10.5
71+
env: BUILD="base" TEST_TARGET="summingbird-storm-test"
72+
script: "scripts/run_tests.sh"
73+

CHANGES.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Summingbird #
22

3+
## 0.7.0
4+
* Registering summingbird counters with tormenta spouts #553
5+
* Add counters to default summers #571
6+
* Fixes the types off the summingbird java storm api #601
7+
* Adding explicit hadoop deps; dfs-datastores to 1.3.6 #592
8+
* Replace deprecated ClassManifest and erasure #608
9+
* Spark monad #607
10+
* replace deprecated erasure by runtimeClass #609
11+
* Revert "Remove StripNameNodes" #610
12+
* refactored core-tests into separate sub-project #593
13+
* Fix checking delta batch in readDeltaTimestamps in batched store when merging #612
14+
* ensure at least one batch before merging #613
15+
* MergeableStoreFactory extends java.io.Serializable #616
16+
* Spout storm metrics foreach #617
17+
* upgrade scalacheck #615
18+
* Use latest bijection, algebird, scalding, storehaus, chill, and tormenta
19+
320
## 0.6.0
421
* Use latest bijection, algebird, scalding, storehaus, chill, and tormenta https://github.com/twitter/summingbird/pull/565
522
* Remove scala 2.9 support https://github.com/twitter/summingbird/pull/565

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ Please feel free to use the beautiful [Summingbird logo](https://drive.google.co
108108

109109
## Maven
110110

111-
Summingbird modules are published on maven central. The current groupid and version for all modules is, respectively, `"com.twitter"` and `0.4.2`.
111+
Summingbird modules are published on maven central. The current groupid and version for all modules is, respectively, `"com.twitter"` and `0.7.0`.
112112

113113
Current published artifacts are
114114

project/Build.scala

Lines changed: 47 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,36 +19,38 @@ object SummingbirdBuild extends Build {
1919

2020
def isScala210x(scalaVersion: String) = scalaBinaryVersion(scalaVersion) == "2.10"
2121

22-
val scalaTestVersion = "2.2.2"
23-
val scalaCheckVersion = "1.11.5"
22+
val scalaCheckVersion = "1.12.2"
2423
val hadoopVersion = "1.2.1"
25-
val algebirdVersion = "0.9.0"
26-
val bijectionVersion = "0.7.2"
27-
val chillVersion = "0.5.2"
24+
val algebirdVersion = "0.10.0"
25+
val bijectionVersion = "0.8.0"
26+
val chillVersion = "0.6.0"
2827
val slf4jVersion = "1.6.6"
2928
val parquetVersion = "1.6.0rc4"
3029

31-
val dfsDatastoresVersion = "1.3.4"
32-
val scaldingVersion = "0.13.1"
33-
val storehausVersion = "0.10.0"
30+
val dfsDatastoresVersion = "1.3.6"
31+
val scaldingVersion = "0.14.0"
32+
val storehausVersion = "0.11.0"
3433
val utilVersion = "6.3.8"
3534

3635
val finagleVersion = "6.12.2"
37-
val tormentaVersion = "0.9.0"
36+
val tormentaVersion = "0.10.0"
3837
val junitVersion = "4.11"
3938
val log4jVersion = "1.2.16"
4039
val stormVersion = "0.9.0-wip15"
4140
val commonsLangVersion = "2.6"
4241
val novocodeJunitVersion = "0.10"
4342
val specs2Version = "1.13"
4443

44+
val sparkCoreVersion ="1.2.0"
45+
val commonsHttpClientVersion = "3.1"
46+
4547
val extraSettings = Project.defaultSettings ++ mimaDefaultSettings ++ scalariformSettings
4648

4749
val sharedSettings = extraSettings ++ Seq(
4850
organization := "com.twitter",
49-
version := "0.6.0",
50-
scalaVersion := "2.10.4",
51-
crossScalaVersions := Seq("2.10.4"),
51+
version := "0.7.0",
52+
scalaVersion := "2.10.5",
53+
crossScalaVersions := Seq("2.10.5"),
5254
// To support hadoop 1.x
5355
javacOptions ++= Seq("-source", "1.6", "-target", "1.6"),
5456

@@ -66,7 +68,7 @@ object SummingbirdBuild extends Build {
6668
// These satisify's scaldings log4j needs when in test mode
6769
"log4j" % "log4j" % log4jVersion % "test",
6870
"com.novocode" % "junit-interface" % novocodeJunitVersion % "test",
69-
"org.specs2" %% "specs2" % "1.13" % "test"
71+
"org.specs2" %% "specs2" % specs2Version % "test"
7072
),
7173

7274
resolvers ++= Seq(
@@ -166,10 +168,10 @@ object SummingbirdBuild extends Build {
166168
summingbirdSpark,
167169
summingbirdBuilder,
168170
summingbirdChill,
169-
summingbirdExample
171+
summingbirdExample,
172+
summingbirdCoreTest
170173
)
171174

172-
173175
/**
174176
* This returns the youngest jar we released that is compatible with
175177
* the current.
@@ -179,7 +181,7 @@ object SummingbirdBuild extends Build {
179181
def youngestForwardCompatible(subProj: String) =
180182
Some(subProj)
181183
.filterNot(unreleasedModules.contains(_))
182-
.map { s => "com.twitter" % ("summingbird-" + s + "_2.10") % "0.6.0" }
184+
.map { s => "com.twitter" % ("summingbird-" + s + "_2.10") % "0.7.0" }
183185

184186
def module(name: String) = {
185187
val id = "summingbird-%s".format(name)
@@ -241,6 +243,7 @@ object SummingbirdBuild extends Build {
241243
)
242244
).dependsOn(
243245
summingbirdCore % "test->test;compile->compile",
246+
summingbirdCoreTest % "test->test",
244247
summingbirdBatch,
245248
summingbirdClient
246249
)
@@ -280,6 +283,7 @@ object SummingbirdBuild extends Build {
280283
)
281284
).dependsOn(
282285
summingbirdCore % "test->test;compile->compile",
286+
summingbirdCoreTest % "test->test",
283287
summingbirdStorm
284288
)
285289

@@ -305,7 +309,8 @@ object SummingbirdBuild extends Build {
305309
"com.twitter" %% "chill-bijection" % chillVersion,
306310
"commons-lang" % "commons-lang" % commonsLangVersion,
307311
"com.twitter" %% "scalding-core" % scaldingVersion,
308-
"com.twitter" %% "scalding-commons" % scaldingVersion
312+
"com.twitter" %% "scalding-commons" % scaldingVersion,
313+
"org.apache.hadoop" % "hadoop-core" % hadoopVersion % "provided"
309314
)
310315
).dependsOn(
311316
summingbirdCore % "test->test;compile->compile",
@@ -317,10 +322,12 @@ object SummingbirdBuild extends Build {
317322
lazy val summingbirdScaldingTest = module("scalding-test").settings(
318323
libraryDependencies ++= Seq(
319324
"org.scalacheck" %% "scalacheck" % scalaCheckVersion,
320-
"org.slf4j" % "slf4j-log4j12" % slf4jVersion % "test"
325+
"org.slf4j" % "slf4j-log4j12" % slf4jVersion % "test",
326+
"org.apache.hadoop" % "hadoop-core" % hadoopVersion % "provided"
321327
)
322328
).dependsOn(
323329
summingbirdCore % "test->test;compile->compile",
330+
summingbirdCoreTest % "test->test",
324331
summingbirdChill,
325332
summingbirdBatchHadoop,
326333
summingbirdScalding
@@ -332,7 +339,8 @@ object SummingbirdBuild extends Build {
332339
"com.twitter" %% "algebird-core" % algebirdVersion,
333340
"com.twitter" %% "bijection-json" % bijectionVersion,
334341
"com.twitter" %% "scalding-date" % scaldingVersion,
335-
"org.slf4j" % "slf4j-log4j12" % slf4jVersion % "test"
342+
"org.slf4j" % "slf4j-log4j12" % slf4jVersion % "test",
343+
"org.apache.hadoop" % "hadoop-core" % hadoopVersion % "provided"
336344
)
337345
).dependsOn(
338346
summingbirdCore % "test->test;compile->compile",
@@ -341,7 +349,8 @@ object SummingbirdBuild extends Build {
341349

342350
lazy val summingbirdBuilder = module("builder").settings(
343351
libraryDependencies ++= Seq(
344-
"storm" % "storm" % stormVersion % "provided"
352+
"storm" % "storm" % stormVersion % "provided",
353+
"org.apache.hadoop" % "hadoop-core" % hadoopVersion % "provided"
345354
)
346355
).dependsOn(
347356
summingbirdCore,
@@ -356,7 +365,7 @@ object SummingbirdBuild extends Build {
356365
"storm" % "storm" % stormVersion exclude("org.slf4j", "log4j-over-slf4j") exclude("ch.qos.logback", "logback-classic"),
357366
"com.twitter" %% "bijection-netty" % bijectionVersion,
358367
"com.twitter" %% "tormenta-twitter" % tormentaVersion,
359-
"com.twitter" %% "storehaus-memcache" % storehausVersion,
368+
"com.twitter" %% "storehaus-memcache" % storehausVersion exclude("com.twitter.common", "dynamic-host-set") exclude("com.twitter.common", "service-thrift"),
360369
"org.slf4j" % "slf4j-log4j12" % slf4jVersion % "test"
361370
)
362371
).dependsOn(summingbirdCore, summingbirdCoreJava, summingbirdStorm, summingbirdStormJava)
@@ -377,6 +386,7 @@ object SummingbirdBuild extends Build {
377386
}
378387
}
379388

389+
380390
val sparkDeps = Seq(
381391
"com.twitter" %% "algebird-core" % algebirdVersion,
382392
"com.twitter" %% "algebird-util" % algebirdVersion,
@@ -385,9 +395,9 @@ object SummingbirdBuild extends Build {
385395
"com.twitter" %% "chill" % chillVersion,
386396
"com.twitter" % "chill-hadoop" % chillVersion,
387397
"com.twitter" %% "chill-bijection" % chillVersion,
388-
"commons-lang" % "commons-lang" % "2.6",
389-
"commons-httpclient" % "commons-httpclient" % "3.1",
390-
"org.apache.spark" %% "spark-core" % "0.9.0-incubating" % "provided"
398+
"commons-lang" % "commons-lang" % commonsLangVersion,
399+
"commons-httpclient" % "commons-httpclient" % commonsHttpClientVersion,
400+
"org.apache.spark" %% "spark-core" % sparkCoreVersion % "provided"
391401
)
392402

393403
def buildSparkDeps(scalaVersion: String) = if (isScala210x(scalaVersion)) sparkDeps else Seq()
@@ -403,6 +413,19 @@ object SummingbirdBuild extends Build {
403413
.settings(sparkAssemblyMergeSettings:_*)
404414
.dependsOn(
405415
summingbirdCore % "test->test;compile->compile",
416+
summingbirdCoreTest % "test->test",
406417
summingbirdChill
407418
)
419+
420+
lazy val summingbirdCoreTest = module("core-test").settings(
421+
parallelExecution in Test := false,
422+
libraryDependencies ++=Seq(
423+
"junit" % "junit" % junitVersion % "provided",
424+
"org.slf4j" % "slf4j-api" % slf4jVersion % "provided",
425+
"org.scalacheck" %% "scalacheck" % scalaCheckVersion % "provided",
426+
"org.specs2" %% "specs2" % specs2Version % "provided")
427+
428+
).dependsOn(
429+
summingbirdCore % "test->test;compile->compile"
430+
)
408431
}

sbt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ declare -r default_jvm_opts="-Dfile.encoding=UTF8 -XX:MaxPermSize=384m -Xms512m
126126
declare -r noshare_opts="-Dsbt.global.base=project/.sbtboot -Dsbt.boot.directory=project/.boot -Dsbt.ivy.home=project/.ivy"
127127
declare -r latest_28="2.8.2"
128128
declare -r latest_29="2.9.3"
129-
declare -r latest_210="2.10.3"
130-
declare -r latest_211="2.11.0-M5"
129+
declare -r latest_210="2.10.5"
130+
declare -r latest_211="2.11.5"
131131

132132
declare -r script_path=$(get_script_path "$BASH_SOURCE")
133133
declare -r script_dir="$(dirname $script_path)"

scripts/run_tests.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )"
2+
cd $BASE_DIR
3+
echo "$BASE_DIR"
4+
bash -c "while true; do echo -n .; sleep 5; done" &
5+
PROGRESS_REPORTER_PID=$!
6+
time ./sbt ++$TRAVIS_SCALA_VERSION $TEST_TARGET/compile $TEST_TARGET/test:compile &> /dev/null
7+
kill -9 $PROGRESS_REPORTER_PID
8+
9+
export JVM_OPTS="-XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:ReservedCodeCacheSize=96m -XX:+TieredCompilation -XX:MaxPermSize=128m -Xms512m -Xmx2048m -Xss2m"
10+
11+
./sbt -Dlog4j.configuration=file://$TRAVIS_BUILD_DIR/project/travis-log4j.properties ++$TRAVIS_SCALA_VERSION $TEST_TARGET/test

summingbird-batch/src/test/scala/com/twitter/summingbird/batch/BatchLaws.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ limitations under the License.
1616

1717
package com.twitter.summingbird.batch
1818

19-
import org.scalacheck.{ Arbitrary, Properties }
19+
import org.scalacheck.{ Arbitrary, Gen, Properties }
2020
import org.scalacheck.Prop._
2121

2222
import java.util.concurrent.TimeUnit
@@ -51,8 +51,9 @@ object BatchLaws extends Properties("BatchID") {
5151
}
5252

5353
property("range, toInterval and toIterable should be equivalent") =
54-
forAll { (b1: BatchID, diff: SmallLong) =>
55-
val b2 = b1 + (diff.get)
54+
forAll(Arbitrary.arbitrary[BatchID], Gen.choose(0L, 1000L)) { (b1: BatchID, diff: Long) =>
55+
// We can't enumerate too much:
56+
val b2 = b1 + diff
5657
val interval = Interval.leftClosedRightOpen(b1, b2.next) match {
5758
case Left(i) => i
5859
case Right(i) => i

summingbird-builder/src/main/scala/com/twitter/summingbird/Env.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ object Env {
5151
}
5252

5353
def main(inargs: Array[String]) {
54-
Env(inargs).run
54+
Env(inargs).run()
5555
}
5656
}
5757

@@ -64,5 +64,5 @@ abstract class Env(val jobName: String) extends java.io.Serializable {
6464

6565
// This is where the builder is actually populated.
6666
protected def abstractJob: AbstractJob = AbstractJob(jobName, this)
67-
def run: Unit
67+
def run(): Unit
6868
}

summingbird-builder/src/main/scala/com/twitter/summingbird/builder/CompletedBuilder.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ import java.io.Serializable
3636

3737
object CompletedBuilder {
3838
def injectionRegistrar[T: Manifest](injection: Injection[T, Array[Byte]]) =
39-
InjectionRegistrar(manifest[T].erasure.asInstanceOf[Class[T]], injection)
39+
InjectionRegistrar(manifest[T].runtimeClass.asInstanceOf[Class[T]], injection)
4040

4141
def injectionDefaultRegistrar[T: Manifest](injection: Injection[T, Array[Byte]]) =
42-
InjectionDefaultRegistrar(manifest[T].erasure.asInstanceOf[Class[T]], injection)
42+
InjectionDefaultRegistrar(manifest[T].runtimeClass.asInstanceOf[Class[T]], injection)
4343
}
4444

4545
case class CompletedBuilder[P <: Platform[P], K, V](

summingbird-builder/src/main/scala/com/twitter/summingbird/scalding/ScaldingEnv.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ case class ScaldingEnv(override val jobName: String, inargs: Array[String])
137137
Built(scald, toRun, stateFn)
138138
}
139139

140-
def run = run(build)
140+
def run() = run(build)
141141

142142
def run(b: Built) {
143143
val Built(scald, toRun, stateFn) = b

0 commit comments

Comments
 (0)