protected JobScheduler createJobScheduler() { return JobSchedulerFactory.createInitialisedScheduler(); }
@BeforeClass public static void setUp() { jobScheduler = createInitialisedScheduler(); }
private void checkDbState( DatabaseLayout databaseLayout, Config tuningConfiguration ) throws ToolFailureException { try ( JobScheduler jobScheduler = createInitialisedScheduler(); PageCache pageCache = ConfigurableStandalonePageCacheFactory.createPageCache( fs, tuningConfiguration, jobScheduler ) ) { assertRecoveryIsNotRequired( fs, pageCache, tuningConfiguration, databaseLayout, new Monitors() ); } catch ( RecoveryRequiredException rre ) { throw new ToolFailureException( rre.getMessage() ); } catch ( Exception e ) { systemError.printf( "Failure when checking for recovery state: '%s', continuing as normal.%n", e ); } }
@Override public void execute( String[] args ) throws IncorrectUsage, CommandFailed { final Path databaseDirectory = arguments.parse( args ).getMandatoryPath( "store" ); Validators.CONTAINS_EXISTING_DATABASE.validate( databaseDirectory.toFile() ); try ( DefaultFileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction(); JobScheduler jobScheduler = createInitialisedScheduler(); PageCache pageCache = StandalonePageCacheFactory.createPageCache( fileSystem, jobScheduler ) ) { DatabaseLayout databaseLayout = DatabaseLayout.of( databaseDirectory.toFile() ); final String storeVersion = new StoreVersionCheck( pageCache ) .getVersion( databaseLayout.metadataStore() ) .orElseThrow( () -> new CommandFailed( String.format( "Could not find version metadata in store '%s'", databaseDirectory ) ) ); final String fmt = "%-30s%s"; out.accept( String.format( fmt, "Store format version:", storeVersion ) ); RecordFormats format = RecordFormatSelector.selectForVersion( storeVersion ); out.accept( String.format( fmt, "Store format introduced in:", format.introductionVersion() ) ); findSuccessor( format ) .map( next -> String.format( fmt, "Store format superseded in:", next.introductionVersion() ) ) .ifPresent( out ); } catch ( Exception e ) { throw new CommandFailed( e.getMessage(), e ); } }
private static void checkDbState( DatabaseLayout databaseLayout, Config additionalConfiguration ) throws CommandFailed { try ( FileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction(); JobScheduler jobScheduler = createInitialisedScheduler(); PageCache pageCache = ConfigurableStandalonePageCacheFactory.createPageCache( fileSystem, additionalConfiguration, jobScheduler ) ) { RecoveryRequiredChecker.assertRecoveryIsNotRequired( fileSystem, pageCache, additionalConfiguration, databaseLayout, new Monitors() ); } catch ( RecoveryRequiredException rre ) { throw new CommandFailed( rre.getMessage() ); } catch ( Exception e ) { throw new CommandFailed( "Failure when checking for recovery state: '%s'." + e.getMessage(), e ); } }
private static void checkDbState( DatabaseLayout databaseLayout, Config additionalConfiguration ) throws CommandFailed { try ( FileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction(); JobScheduler jobScheduler = createInitialisedScheduler(); PageCache pageCache = ConfigurableStandalonePageCacheFactory .createPageCache( fileSystem, additionalConfiguration, jobScheduler ) ) { assertRecoveryIsNotRequired( fileSystem, pageCache, additionalConfiguration, databaseLayout, new Monitors() ); } catch ( RecoveryRequiredException rre ) { throw new CommandFailed( rre.getMessage() ); } catch ( Exception e ) { throw new CommandFailed( "Failure when checking for recovery state: '%s'." + e.getMessage(), e ); } }
@Test( timeout = 5_000 ) public void shouldStopAndWaitForAllJobsToFinish() throws Throwable { // Given when( config.jobLimit() ).thenReturn( 2 ); JobScheduler jobScheduler = createInitialisedScheduler(); final IndexSamplingJobTracker jobTracker = new IndexSamplingJobTracker( config, jobScheduler ); final CountDownLatch latch1 = new CountDownLatch( 1 ); final CountDownLatch latch2 = new CountDownLatch( 1 ); WaitingIndexSamplingJob job1 = new WaitingIndexSamplingJob( indexId11, latch1 ); WaitingIndexSamplingJob job2 = new WaitingIndexSamplingJob( indexId22, latch1 ); jobTracker.scheduleSamplingJob( job1 ); jobTracker.scheduleSamplingJob( job2 ); Future<?> stopping = Executors.newSingleThreadExecutor().submit( () -> { latch2.countDown(); jobTracker.stopAndAwaitAllJobs(); } ); // When latch2.await(); assertFalse( stopping.isDone() ); latch1.countDown(); stopping.get( 10, SECONDS ); // Then assertTrue( stopping.isDone() ); assertNull( stopping.get() ); assertTrue( job1.executed ); assertTrue( job2.executed ); }
JobScheduler jobScheduler = createInitialisedScheduler();
JobScheduler jobScheduler = JobSchedulerFactory.createInitialisedScheduler(); ConfiguringPageCacheFactory pageCacheFactory = new ConfiguringPageCacheFactory( fileSystem, config, PageCacheTracer.NULL, PageCursorTracerSupplier.NULL,
JobScheduler jobScheduler = createInitialisedScheduler();
JobScheduler jobScheduler = createInitialisedScheduler(); IndexSamplingJobTracker jobTracker = new IndexSamplingJobTracker( config, jobScheduler ); final DoubleLatch latch = new DoubleLatch();
JobScheduler jobScheduler = createInitialisedScheduler();
JobScheduler jobScheduler = life.add( JobSchedulerFactory.createInitialisedScheduler() ); TokenHolders tokenHolders = new TokenHolders( new DelegatingTokenHolder( new ReadOnlyTokenCreator(), TokenHolder.TYPE_PROPERTY_KEY ), new DelegatingTokenHolder( new ReadOnlyTokenCreator(), TokenHolder.TYPE_LABEL ),
this.jobScheduler = JobSchedulerFactory.createInitialisedScheduler(); life.add( jobScheduler );
JobScheduler scheduler = life.add( JobSchedulerFactory.createInitialisedScheduler() ); fileSystem = new DefaultFileSystemAbstraction(); PageCache pageCache = getPageCache( fileSystem );
protected JobScheduler createJobScheduler() { return JobSchedulerFactory.createInitialisedScheduler(); }
@Override public void execute( String[] args ) throws IncorrectUsage, CommandFailed { final Path databaseDirectory = arguments.parse( args ).getMandatoryPath( "store" ); Validators.CONTAINS_EXISTING_DATABASE.validate( databaseDirectory.toFile() ); try ( DefaultFileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction(); JobScheduler jobScheduler = createInitialisedScheduler(); PageCache pageCache = StandalonePageCacheFactory.createPageCache( fileSystem, jobScheduler ) ) { DatabaseLayout databaseLayout = DatabaseLayout.of( databaseDirectory.toFile() ); final String storeVersion = new StoreVersionCheck( pageCache ) .getVersion( databaseLayout.metadataStore() ) .orElseThrow( () -> new CommandFailed( String.format( "Could not find version metadata in store '%s'", databaseDirectory ) ) ); final String fmt = "%-30s%s"; out.accept( String.format( fmt, "Store format version:", storeVersion ) ); RecordFormats format = RecordFormatSelector.selectForVersion( storeVersion ); out.accept( String.format( fmt, "Store format introduced in:", format.introductionVersion() ) ); findSuccessor( format ) .map( next -> String.format( fmt, "Store format superseded in:", next.introductionVersion() ) ) .ifPresent( out ); } catch ( Exception e ) { throw new CommandFailed( e.getMessage(), e ); } }
private static void checkDbState( DatabaseLayout databaseLayout, Config additionalConfiguration ) throws CommandFailed { try ( FileSystemAbstraction fileSystem = new DefaultFileSystemAbstraction(); JobScheduler jobScheduler = createInitialisedScheduler(); PageCache pageCache = ConfigurableStandalonePageCacheFactory.createPageCache( fileSystem, additionalConfiguration, jobScheduler ) ) { RecoveryRequiredChecker.assertRecoveryIsNotRequired( fileSystem, pageCache, additionalConfiguration, databaseLayout, new Monitors() ); } catch ( RecoveryRequiredException rre ) { throw new CommandFailed( rre.getMessage() ); } catch ( Exception e ) { throw new CommandFailed( "Failure when checking for recovery state: '%s'." + e.getMessage(), e ); } }
this.jobScheduler = JobSchedulerFactory.createInitialisedScheduler(); life.add( jobScheduler );