@Override public long maxCount() { return documents.maxCount(); }
@Override public long maxCount() { long sum = 0L; for ( BoundedIterable<Long> part : allEntriesReader ) { long partMaxCount = part.maxCount(); if ( partMaxCount == UNKNOWN_MAX_COUNT ) { return UNKNOWN_MAX_COUNT; } sum += partMaxCount; } return sum; }
@Override public long maxCount() { long sum = 0; for ( BoundedIterable entry : entries ) { long maxCount = entry.maxCount(); if ( maxCount == UNKNOWN_MAX_COUNT ) { return UNKNOWN_MAX_COUNT; } sum += maxCount; } return sum; }
@Override public long maxCount() { long sum = 0L; for ( BoundedIterable<Long> part : allEntriesReader ) { long partMaxCount = part.maxCount(); if ( partMaxCount == UNKNOWN_MAX_COUNT ) { return UNKNOWN_MAX_COUNT; } sum += partMaxCount; } return sum; }
@Override public long maxCount() { try ( BoundedIterable<Long> reader = indexAccessor.newAllEntriesReader() ) { return reader.maxCount(); } catch ( Exception e ) { throw new RuntimeException( e ); } }
RecordScanner( String name, Statistics statistics, int threads, BoundedIterable<RECORD> store, ProgressMonitorFactory.MultiPartBuilder builder, RecordProcessor<RECORD> processor, IterableStore... warmUpStores ) { super( name, statistics, threads ); this.store = store; this.processor = processor; long maxCount = store.maxCount(); this.progress = maxCount == -1 ? builder.progressForUnknownPart( name ) : builder.progressForPart( name, maxCount ); this.warmUpStores = warmUpStores; }
private static BoundedIterable<Long> mockedAllEntriesReader( boolean knownMaxCount, List<Long> entries ) { BoundedIterable<Long> mockedAllEntriesReader = mock( BoundedIterable.class ); when( mockedAllEntriesReader.maxCount() ).thenReturn( knownMaxCount ? entries.size() : BoundedIterable.UNKNOWN_MAX_COUNT ); when( mockedAllEntriesReader.iterator() ).thenReturn( entries.iterator() ); return mockedAllEntriesReader; }
@Override protected void scan() { long recordsPerCPU = RecordDistributor.calculateRecordsPerCpu( store.maxCount(), numberOfThreads ); cacheAccess.prepareForProcessingOfSingleStore( recordsPerCPU ); QueueDistributor<RECORD> distributor = distribution.distributor( recordsPerCPU, numberOfThreads ); distributeRecords( numberOfThreads, getClass().getSimpleName() + "-" + name, DEFAULT_QUEUE_SIZE, store.iterator(), progress, processor, distributor ); } }
@Test public void allEntriesReaderMustReportFusionMaxCountOfAll() { long lastId = 0; for ( IndexAccessor accessor : aliveAccessors ) { mockSingleAllEntriesReader( accessor, Arrays.asList( lastId++, lastId++ ) ); } // then BoundedIterable<Long> fusionAllEntriesReader = fusionIndexAccessor.newAllEntriesReader(); assertThat( fusionAllEntriesReader.maxCount(), is( lastId ) ); }
@Test public void allEntriesReaderMustReportUnknownMaxCountIfAnyReportUnknownMaxCount() { for ( int i = 0; i < aliveAccessors.length; i++ ) { for ( int j = 0; j < aliveAccessors.length; j++ ) { // given if ( j == i ) { mockSingleAllEntriesReaderWithUnknownMaxCount( aliveAccessors[j], Collections.emptyList() ); } else { mockSingleAllEntriesReader( aliveAccessors[j], Collections.emptyList() ); } } // then BoundedIterable<Long> fusionAllEntriesReader = fusionIndexAccessor.newAllEntriesReader(); assertThat( fusionAllEntriesReader.maxCount(), is( BoundedIterable.UNKNOWN_MAX_COUNT ) ); } }
@Override public long maxCount() { long sum = 0L; for ( BoundedIterable<Long> part : allEntriesReader ) { long partMaxCount = part.maxCount(); if ( partMaxCount == UNKNOWN_MAX_COUNT ) { return UNKNOWN_MAX_COUNT; } sum += partMaxCount; } return sum; }
@Override public long maxCount() { long sum = 0L; for ( BoundedIterable<Long> part : allEntriesReader ) { long partMaxCount = part.maxCount(); if ( partMaxCount == UNKNOWN_MAX_COUNT ) { return UNKNOWN_MAX_COUNT; } sum += partMaxCount; } return sum; }
@Override public long maxCount() { long sum = 0; for ( BoundedIterable entry : entries ) { long maxCount = entry.maxCount(); if ( maxCount == UNKNOWN_MAX_COUNT ) { return UNKNOWN_MAX_COUNT; } sum += maxCount; } return sum; }