aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn St. John <jstjohn@users.noreply.github.com>2017-09-27 12:18:32 -0700
committerGitHub <noreply@github.com>2017-09-27 12:18:32 -0700
commitc9ccc77bcfe434716562ce19838e991025dbe7cc (patch)
tree3863b7945569c12764eb216287a14f8c323f25ab
parentf384bfcf0870c3881a3a4c6afb6eca9baf163077 (diff)
parentc609f18cb0cd209427b4e9c10a507cfa5ed4ea9e (diff)
downloaddriver-core-c9ccc77bcfe434716562ce19838e991025dbe7cc.tar.gz
driver-core-c9ccc77bcfe434716562ce19838e991025dbe7cc.tar.bz2
driver-core-c9ccc77bcfe434716562ce19838e991025dbe7cc.zip
Merge pull request #69 from drivergroup/jstjohn/fix_2_11_compatibility_errorv1.2.1
2_11 does not support .fold on Trys
-rw-r--r--.travis.yml4
-rw-r--r--src/main/scala/xyz/driver/core/trace/ExceptionLoggingSizedBufferingTraceConsumer.scala17
2 files changed, 15 insertions, 6 deletions
diff --git a/.travis.yml b/.travis.yml
index 6155e77..fc17a05 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,6 +4,6 @@ jdk:
- oraclejdk8
scala:
- - 2.11.8
+ - 2.12.3
-script: "sbt clean test"
+script: "sbt clean +test"
diff --git a/src/main/scala/xyz/driver/core/trace/ExceptionLoggingSizedBufferingTraceConsumer.scala b/src/main/scala/xyz/driver/core/trace/ExceptionLoggingSizedBufferingTraceConsumer.scala
index 64ae15a..399e2c6 100644
--- a/src/main/scala/xyz/driver/core/trace/ExceptionLoggingSizedBufferingTraceConsumer.scala
+++ b/src/main/scala/xyz/driver/core/trace/ExceptionLoggingSizedBufferingTraceConsumer.scala
@@ -1,9 +1,10 @@
package xyz.driver.core.trace
-import com.google.cloud.trace.v1.consumer.{FlushableTraceConsumer}
+import com.google.cloud.trace.v1.consumer.FlushableTraceConsumer
import com.google.devtools.cloudtrace.v1.Traces
import com.typesafe.scalalogging.Logger
-import scala.util.Try
+
+import scala.util.control.NonFatal
/**
* ExceptionLoggingFlushableTraceConsumer simply wraps a flushable trace consumer and catches/logs any exceptions
@@ -19,8 +20,16 @@ class ExceptionLoggingFlushableTraceConsumer(traceConsumer: FlushableTraceConsum
log.error(s"Encountered exception logging to google $exception")
override def receive(trace: Traces): Unit =
- Try(flushableTraceConsumer.receive(trace)).fold(exceptionLogger, identity)
+ try {
+ flushableTraceConsumer.receive(trace)
+ } catch {
+ case NonFatal(e) => exceptionLogger(e)
+ }
override def flush(): Unit =
- Try(flushableTraceConsumer.flush()).fold(exceptionLogger, identity)
+ try {
+ flushableTraceConsumer.flush()
+ } catch {
+ case NonFatal(e) => exceptionLogger(e)
+ }
}