Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void maybeInit()
- {
- // check if we need another batch
- if (rows != null && i >= rows.size())
- rows = null;
- if (rows != null)
- return;
- if (startToken == null)
- {
- startToken = split.getStartToken();
- }
- else if (startToken.equals(split.getEndToken()))
- {
- rows = null;
- return;
- }
- KeyRange keyRange = new KeyRange(batchRowCount)
- .setStart_token(startToken)
- .setEnd_token(split.getEndToken());
- int retryCount = ConfigHelper.getRetryCount(conf);
- int sleepTime = ConfigHelper.getSleepTime(conf);
- int sleepCounter = 1;
- while(sleepCounter <= retryCount)
- {
- try
- {
- rows = client.get_range_slices(keyspace,
- new ColumnParent(cfName),
- predicate,
- keyRange,
- ConsistencyLevel.ONE);
- // nothing new? reached the end
- if (rows.isEmpty())
- {
- rows = null;
- return;
- }
- // reset to iterate through this new batch
- i = 0;
- // prepare for the next slice to be read
- KeySlice lastRow = rows.get(rows.size() - 1);
- startToken = partitioner.getTokenFactory().toString(partitioner.getToken(lastRow.getKey()));
- break;
- }
- catch (Exception e)
- {
- if(sleepCounter <= retryCount)
- {
- sleepCounter++;
- try
- {
- System.out.println("Thread going to Sleep for "+sleepTime+" milliseconds before retrying...");
- Thread.sleep(sleepTime);
- }
- catch(InterruptedException ie)
- {
- throw new RuntimeException(ie);
- }
- }
- else
- {
- throw new RuntimeException(e);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment