Esempio n. 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldRemoveViaConcurrentIndexUpdatesWhilePopulating() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldRemoveViaConcurrentIndexUpdatesWhilePopulating()
        {
            // GIVEN
            string             value1        = "Mattias";
            string             value2        = "Jacob";
            string             value3        = "Stefan";
            long               node1         = CreateNode(map(_name, value1), _first);
            long               node2         = CreateNode(map(_name, value2), _first);
            long               node3         = CreateNode(map(_name, value3), _first);
            int                propertyKeyId = GetPropertyKeyForName(_name);
            NodeDeletingWriter populator     = new NodeDeletingWriter(this, node2, propertyKeyId, value2, _labelId);
            IndexPopulationJob job           = NewIndexPopulationJob(populator, new FlippableIndexProxy(), EntityType.NODE, IndexDescriptor(_first, _name, false));

            populator.Job = job;

            // WHEN
            job.Run();

            // THEN
            IDictionary <long, object> expectedAdded = genericMap(node1, value1, node2, value2, node3, value3);

            assertEquals(expectedAdded, populator.Added);
            IDictionary <long, object> expectedRemoved = genericMap(node2, value2);

            assertEquals(expectedRemoved, populator.Removed);
        }
Esempio n. 2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldIndexConcurrentUpdatesWhilePopulating() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldIndexConcurrentUpdatesWhilePopulating()
        {
            // GIVEN
            object value1       = "Mattias";
            object value2       = "Jacob";
            object value3       = "Stefan";
            object changedValue = "changed";
            long   node1        = CreateNode(map(_name, value1), _first);
            long   node2        = CreateNode(map(_name, value2), _first);
            long   node3        = CreateNode(map(_name, value3), _first);
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @SuppressWarnings("UnnecessaryLocalVariable") long changeNode = node1;
            long changeNode              = node1;
            int  propertyKeyId           = GetPropertyKeyForName(_name);
            NodeChangingWriter populator = new NodeChangingWriter(this, changeNode, propertyKeyId, value1, changedValue, _labelId);
            IndexPopulationJob job       = NewIndexPopulationJob(populator, new FlippableIndexProxy(), EntityType.NODE, IndexDescriptor(_first, _name, false));

            populator.Job = job;

            // WHEN
            job.Run();

            // THEN
            ISet <Pair <long, object> > expected = asSet(Pair.of(node1, value1), Pair.of(node2, value2), Pair.of(node3, value3), Pair.of(node1, changedValue));

            assertEquals(expected, populator.Added);
        }
Esempio n. 3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldPopulateIndexWithASmallDataset() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldPopulateIndexWithASmallDataset()
        {
            // GIVEN
            string value = "Mattias";
            long   node1 = CreateNode(map(_name, value), _first);

            CreateNode(map(_name, value), _second);
            CreateNode(map(_age, 31), _first);
            long                  node4      = CreateNode(map(_age, 35, _name, value), _first);
            IndexPopulator        populator  = spy(IndexPopulator(false));
            LabelSchemaDescriptor descriptor = SchemaDescriptorFactory.forLabel(0, 0);
            IndexPopulationJob    job        = NewIndexPopulationJob(populator, new FlippableIndexProxy(), EntityType.NODE, IndexDescriptorFactory.forSchema(descriptor));

            // WHEN
            job.Run();

            // THEN
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: org.neo4j.kernel.api.index.IndexEntryUpdate<?> update1 = add(node1, descriptor, org.neo4j.values.storable.Values.of(value));
            IndexEntryUpdate <object> update1 = add(node1, descriptor, Values.of(value));
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: org.neo4j.kernel.api.index.IndexEntryUpdate<?> update2 = add(node4, descriptor, org.neo4j.values.storable.Values.of(value));
            IndexEntryUpdate <object> update2 = add(node4, descriptor, Values.of(value));

            verify(populator).create();
            verify(populator).includeSample(update1);
            verify(populator).includeSample(update2);
            verify(populator, times(2)).add(anyCollection());
            verify(populator).sampleResult();
            verify(populator).close(true);
        }
Esempio n. 4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldBeAbleToCancelPopulationJob() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldBeAbleToCancelPopulationJob()
        {
            // GIVEN
            CreateNode(map(_name, "Mattias"), _first);
            IndexPopulator      populator = mock(typeof(IndexPopulator));
            FlippableIndexProxy index     = mock(typeof(FlippableIndexProxy));
            IndexStoreView      storeView = mock(typeof(IndexStoreView));
            ControlledStoreScan storeScan = new ControlledStoreScan();

            when(storeView.VisitNodes(any(typeof(int[])), any(typeof(System.Func <int, bool>)), ArgumentMatchers.any(), ArgumentMatchers.any <Visitor <NodeLabelUpdate, Exception> >(), anyBoolean())).thenReturn(storeScan);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final IndexPopulationJob job = newIndexPopulationJob(populator, index, storeView, org.neo4j.logging.NullLogProvider.getInstance(), org.neo4j.storageengine.api.EntityType.NODE, indexDescriptor(FIRST, name, false));
            IndexPopulationJob job = NewIndexPopulationJob(populator, index, storeView, NullLogProvider.Instance, EntityType.NODE, IndexDescriptor(_first, _name, false));

            OtherThreadExecutor <Void> populationJobRunner = Cleanup.add(new OtherThreadExecutor <Void>("Population job test runner", null));
            Future <Void> runFuture = populationJobRunner.ExecuteDontWait(state =>
            {
                job.Run();
                return(null);
            });

            storeScan.Latch.waitForAllToStart();
            job.Cancel().get();
            storeScan.Latch.waitForAllToFinish();

            // WHEN
            runFuture.get();

            // THEN
            verify(populator, times(1)).close(false);
            verify(index, never()).flip(any(), any());
        }
Esempio n. 5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void logConstraintJobProgress() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void LogConstraintJobProgress()
        {
            // Given
            CreateNode(map(_name, "irrelephant"), _first);
            AssertableLogProvider logProvider = new AssertableLogProvider();
            FlippableIndexProxy   index       = mock(typeof(FlippableIndexProxy));

            when(index.State).thenReturn(InternalIndexState.POPULATING);
            IndexPopulator populator = spy(IndexPopulator(false));

            try
            {
                IndexPopulationJob job = NewIndexPopulationJob(populator, index, _indexStoreView, logProvider, EntityType.NODE, IndexDescriptor(_first, _name, true));

                // When
                job.Run();

                // Then
                AssertableLogProvider.LogMatcherBuilder match = inLog(typeof(IndexPopulationJob));
                logProvider.AssertExactly(match.info("Index population started: [%s]", ":FIRST(name)"), match.info("Index created. Starting data checks. Index [%s] is %s.", ":FIRST(name)", "POPULATING"), match.info(containsString("TIME/PHASE Final: SCAN[")));
            }
            finally
            {
                populator.Close(true);
            }
        }
Esempio n. 6
0
        private IndexPopulationJob NewIndexPopulationJob(FailedIndexProxyFactory failureDelegateFactory, IndexPopulator populator, FlippableIndexProxy flipper, IndexStoreView storeView, LogProvider logProvider, EntityType type, IndexDescriptor descriptor)
        {
            long indexId = 0;

            flipper.FlipTarget = mock(typeof(IndexProxyFactory));

            MultipleIndexPopulator multiPopulator = new MultipleIndexPopulator(storeView, logProvider, type, _stateHolder);
            IndexPopulationJob     job            = new IndexPopulationJob(multiPopulator, NO_MONITOR, false);

            job.AddPopulator(populator, descriptor.WithId(indexId).withoutCapabilities(), format(":%s(%s)", _first.name(), _name), flipper, failureDelegateFactory);
            return(job);
        }
Esempio n. 7
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void stopOngoingPopulationJobs() throws java.util.concurrent.ExecutionException, InterruptedException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void StopOngoingPopulationJobs()
        {
            IndexPopulationJob populationJob  = IndexPopulationJob;
            IndexPopulationJob populationJob2 = IndexPopulationJob;

            _jobController.startIndexPopulation(populationJob);
            _jobController.startIndexPopulation(populationJob2);

            _jobController.stop();

            verify(populationJob).cancel();
            verify(populationJob2).cancel();
        }
Esempio n. 8
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldCloseMultiPopulatorOnSuccessfulPopulation()
        public virtual void ShouldCloseMultiPopulatorOnSuccessfulPopulation()
        {
            // given
            NullLogProvider logProvider = NullLogProvider.Instance;
            TrackingMultipleIndexPopulator populator     = new TrackingMultipleIndexPopulator(IndexStoreView_Fields.Empty, logProvider, EntityType.NODE, new DatabaseSchemaState(logProvider));
            IndexPopulationJob             populationJob = new IndexPopulationJob(populator, NO_MONITOR, false);

            // when
            populationJob.Run();

            // then
            assertTrue(populator.Closed);
        }
Esempio n. 9
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void untrackFinishedPopulations()
        public virtual void UntrackFinishedPopulations()
        {
            IndexPopulationJob populationJob = IndexPopulationJob;

            _jobController.startIndexPopulation(populationJob);

            assertThat(_jobController.PopulationJobs, hasSize(1));

            _executer.runJob();

            assertThat(_jobController.PopulationJobs, hasSize(0));
            verify(populationJob).run();
        }
Esempio n. 10
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void trackPopulationJobs()
        public virtual void TrackPopulationJobs()
        {
            assertThat(_jobController.PopulationJobs, @is(empty()));

            IndexPopulationJob populationJob = mock(typeof(IndexPopulationJob));

            _jobController.startIndexPopulation(populationJob);
            assertThat(_jobController.PopulationJobs, hasSize(1));

            IndexPopulationJob populationJob2 = mock(typeof(IndexPopulationJob));

            _jobController.startIndexPopulation(populationJob2);
            assertThat(_jobController.PopulationJobs, hasSize(2));
        }
Esempio n. 11
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldCloseMultiPopulatorOnFailedPopulation()
        public virtual void ShouldCloseMultiPopulatorOnFailedPopulation()
        {
            // given
            NullLogProvider logProvider                  = NullLogProvider.Instance;
            IndexStoreView  failingStoreView             = new IndexStoreView_AdaptorAnonymousInnerClass(this);
            TrackingMultipleIndexPopulator populator     = new TrackingMultipleIndexPopulator(failingStoreView, logProvider, EntityType.NODE, new DatabaseSchemaState(logProvider));
            IndexPopulationJob             populationJob = new IndexPopulationJob(populator, NO_MONITOR, false);

            // when
            populationJob.Run();

            // then
            assertTrue(populator.Closed);
        }
Esempio n. 12
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldFlipToFailedUsingFailedIndexProxyFactory() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldFlipToFailedUsingFailedIndexProxyFactory()
        {
            // Given
            FailedIndexProxyFactory failureDelegateFactory = mock(typeof(FailedIndexProxyFactory));
            IndexPopulator          populator = spy(IndexPopulator(false));
            IndexPopulationJob      job       = NewIndexPopulationJob(failureDelegateFactory, populator, new FlippableIndexProxy(), _indexStoreView, NullLogProvider.Instance, EntityType.NODE, IndexDescriptor(_first, _name, false));

            System.InvalidOperationException failure = new System.InvalidOperationException("not successful");
            doThrow(failure).when(populator).close(true);

            // When
            job.Run();

            // Then
            verify(failureDelegateFactory).create(any(typeof(Exception)));
        }
Esempio n. 13
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldFlushSchemaStateAfterPopulation() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldFlushSchemaStateAfterPopulation()
        {
            // GIVEN
            string value = "Taylor";

            CreateNode(map(_name, value), _first);
            _stateHolder.put("key", "original_value");
            IndexPopulator     populator = spy(IndexPopulator(false));
            IndexPopulationJob job       = NewIndexPopulationJob(populator, new FlippableIndexProxy(), EntityType.NODE, IndexDescriptor(_first, _name, false));

            // WHEN
            job.Run();

            // THEN
            string result = _stateHolder.get("key");

            assertNull(result);
        }
Esempio n. 14
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldTransitionToFailedStateIfPopulationJobCrashes() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldTransitionToFailedStateIfPopulationJobCrashes()
        {
            // GIVEN
            IndexPopulator failingPopulator = mock(typeof(IndexPopulator));

            doThrow(new Exception("BORK BORK")).when(failingPopulator).add(any(typeof(System.Collections.ICollection)));

            FlippableIndexProxy index = new FlippableIndexProxy();

            CreateNode(map(_name, "Taylor"), _first);
            IndexPopulationJob job = NewIndexPopulationJob(failingPopulator, index, EntityType.NODE, IndexDescriptor(_first, _name, false));

            // WHEN
            job.Run();

            // THEN
            assertThat(index.State, equalTo(InternalIndexState.FAILED));
        }
Esempio n. 15
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldCloseAndFailOnFailure() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldCloseAndFailOnFailure()
        {
            CreateNode(map(_name, "irrelephant"), _first);
            LogProvider         logProvider = NullLogProvider.Instance;
            FlippableIndexProxy index       = mock(typeof(FlippableIndexProxy));
            IndexPopulator      populator   = spy(IndexPopulator(false));
            IndexPopulationJob  job         = NewIndexPopulationJob(populator, index, _indexStoreView, logProvider, EntityType.NODE, IndexDescriptor(_first, _name, false));

            string failureMessage = "not successful";

            System.InvalidOperationException failure = new System.InvalidOperationException(failureMessage);
            doThrow(failure).when(populator).create();

            // When
            job.Run();

            // Then
            verify(populator).markAsFailed(contains(failureMessage));
        }
Esempio n. 16
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldLogJobFailure() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldLogJobFailure()
        {
            // Given
            CreateNode(map(_name, "irrelephant"), _first);
            AssertableLogProvider logProvider = new AssertableLogProvider();
            FlippableIndexProxy   index       = mock(typeof(FlippableIndexProxy));
            IndexPopulator        populator   = spy(IndexPopulator(false));
            IndexPopulationJob    job         = NewIndexPopulationJob(populator, index, _indexStoreView, logProvider, EntityType.NODE, IndexDescriptor(_first, _name, false));

            Exception failure = new System.InvalidOperationException("not successful");

            doThrow(failure).when(populator).create();

            // When
            job.Run();

            // Then
            AssertableLogProvider.LogMatcherBuilder match = inLog(typeof(IndexPopulationJob));
            logProvider.AssertAtLeastOnce(match.error(@is("Failed to populate index: [:FIRST(name)]"), sameInstance(failure)));
        }
Esempio n. 17
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldPopulateRelatonshipIndexWithASmallDataset() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldPopulateRelatonshipIndexWithASmallDataset()
        {
            // GIVEN
            string value = "Philip J.Fry";
            long   node1 = CreateNode(map(_name, value), _first);
            long   node2 = CreateNode(map(_name, value), _second);
            long   node3 = CreateNode(map(_age, 31), _first);
            long   node4 = CreateNode(map(_age, 35, _name, value), _first);

            long rel1 = CreateRelationship(map(_name, value), _likes, node1, node3);

            CreateRelationship(map(_name, value), _knows, node3, node1);
            CreateRelationship(map(_age, 31), _likes, node2, node1);
            long rel4 = CreateRelationship(map(_age, 35, _name, value), _likes, node4, node4);

            IndexDescriptor    descriptor = IndexDescriptorFactory.forSchema(SchemaDescriptorFactory.forRelType(0, 0));
            IndexPopulator     populator  = spy(IndexPopulator(descriptor));
            IndexPopulationJob job        = NewIndexPopulationJob(populator, new FlippableIndexProxy(), EntityType.RELATIONSHIP, descriptor);

            // WHEN
            job.Run();

            // THEN
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: org.neo4j.kernel.api.index.IndexEntryUpdate<?> update1 = add(rel1, descriptor, org.neo4j.values.storable.Values.of(value));
            IndexEntryUpdate <object> update1 = add(rel1, descriptor, Values.of(value));
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: org.neo4j.kernel.api.index.IndexEntryUpdate<?> update2 = add(rel4, descriptor, org.neo4j.values.storable.Values.of(value));
            IndexEntryUpdate <object> update2 = add(rel4, descriptor, Values.of(value));

            verify(populator).create();
            verify(populator).includeSample(update1);
            verify(populator).includeSample(update2);
            verify(populator, times(2)).add(anyCollection());
            verify(populator).sampleResult();
            verify(populator).close(true);
        }
Esempio n. 18
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldPopulateIndexWithOneRelationship() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldPopulateIndexWithOneRelationship()
        {
            // GIVEN
            string             value        = "Taylor";
            long               nodeId       = CreateNode(map(_name, value), _first);
            long               relationship = CreateRelationship(map(_name, _age), _likes, nodeId, nodeId);
            IndexDescriptor    descriptor   = IndexDescriptorFactory.forSchema(SchemaDescriptorFactory.forRelType(0, 0));
            IndexPopulator     populator    = spy(IndexPopulator(descriptor));
            IndexPopulationJob job          = NewIndexPopulationJob(populator, new FlippableIndexProxy(), EntityType.RELATIONSHIP, descriptor);

            // WHEN
            job.Run();

            // THEN
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: org.neo4j.kernel.api.index.IndexEntryUpdate<?> update = org.neo4j.kernel.api.index.IndexEntryUpdate.add(relationship, descriptor, org.neo4j.values.storable.Values.of(age));
            IndexEntryUpdate <object> update = IndexEntryUpdate.add(relationship, descriptor, Values.of(_age));

            verify(populator).create();
            verify(populator).includeSample(update);
            verify(populator, times(2)).add(any(typeof(System.Collections.ICollection)));
            verify(populator).sampleResult();
            verify(populator).close(true);
        }
Esempio n. 19
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are ignored unless the option to convert to C# 7.2 'in' parameters is selected:
//ORIGINAL LINE: IndexProxy createPopulatingIndexProxy(final org.neo4j.storageengine.api.schema.StoreIndexDescriptor descriptor, final boolean flipToTentative, final IndexingService.Monitor monitor, final IndexPopulationJob populationJob)
        internal virtual IndexProxy CreatePopulatingIndexProxy(StoreIndexDescriptor descriptor, bool flipToTentative, IndexingService.Monitor monitor, IndexPopulationJob populationJob)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final FlippableIndexProxy flipper = new FlippableIndexProxy();
            FlippableIndexProxy flipper = new FlippableIndexProxy();

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final String indexUserDescription = indexUserDescription(descriptor);
            string                 indexUserDescription   = indexUserDescription(descriptor);
            IndexPopulator         populator              = PopulatorFromProvider(descriptor, _samplingConfig, populationJob.BufferFactory());
            CapableIndexDescriptor capableIndexDescriptor = _providerMap.withCapabilities(descriptor);

            FailedIndexProxyFactory failureDelegateFactory = new FailedPopulatingIndexProxyFactory(capableIndexDescriptor, populator, indexUserDescription, new IndexCountsRemover(_storeView, descriptor.Id), _logProvider);

            MultipleIndexPopulator.IndexPopulation indexPopulation = populationJob.AddPopulator(populator, capableIndexDescriptor, indexUserDescription, flipper, failureDelegateFactory);
            PopulatingIndexProxy populatingIndex = new PopulatingIndexProxy(capableIndexDescriptor, populationJob, indexPopulation);

            flipper.FlipTo(populatingIndex);

            // Prepare for flipping to online mode
            flipper.FlipTarget = () =>
            {
                monitor.PopulationCompleteOn(descriptor);
                IndexAccessor    accessor    = OnlineAccessorFromProvider(descriptor, _samplingConfig);
                OnlineIndexProxy onlineProxy = new OnlineIndexProxy(capableIndexDescriptor, accessor, _storeView, true);
                if (flipToTentative)
                {
                    return(new TentativeConstraintIndexProxy(flipper, onlineProxy));
                }
                return(onlineProxy);
            };

            return(new ContractCheckingIndexProxy(flipper, false));
        }
 internal IndexPopulationJobWrapper(IndexPopulationJob indexPopulationJob, IndexPopulationJobController jobController)
 {
     this.IndexPopulationJob = indexPopulationJob;
     this.JobController      = jobController;
 }
 internal virtual void StartIndexPopulation(IndexPopulationJob job)
 {
     _populationJobs.Add(job);
     _scheduler.schedule(Group.INDEX_POPULATION, new IndexPopulationJobWrapper(job, this));
 }
 internal virtual void IndexPopulationCompleted(IndexPopulationJob populationJob)
 {
     _populationJobs.remove(populationJob);
 }
Esempio n. 23
0
 internal PopulatingIndexProxy(CapableIndexDescriptor capableIndexDescriptor, IndexPopulationJob job, MultipleIndexPopulator.IndexPopulation indexPopulation)
 {
     this._capableIndexDescriptor = capableIndexDescriptor;
     this._job             = job;
     this._indexPopulation = indexPopulation;
 }