//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private void awaitDatabaseStart() throws InterruptedException private void AwaitDatabaseStart() { DatabaseAvailability databaseAvailability = ResolveDatabaseDependency(typeof(DatabaseAvailability)); while (!databaseAvailability.Started) { TimeUnit.MILLISECONDS.sleep(10); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @SuppressWarnings("unchecked") private SwitchToSlaveCopyThenBranch newSwitchToSlaveSpy(org.neo4j.io.pagecache.PageCache pageCacheMock, org.neo4j.com.storecopy.StoreCopyClient storeCopyClient) private SwitchToSlaveCopyThenBranch NewSwitchToSlaveSpy(PageCache pageCacheMock, StoreCopyClient storeCopyClient) { ClusterMembers clusterMembers = mock(typeof(ClusterMembers)); ClusterMember master = mock(typeof(ClusterMember)); when(master.StoreId).thenReturn(_storeId); when(master.HARole).thenReturn(HighAvailabilityModeSwitcher.MASTER); when(master.HasRole(eq(HighAvailabilityModeSwitcher.MASTER))).thenReturn(true); when(master.InstanceId).thenReturn(new InstanceId(1)); when(clusterMembers.Members).thenReturn(asList(master)); Dependencies resolver = new Dependencies(); DatabaseAvailability databaseAvailability = mock(typeof(DatabaseAvailability)); when(databaseAvailability.Started).thenReturn(true); resolver.SatisfyDependencies(_requestContextFactory, clusterMembers, mock(typeof(TransactionObligationFulfiller)), mock(typeof(OnlineBackupKernelExtension)), mock(typeof(IndexConfigStore)), mock(typeof(TransactionCommittingResponseUnpacker)), mock(typeof(DataSourceManager)), mock(typeof(StoreLockerLifecycleAdapter)), mock(typeof(FileSystemWatcherService)), databaseAvailability); NeoStoreDataSource dataSource = mock(typeof(NeoStoreDataSource)); when(dataSource.StoreId).thenReturn(_storeId); when(dataSource.DependencyResolver).thenReturn(resolver); DatabaseTransactionStats transactionCounters = mock(typeof(DatabaseTransactionStats)); when(transactionCounters.NumberOfActiveTransactions).thenReturn(0L); Response <HandshakeResult> response = mock(typeof(Response)); when(response.ResponseConflict()).thenReturn(new HandshakeResult(42, 2)); when(_masterClient.handshake(anyLong(), any(typeof(StoreId)))).thenReturn(response); when(_masterClient.ProtocolVersion).thenReturn(Org.Neo4j.Kernel.ha.com.slave.MasterClient_Fields.Current); TransactionIdStore transactionIdStoreMock = mock(typeof(TransactionIdStore)); // note that the checksum (the second member of the array) is the same as the one in the handshake mock above when(transactionIdStoreMock.LastCommittedTransaction).thenReturn(new TransactionId(42, 42, 42)); MasterClientResolver masterClientResolver = mock(typeof(MasterClientResolver)); when(masterClientResolver.Instantiate(anyString(), anyInt(), anyString(), any(typeof(Monitors)), argThat(_storeId => true), any(typeof(LifeSupport)))).thenReturn(_masterClient); return(spy(new SwitchToSlaveCopyThenBranch(TestDirectory.databaseLayout(), NullLogService.Instance, ConfigMock(), mock(typeof(HaIdGeneratorFactory)), mock(typeof(DelegateInvocationHandler)), mock(typeof(ClusterMemberAvailability)), _requestContextFactory, _pullerFactory, masterClientResolver, mock(typeof(SwitchToSlave.Monitor)), storeCopyClient, Suppliers.singleton(dataSource), Suppliers.singleton(transactionIdStoreMock), slave => { SlaveServer server = mock(typeof(SlaveServer)); InetSocketAddress inetSocketAddress = InetSocketAddress.createUnresolved("localhost", 42); when(server.SocketAddress).thenReturn(inetSocketAddress); return server; }, _updatePuller, pageCacheMock, mock(typeof(Monitors)), () => transactionCounters))); }
internal ModularDatabaseCreationContext(string databaseName, PlatformModule platformModule, DatabaseEditionContext editionContext, Procedures procedures, GraphDatabaseFacade facade) { this._databaseName = databaseName; this._config = platformModule.Config; DatabaseIdContext idContext = editionContext.IdContext; this._idGeneratorFactory = idContext.IdGeneratorFactory; this._idController = idContext.IdController; this._databaseLayout = platformModule.StoreLayout.databaseLayout(databaseName); this._logService = platformModule.Logging; this._scheduler = platformModule.JobScheduler; this._globalDependencies = platformModule.Dependencies; this._tokenHolders = editionContext.CreateTokenHolders(); this._tokenNameLookup = new NonTransactionalTokenNameLookup(_tokenHolders); this._locks = editionContext.CreateLocks(); this._statementLocksFactory = editionContext.CreateStatementLocksFactory(); this._schemaWriteGuard = editionContext.SchemaWriteGuard; this._transactionEventHandlers = new TransactionEventHandlers(facade); this._monitors = new Monitors(platformModule.Monitors); this._indexingServiceMonitor = _monitors.newMonitor(typeof(IndexingService.Monitor)); this._physicalLogMonitor = _monitors.newMonitor(typeof(LogFileCreationMonitor)); this._fs = platformModule.FileSystem; this._transactionStats = editionContext.CreateTransactionMonitor(); this._databaseHealth = new DatabaseHealth(platformModule.PanicEventGenerator, _logService.getInternalLog(typeof(DatabaseHealth))); this._transactionHeaderInformationFactory = editionContext.HeaderInformationFactory; this._commitProcessFactory = editionContext.CommitProcessFactory; this._autoIndexing = new InternalAutoIndexing(platformModule.Config, _tokenHolders.propertyKeyTokens()); this._indexConfigStore = new IndexConfigStore(_databaseLayout, _fs); this._explicitIndexProvider = new DefaultExplicitIndexProvider(); this._pageCache = platformModule.PageCache; this._constraintSemantics = editionContext.ConstraintSemantics; this._tracers = platformModule.Tracers; this._procedures = procedures; this._ioLimiter = editionContext.IoLimiter; this._clock = platformModule.Clock; this._databaseAvailabilityGuard = editionContext.CreateDatabaseAvailabilityGuard(_clock, _logService, _config); this._databaseAvailability = new DatabaseAvailability(_databaseAvailabilityGuard, _transactionStats, platformModule.Clock, AwaitActiveTransactionDeadlineMillis); this._coreAPIAvailabilityGuard = new CoreAPIAvailabilityGuard(_databaseAvailabilityGuard, editionContext.TransactionStartTimeout); this._accessCapability = editionContext.AccessCapability; this._storeCopyCheckPointMutex = new StoreCopyCheckPointMutex(); this._recoveryCleanupWorkCollector = platformModule.RecoveryCleanupWorkCollector; this._databaseInfo = platformModule.DatabaseInfo; this._versionContextSupplier = platformModule.VersionContextSupplier; this._collectionsFactorySupplier = platformModule.CollectionsFactorySupplier; this._kernelExtensionFactories = platformModule.KernelExtensionFactories; this._watcherServiceFactory = editionContext.WatcherServiceFactory; this._facade = facade; this._engineProviders = platformModule.EngineProviders; }
public DatabaseAccessEventArgs(string databaseName, DatabaseAvailability databaseAvailability) { DatabaseAvailability = databaseAvailability; this.DatabaseName = databaseName; }