diff --git a/leveldb/db_compaction.go b/leveldb/db_compaction.go
index 2600310..333ea9b 100644
--- a/leveldb/db_compaction.go
+++ b/leveldb/db_compaction.go
@@ -567,14 +567,18 @@
 	}
 }
 
-func (db *DB) tableRangeCompaction(level int, umin, umax []byte) {
-	db.logf("table@compaction range L%d %q:%q", level, umin, umax)
+func (db *DB) tableRangeCompaction(level int, umin, umax []byte) error {
+	if level >= db.s.o.GetNumLevel() {
+		return errors.New("leveldb: invalid compaction level")
+	}
 
+	db.logf("table@compaction range L%d %q:%q", level, umin, umax)
 	if level >= 0 {
 		if c := db.s.getCompactionRange(level, umin, umax); c != nil {
 			db.tableCompaction(c, true)
 		}
 	} else {
+		// Scan for maximum level with overlapped tables.
 		v := db.s.version()
 		m := 1
 		for i, t := range v.tables[1:] {
@@ -590,6 +594,8 @@
 			}
 		}
 	}
+
+	return nil
 }
 
 func (db *DB) tableAutoCompaction() {
@@ -779,8 +785,7 @@
 			case cIdle:
 				ackQ = append(ackQ, x)
 			case cRange:
-				db.tableRangeCompaction(cmd.level, cmd.min, cmd.max)
-				x.ack(nil)
+				x.ack(db.tableRangeCompaction(cmd.level, cmd.min, cmd.max))
 			default:
 				panic("leveldb: unknown command")
 			}
