-
Notifications
You must be signed in to change notification settings - Fork 266
Add a method to prepare for optimizing FlatMapKeys #305
Conversation
case _ => false | ||
} | ||
|
||
def isOutput[P <: Platform[P]](p: Producer[P, Any]): Boolean = p match { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TailProducer?
@ryanlecompte how can we fix that? Sadly, the planner/optimizer loses types since otherwise we would need Producer to be an HList (a-la shapeless). TailProducer is not a case class, and is a sealed marker trait on producers that have some result. |
@johnynek in that particular case we don't need the type info kept anyway do we? |
Well, in this particular case you really only care about the fact that you may have a val neighborFn = { (p: Producer[P, Any]) => p match {
case t: TailProducer[_, _] => Iterable.empty[Producer[P, Any]]
case _ => graph(p)
}
} That would fix the 2.10 warning at least :-) |
Conflicts: summingbird-core/src/main/scala/com/twitter/summingbird/Dependants.scala
/** Returns true if this node does not directly change the data (does not apply any transformation) | ||
*/ | ||
def isNoOp[P <: Platform[P]](p: Producer[P, Any]): Boolean = p match { | ||
case IdentityKeyedProducer(_) => true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style points for later: bunch up cases with case A(_) | B(_) => true
Add a method to prepare for optimizing FlatMapKeys
…ormanceFix Keeping the notion of lazily calculated heavy hitters, but fixing it to ...
No description provided.