Skip to content

Commit b62c4e4

Browse files
committed
Merge pull request LinkedInAttic#8 from jhartman/master
Fixing the zoie trimming test
2 parents a97cd56 + 6c93864 commit b62c4e4

File tree

1 file changed

+42
-33
lines changed

1 file changed

+42
-33
lines changed

zoie-core/src/test/java/proj/zoie/test/HourglassTest.java

+42-33
Original file line numberDiff line numberDiff line change
@@ -417,27 +417,32 @@ public static String now() {
417417
return sdf.format(cal.getTime());
418418

419419
}
420-
private void doTrimmingTest(File idxDir, String schedule, int trimThreshold) throws Exception {
421-
HourglassDirectoryManagerFactory factory = new HourglassDirectoryManagerFactory(idxDir, new HourGlassScheduler(
422-
HourGlassScheduler.FREQUENCY.MINUTELY, schedule, true, trimThreshold) {
423-
volatile Long nextTime;
424-
@Override
425-
protected Calendar getNextRoll() {
426-
if (nextTime == null) {
427-
nextTime = System.currentTimeMillis();
428-
}
429-
nextTime += 1000;
430-
Calendar calendar = Calendar.getInstance();
431-
calendar.setTimeInMillis(nextTime);
432-
return calendar;
433-
}
434-
@Override
420+
private void doTrimmingTest(File idxDir,
421+
String schedule,
422+
int trimThreshold) throws Exception {
423+
424+
HourglassDirectoryManagerFactory factory = new HourglassDirectoryManagerFactory(idxDir,
425+
new HourGlassScheduler(HourGlassScheduler.FREQUENCY.MINUTELY, schedule, true, trimThreshold) {
426+
volatile Long nextTime;
427+
428+
@Override
429+
protected Calendar getNextRoll() {
430+
if (nextTime == null) {
431+
nextTime = System.currentTimeMillis();
432+
}
433+
nextTime += 1000;
434+
Calendar calendar = Calendar.getInstance();
435+
calendar.setTimeInMillis(nextTime);
436+
return calendar;
437+
}
438+
439+
@Override
435440
public Calendar getTrimTime(Calendar now) {
436441
Calendar ret = Calendar.getInstance();
437-
ret.setTimeInMillis(now.getTimeInMillis() + 60L * 60 * 1000 * 48);
442+
ret.setTimeInMillis(now.getTimeInMillis() + 48L * 60L * 60L * 1000L);
438443
return ret;
439444
}
440-
});
445+
});
441446
ZoieConfig zConfig = new ZoieConfig();
442447
zConfig.setBatchSize(1);
443448
zConfig.setBatchDelay(10);
@@ -477,36 +482,39 @@ private void handleSegment(ZoieSegmentReader segmentReader) {
477482
Hourglass<IndexReader, String> hourglass = new Hourglass<IndexReader, String>(factory,
478483
new HourglassTestInterpreter(), new IndexReaderDecorator<IndexReader>() {
479484

480-
@Override
481-
public IndexReader decorate(ZoieIndexReader<IndexReader> indexReader) throws IOException {
482-
return indexReader;
483-
}
485+
@Override
486+
public IndexReader decorate(ZoieIndexReader<IndexReader> indexReader) throws IOException {
487+
return indexReader;
488+
}
484489

485-
@Override
486-
public IndexReader redecorate(IndexReader decorated, ZoieIndexReader<IndexReader> copy, boolean withDeletes)
487-
throws IOException {
488-
// TODO Auto-generated method stub
489-
return decorated;
490-
}
490+
@Override
491+
public IndexReader redecorate(IndexReader decorated, ZoieIndexReader<IndexReader> copy, boolean withDeletes)
492+
throws IOException {
493+
// TODO Auto-generated method stub
494+
return decorated;
495+
}
496+
497+
@Override
498+
public void setDeleteSet(IndexReader reader, DocIdSet docIds) {
499+
// Do nothing
500+
}
501+
}, zConfig);
491502

492-
@Override
493-
public void setDeleteSet(IndexReader reader, DocIdSet docIds) {
494-
// Do nothing
495-
}
496-
}, zConfig);
497503
HourglassAdmin mbean = new HourglassAdmin(hourglass);
498504
java.lang.reflect.Field field;
499505
HourglassReaderManager readerManager = (HourglassReaderManager) getFieldValue(hourglass, "_readerMgr");
500506
HourglassReaderManager.HourglassMaintenance runnable = (HourglassReaderManager.HourglassMaintenance) getFieldValue(readerManager, "hourglassMaintenance");
501507
ZoieSystem currentZoie = (ZoieSystem) getFieldValue(hourglass, "_currentZoie");
502508
MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
509+
503510
try {
504511
mbeanServer.registerMBean(mbean, new ObjectName("HouseGlass:name=hourglass"));
505512
} catch (Exception e) {
506513
System.out.println(e);
507514
}
508515
MemoryStreamDataProvider<String> memoryProvider = new MemoryStreamDataProvider<String>(
509516
ZoieConfig.DEFAULT_VERSION_COMPARATOR);
517+
510518
memoryProvider.setMaxEventsPerMinute(Long.MAX_VALUE);
511519
memoryProvider.setDataConsumer(hourglass);
512520
memoryProvider.start();
@@ -553,7 +561,7 @@ public void setDeleteSet(IndexReader reader, DocIdSet docIds) {
553561
Thread.sleep(600);
554562
}
555563
synchronized (runnable) {
556-
runnable.notifyAll();
564+
runnable.run();
557565
}
558566
synchronized (currentZoie) {
559567
//currentZoie.flushEvents(150);
@@ -578,6 +586,7 @@ public void setDeleteSet(IndexReader reader, DocIdSet docIds) {
578586
memoryProvider.stop();
579587
hourglass.shutdown();
580588
}
589+
581590
private Object getFieldValue(Object obj, String fieldName) {
582591
try {
583592
java.lang.reflect.Field field = obj.getClass().getDeclaredField(fieldName);

0 commit comments

Comments
 (0)