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

Adds BatchID interval to TS interval #443

Merged
merged 7 commits into from
Feb 13, 2014

Conversation

ianoc
Copy link
Collaborator

@ianoc ianoc commented Feb 10, 2014

@johnynek splitting this out to get it discussed/in first. Modified the bounds on the exclusives a little.

b match {
case Empty() => Empty[Timestamp]()
case Universe() => Universe[Timestamp]()
case ExclusiveUpper(upper) => ExclusiveUpper(latestTimeOf(upper) + Timestamp(1))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that is weird. you should not be able to add timestamps. Timestamp + Int or or + Long makes sense, but what does adding two times mean?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats a good point.... will remove it from here. But will add a todo to remove the methods and find/change other call sites of the operator

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The larger question aside, shouldn't this be:

ExclusiveUpper(earliestTimeOf(upper)) ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree with Joe.

The exclusive UB on Batch covers time that should also be exclusive. Therefore, the earliest time in that batch is the least upper bound. Right?

I may have made this error originally.

Update the interval mappings with batchID -> Timestamp, update test to cover it
def -(other: Long) = Timestamp(milliSinceEpoch - other)
def +(other: Long) = Timestamp(milliSinceEpoch + other)
// Delta between two timestamps
def -(other: Timestamp) = milliSinceEpoch - other.milliSinceEpoch
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we put the type on a public API, Long?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fuck….

Actually, let's be pro-style, we know we are going there: how about a case class Milliseconds(toLong: Long)? Clearly that is where we are heading here. In 2.10 this can extend AnyVal and it is free.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@ianoc
Copy link
Collaborator Author

ianoc commented Feb 12, 2014

Sorry forgot about this, fixed the build...

johnynek added a commit that referenced this pull request Feb 13, 2014
…erval

Adds BatchID interval to TS interval
@johnynek johnynek merged commit 7b037d8 into develop Feb 13, 2014
@johnynek johnynek deleted the feature/batch_interval_to_ts_interval branch February 13, 2014 02:26
snoble pushed a commit to snoble/summingbird that referenced this pull request Sep 8, 2017
add QTreeAggregator and add approximatePercentileBounds to Aggregator
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants