@@ -417,27 +417,32 @@ public static String now() {
417
417
return sdf .format (cal .getTime ());
418
418
419
419
}
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
435
440
public Calendar getTrimTime (Calendar now ) {
436
441
Calendar ret = Calendar .getInstance ();
437
- ret .setTimeInMillis (now .getTimeInMillis () + 60L * 60 * 1000 * 48 );
442
+ ret .setTimeInMillis (now .getTimeInMillis () + 48L * 60L * 60L * 1000L );
438
443
return ret ;
439
444
}
440
- });
445
+ });
441
446
ZoieConfig zConfig = new ZoieConfig ();
442
447
zConfig .setBatchSize (1 );
443
448
zConfig .setBatchDelay (10 );
@@ -477,36 +482,39 @@ private void handleSegment(ZoieSegmentReader segmentReader) {
477
482
Hourglass <IndexReader , String > hourglass = new Hourglass <IndexReader , String >(factory ,
478
483
new HourglassTestInterpreter (), new IndexReaderDecorator <IndexReader >() {
479
484
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
+ }
484
489
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 );
491
502
492
- @ Override
493
- public void setDeleteSet (IndexReader reader , DocIdSet docIds ) {
494
- // Do nothing
495
- }
496
- }, zConfig );
497
503
HourglassAdmin mbean = new HourglassAdmin (hourglass );
498
504
java .lang .reflect .Field field ;
499
505
HourglassReaderManager readerManager = (HourglassReaderManager ) getFieldValue (hourglass , "_readerMgr" );
500
506
HourglassReaderManager .HourglassMaintenance runnable = (HourglassReaderManager .HourglassMaintenance ) getFieldValue (readerManager , "hourglassMaintenance" );
501
507
ZoieSystem currentZoie = (ZoieSystem ) getFieldValue (hourglass , "_currentZoie" );
502
508
MBeanServer mbeanServer = ManagementFactory .getPlatformMBeanServer ();
509
+
503
510
try {
504
511
mbeanServer .registerMBean (mbean , new ObjectName ("HouseGlass:name=hourglass" ));
505
512
} catch (Exception e ) {
506
513
System .out .println (e );
507
514
}
508
515
MemoryStreamDataProvider <String > memoryProvider = new MemoryStreamDataProvider <String >(
509
516
ZoieConfig .DEFAULT_VERSION_COMPARATOR );
517
+
510
518
memoryProvider .setMaxEventsPerMinute (Long .MAX_VALUE );
511
519
memoryProvider .setDataConsumer (hourglass );
512
520
memoryProvider .start ();
@@ -553,7 +561,7 @@ public void setDeleteSet(IndexReader reader, DocIdSet docIds) {
553
561
Thread .sleep (600 );
554
562
}
555
563
synchronized (runnable ) {
556
- runnable .notifyAll ();
564
+ runnable .run ();
557
565
}
558
566
synchronized (currentZoie ) {
559
567
//currentZoie.flushEvents(150);
@@ -578,6 +586,7 @@ public void setDeleteSet(IndexReader reader, DocIdSet docIds) {
578
586
memoryProvider .stop ();
579
587
hourglass .shutdown ();
580
588
}
589
+
581
590
private Object getFieldValue (Object obj , String fieldName ) {
582
591
try {
583
592
java .lang .reflect .Field field = obj .getClass ().getDeclaredField (fieldName );
0 commit comments