Skip to content
This repository has been archived by the owner on Sep 18, 2021. It is now read-only.

Commit

Permalink
Merge pull request #11 from garru/getRangeTheWholeThing
Browse files Browse the repository at this point in the history
Get range should also get the whole timeline
  • Loading branch information
garru committed Nov 8, 2011
2 parents 26ca115 + 5f52727 commit 60db659
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
10 changes: 5 additions & 5 deletions src/main/scala/com/twitter/haplocheirus/RedisShard.scala
Expand Up @@ -190,13 +190,13 @@ class RedisShard(val shardInfo: ShardInfo, val weight: Int, val children: Seq[Ha
Stats.timeMicros("redisshard-get-usec") {
readPool.withClient(shardInfo) { client =>
// we've changed the size semantics to always return the size of theresult set.
val entries = client.get(timeline, 0, -1)
val results = client.get(timeline, 0, -1)

if (entries.isEmpty) {
if (results.isEmpty) {
None
} else {
val filtered = entries filter isSentinel
val filteredEntries = dedupe(filtered, dedupeSecondary).slice(offset, length)
val entries = results filter isSentinel
val filteredEntries = dedupe(entries, dedupeSecondary).slice(offset, length)
Some(TimelineSegment(filteredEntries, filteredEntries.size))
}
}
Expand All @@ -211,7 +211,7 @@ class RedisShard(val shardInfo: ShardInfo, val weight: Int, val children: Seq[Ha

def getRange(timeline: String, fromId: Long, toId: Long, dedupeSecondary: Boolean): Option[TimelineSegment] = {
readPool.withClient(shardInfo) { client =>
val results = client.get(timeline, 0, 600)
val results = client.get(timeline, 0, -1)
if (results.size > 0) {
val entries = dedupe(results, dedupeSecondary)

Expand Down
14 changes: 7 additions & 7 deletions src/test/scala/com/twitter/haplocheirus/RedisShardSpec.scala
Expand Up @@ -301,7 +301,7 @@ object RedisShardSpec extends ConfiguredSpecification with JMocker with ClassMoc
"with missing fromId" in {
expect {
one(shardInfo).hostname willReturn "host1"
lrange(timeline, -600, -1, List(entry23, entry20, entry19, entry10).reverse)
lrange(timeline, 0, -1, List(entry23, entry20, entry19, entry10).reverse)
one(jredis).expire(timeline, 1)
}

Expand All @@ -312,7 +312,7 @@ object RedisShardSpec extends ConfiguredSpecification with JMocker with ClassMoc
"with fromId" in {
expect {
one(shardInfo).hostname willReturn "host1"
lrange(timeline, -600, -1, List(entry23, entry20, entry19, entry10).reverse)
lrange(timeline, 0, -1, List(entry23, entry20, entry19, entry10).reverse)
one(jredis).expire(timeline, 1)
}

Expand All @@ -323,11 +323,11 @@ object RedisShardSpec extends ConfiguredSpecification with JMocker with ClassMoc
"with toId" in {
expect {
allowing(shardInfo).hostname willReturn "host1"
lrange(timeline, -600, -1, List(entry23, entry20, entry19).reverse)
lrange(timeline, 0, -1, List(entry23, entry20, entry19).reverse)
one(jredis).expire(timeline, 1)
lrange(timeline, -600, -1, List(entry23, entry20, entry19).reverse)
lrange(timeline, 0, -1, List(entry23, entry20, entry19).reverse)
one(jredis).expire(timeline, 1)
lrange(timeline, -600, -1, List(entry23, entry20, entry19).reverse)
lrange(timeline, 0, -1, List(entry23, entry20, entry19).reverse)
one(jredis).expire(timeline, 1)
allowing(jredis).expire(timeline, 1)
}
Expand All @@ -341,7 +341,7 @@ object RedisShardSpec extends ConfiguredSpecification with JMocker with ClassMoc
"with dupes" in {
expect {
one(shardInfo).hostname willReturn "host1"
lrange(timeline, -600, -1, List(entry23, entry20, entry20,entry20, entry17, entry13).reverse)
lrange(timeline, 0, -1, List(entry23, entry20, entry20,entry20, entry17, entry13).reverse)
one(jredis).expire(timeline, 1)
}

Expand All @@ -352,7 +352,7 @@ object RedisShardSpec extends ConfiguredSpecification with JMocker with ClassMoc
"miss" in {
expect {
one(shardInfo).hostname willReturn "host1"
one(jredis).lrange(timeline, -600, -1) willReturn future
one(jredis).lrange(timeline, 0, -1) willReturn future
one(future).get(1000, TimeUnit.MILLISECONDS) willReturn (Seq[TimelineEntry]()).toJavaList
}

Expand Down

0 comments on commit 60db659

Please sign in to comment.