From 35b972eea0177dbc3974c0133ab28513ffd961d0 Mon Sep 17 00:00:00 2001 From: T Jake Luciani Date: Thu, 28 Jul 2011 16:31:02 -0400 Subject: [PATCH] don't exceed the shard size when refreshing reserves --- src/lucandra/cluster/CassandraIndexManager.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lucandra/cluster/CassandraIndexManager.java b/src/lucandra/cluster/CassandraIndexManager.java index 2d140b3..00a16ec 100644 --- a/src/lucandra/cluster/CassandraIndexManager.java +++ b/src/lucandra/cluster/CassandraIndexManager.java @@ -374,8 +374,8 @@ private synchronized ShardInfo getShardInfo(String indexName, boolean force) thr nodes.nodes.put(token, offset); shards.shards.put(shardNum, nodes); - // Load this reserve if there is more to go. - if (offset.get() < (maxDocsPerShard - 1)) + // Load this reserve if there is at least 100 more to go. + if ((offset.get()+100) < (maxDocsPerShard - 1)) { int seqOffset = getRandomSequenceOffset(offset.get() + 100); int prevSeqOffset = getRandomSequenceOffset(offset.get() - 1); @@ -388,7 +388,7 @@ private synchronized ShardInfo getShardInfo(String indexName, boolean force) thr logger.info("Found reserved shard" + shardStr + "(" + token + "):" + (offset.get() + 100) + " TO " + (randomSeq[seqOffset] + reserveSlabSize)); - allNodeRsvps.rsvpList.add(new RsvpInfo(offset.get() + 100, (randomSeq[seqOffset] + allNodeRsvps.rsvpList.add(new RsvpInfo(offset.get() + 100 , (randomSeq[seqOffset] + reserveSlabSize - 1), nodes.shard, token, nextTTL)); } }