1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.regionserver.compactions;
20
21 import java.util.ArrayList;
22 import java.util.Iterator;
23 import java.util.List;
24
25 import org.apache.hadoop.hbase.regionserver.StoreFile;
26
27 class SinusoidalFileListGenerator extends StoreFileListGenerator {
28 SinusoidalFileListGenerator() {
29 super(SinusoidalFileListGenerator.class);
30 }
31
32 @Override
33 public Iterator<List<StoreFile>> iterator() {
34
35
36 return new Iterator<List<StoreFile>>() {
37 private int count = 0;
38 @Override
39 public boolean hasNext() {
40 return count < MAX_FILE_GEN_ITERS;
41 }
42
43 @Override
44 public List<StoreFile> next() {
45 count += 1;
46 ArrayList<StoreFile> files = new ArrayList<StoreFile>(NUM_FILES_GEN);
47 for (int x = 0; x < NUM_FILES_GEN; x++) {
48 int fileSize = (int) Math.abs(64 * Math.sin((Math.PI * x) / 50.0)) + 1;
49 files.add(createMockStoreFile(fileSize));
50 }
51 return files;
52 }
53
54 @Override
55 public void remove() {
56 }
57 };
58 }
59 }