clarencen/lshift — Issue #66: Cannot specify empty upper bound
Author: clarencen
Created: 2011-11-14 22:41:34+00:00
State: open

When you specify a null upper bound (and I presume the same is relevant for lower bounds), e.g.

@@@

@@@

the agent fails to apply the configuration with this error:

@@@
15:00:01.751 [akka:event-driven:dispatcher:global-9] ERROR PairActor:362 - Failed to difference pair diffa/Staging7
java.lang.NullPointerException: null
at org.joda.time.format.DateTimeFormatterBuilder$CharacterLiteral.parseInto(DateTimeFormatterBuilder.java:1202) ~[joda-time-2.0.jar:2.0]
at org.joda.time.format.DateTimeFormatterBuilder$Composite.parseInto(DateTimeFormatterBuilder.java:2689) ~[joda-time-2.0.jar:2.0]
at org.joda.time.format.DateTimeFormatterBuilder$MatchingParser.parseInto(DateTimeFormatterBuilder.java:2787) ~[joda-time-2.0.jar:2.0]
at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:846) ~[joda-time-2.0.jar:2.0]
at net.lshift.diffa.kernel.config.RangeCategoryParser$.parseDateTime(RangeCategoryParser.scala:35) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.config.RangeCategoryParser$.parseDate(RangeCategoryParser.scala:36) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.config.RangeCategoryParser$.buildConstraint(RangeCategoryParser.scala:64) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.util.CategoryUtil$$anonfun$initialConstraintsFor$1.apply(CategoryUtil.scala:86) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.util.CategoryUtil$$anonfun$initialConstraintsFor$1.apply(CategoryUtil.scala:76) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200) ~[scala-library-2.9.0-1.jar:na]
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200) ~[scala-library-2.9.0-1.jar:na]
at scala.collection.immutable.Map$Map3.foreach(Map.scala:163) ~[scala-library-2.9.0-1.jar:na]
at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:200) ~[scala-library-2.9.0-1.jar:na]
at scala.collection.immutable.Map$Map3.flatMap(Map.scala:143) ~[scala-library-2.9.0-1.jar:na]
at net.lshift.diffa.kernel.util.CategoryUtil$.initialConstraintsFor(CategoryUtil.scala:76) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.config.Endpoint.initialConstraints(DomainConfigStore.scala:148) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.util.StoreSynchronizationUtils$.replayCorrelationStore(StoreSynchronizationUtils.scala:45) ~[diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.actors.PairActor.handleDifferenceMessage(PairActor.scala:358) [diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.actors.PairActor$$anonfun$receive$1.apply(PairActor.scala:205) [diffa-kernel-0.9-SNAPSHOT.jar:na]
at net.lshift.diffa.kernel.actors.PairActor$$anonfun$receive$1.apply(PairActor.scala:197) [diffa-kernel-0.9-SNAPSHOT.jar:na]
at akka.actor.Actor$class.apply(Actor.scala:545) [akka-actor-1.2.jar:na]
at net.lshift.diffa.kernel.actors.PairActor.apply(PairActor.scala:39) [diffa-kernel-0.9-SNAPSHOT.jar:na]
at akka.actor.LocalActorRef.invoke(ActorRef.scala:905) [akka-actor-1.2.jar:na]
at akka.dispatch.MessageInvocation.invoke(MessageHandling.scala:25) [akka-actor-1.2.jar:na]
at akka.dispatch.ExecutableMailbox$class.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:216) [akka-actor-1.2.jar:na]
at akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:122) [akka-actor-1.2.jar:na]
at akka.dispatch.ExecutableMailbox$class.run(ExecutorBasedEventDrivenDispatcher.scala:188) [akka-actor-1.2.jar:na]
at akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.run(ExecutorBasedEventDrivenDispatcher.scala:122) [akka-actor-1.2.jar:na]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_16]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_16]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_16]
at akka.dispatch.MonitorableThread.run(ThreadPoolBuilder.scala:184) [akka-actor-1.2.jar:na]

@@@