From 112300c50419ee0234b7a4dff0763dfb967e2e3e Mon Sep 17 00:00:00 2001
From: "Joris V.R" <jvanremoortere@tagged.com>
Date: Tue, 22 Oct 2013 11:41:42 -0700
Subject: [PATCH] logSegments is currently called with to = -1. This can
 trigger submap to be called with invalid arguments (i.e.
 from > to). We catch this case and return an empty iterable
 of logSegments.

---
 core/src/main/scala/kafka/log/Log.scala | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/core/src/main/scala/kafka/log/Log.scala b/core/src/main/scala/kafka/log/Log.scala
index 8cd489e..63c8130 100644
--- a/core/src/main/scala/kafka/log/Log.scala
+++ b/core/src/main/scala/kafka/log/Log.scala
@@ -600,8 +600,13 @@ class Log(val dir: File,
       val floor: java.lang.Long = segments.floorKey(from)
       if(floor eq null)
         asIterable(segments.headMap(to).values)
-      else
-        asIterable(segments.subMap(floor.longValue, true, to, false).values)
+      else {
+        if (floor.longValue > to) {
+          Iterable[LogSegment]()
+        } else {
+          asIterable(segments.subMap(floor.longValue, true, to, false).values)
+        }
+      } 
     }
   }
   
-- 
1.8.0

