()
| 500 | } |
| 501 | |
| 502 | @Test |
| 503 | public void msOutOfOrder() throws Exception { |
| 504 | // all rows with an ms qualifier will go through the compaction |
| 505 | // process and they'll be sorted |
| 506 | ArrayList<KeyValue> kvs = new ArrayList<KeyValue>(3); |
| 507 | ArrayList<Annotation> annotations = new ArrayList<Annotation>(0); |
| 508 | final byte[] qual1 = { (byte) 0xF0, 0x00, 0x02, 0x07 }; |
| 509 | final byte[] val1 = Bytes.fromLong(4L); |
| 510 | kvs.add(makekv(qual1, val1)); |
| 511 | final byte[] qual2 = { (byte) 0xF0, 0x00, 0x00, 0x07 }; |
| 512 | final byte[] val2 = Bytes.fromLong(5L); |
| 513 | kvs.add(makekv(qual2, val2)); |
| 514 | final byte[] qual3 = { (byte) 0xF0, 0x00, 0x01, 0x07 }; |
| 515 | final byte[] val3 = Bytes.fromLong(6L); |
| 516 | kvs.add(makekv(qual3, val3)); |
| 517 | |
| 518 | final KeyValue kv = compactionq.compact(kvs, annotations, null); |
| 519 | assertArrayEquals(MockBase.concatByteArrays(qual2, qual3, qual1), |
| 520 | kv.qualifier()); |
| 521 | assertArrayEquals(MockBase.concatByteArrays(val2, val3, val1, ZERO), |
| 522 | kv.value()); |
| 523 | |
| 524 | // We had one row to compact, so one put to do. |
| 525 | verify(tsdb, times(1)).put(KEY, MockBase.concatByteArrays(qual2, qual3, qual1), |
| 526 | MockBase.concatByteArrays(val2, val3, val1, ZERO), kvCount - 1); |
| 527 | // And we had to delete individual cells. |
| 528 | verify(tsdb, times(1)).delete(eq(KEY), eqAnyOrder(new byte[][] { qual1, qual2, qual3 })); |
| 529 | } |
| 530 | |
| 531 | @Test |
| 532 | public void secondAndMs() throws Exception { |
nothing calls this directly
no test coverage detected