Skip to content

Commit

Permalink
Cleanup AllStoreHolder and SchemaCache
Browse files Browse the repository at this point in the history
  • Loading branch information
ragadeeshu authored and chrisvest committed Jul 19, 2018
1 parent e01ec38 commit 32e59a5
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 30 deletions.
Expand Up @@ -314,11 +314,6 @@ else if ( rule instanceof StoreIndexDescriptor )
forLabel.add( index ); forLabel.add( index );
} }



Set<CapableIndexDescriptor> forLabel =
indexDescriptorsByLabel.getIfAbsentPut( schemaDescriptor.keyId(), HashSet::new );
forLabel.add( index );

for ( int propertyId : index.schema().getPropertyIds() ) for ( int propertyId : index.schema().getPropertyIds() )
{ {
List<CapableIndexDescriptor> indexesForProperty = List<CapableIndexDescriptor> indexesForProperty =
Expand Down
Expand Up @@ -236,6 +236,7 @@ long graphPropertiesReference()
@Override @Override
IndexReader indexReader( IndexReference index, boolean fresh ) throws IndexNotFoundKernelException IndexReader indexReader( IndexReference index, boolean fresh ) throws IndexNotFoundKernelException
{ {
assertValidIndex( index );
return fresh ? storageReader.getFreshIndexReader( (IndexDescriptor) index ) : return fresh ? storageReader.getFreshIndexReader( (IndexDescriptor) index ) :
storageReader.getIndexReader( (IndexDescriptor) index ); storageReader.getIndexReader( (IndexDescriptor) index );
} }
Expand Down Expand Up @@ -465,41 +466,38 @@ public Iterator<IndexReference> indexesGetAll()
public InternalIndexState indexGetState( IndexReference index ) throws IndexNotFoundKernelException public InternalIndexState indexGetState( IndexReference index ) throws IndexNotFoundKernelException
{ {
assertValidIndex( index ); assertValidIndex( index );
IndexDescriptor descriptor = (IndexDescriptor) index; sharedOptimisticLock( index.schema().keyType(), index.schema().keyId() );
sharedOptimisticLock( descriptor.schema().keyType(), descriptor.schema().keyId() );
ktx.assertOpen(); ktx.assertOpen();
return indexGetState( descriptor ); return indexGetState( (IndexDescriptor) index );
} }


@Override @Override
public PopulationProgress indexGetPopulationProgress( IndexReference index ) public PopulationProgress indexGetPopulationProgress( IndexReference index )
throws IndexNotFoundKernelException throws IndexNotFoundKernelException
{ {
IndexDescriptor descriptor = (IndexDescriptor) index; assertValidIndex( index );
sharedOptimisticLock( descriptor.schema().keyType(), descriptor.schema().keyId() ); sharedOptimisticLock( index.schema().keyType(), index.schema().keyId() );
ktx.assertOpen(); ktx.assertOpen();


if ( ktx.hasTxStateWithChanges() ) if ( ktx.hasTxStateWithChanges() )
{ {
if ( checkIndexState( descriptor, if ( checkIndexState( (IndexDescriptor) index, ktx.txState().indexDiffSetsBySchema( index.schema() ) ) )
ktx.txState().indexDiffSetsBySchema( descriptor.schema() ) ) )
{ {
return PopulationProgress.NONE; return PopulationProgress.NONE;
} }
} }


return storageReader.indexGetPopulationProgress( descriptor.schema() ); return storageReader.indexGetPopulationProgress( index.schema() );
} }


@Override @Override
public Long indexGetOwningUniquenessConstraintId( IndexReference index ) public Long indexGetOwningUniquenessConstraintId( IndexReference index )
{ {
IndexDescriptor descriptor = (IndexDescriptor) index; sharedOptimisticLock( index.schema().keyType(), index.schema().keyId() );
sharedOptimisticLock( descriptor.schema().keyType(), descriptor.schema().keyId() );
ktx.assertOpen(); ktx.assertOpen();
if ( descriptor instanceof StoreIndexDescriptor ) if ( index instanceof StoreIndexDescriptor )
{ {
return ((StoreIndexDescriptor) descriptor).getOwningConstraint(); return ((StoreIndexDescriptor) index).getOwningConstraint();
} }
else else
{ {
Expand All @@ -510,32 +508,30 @@ public Long indexGetOwningUniquenessConstraintId( IndexReference index )
@Override @Override
public long indexGetCommittedId( IndexReference index ) throws SchemaRuleNotFoundException public long indexGetCommittedId( IndexReference index ) throws SchemaRuleNotFoundException
{ {
IndexDescriptor descriptor = (IndexDescriptor) index; sharedOptimisticLock( index.schema().keyType(), index.schema().keyId() );
sharedOptimisticLock( descriptor.schema().keyType(), descriptor.schema().keyId() );
ktx.assertOpen(); ktx.assertOpen();
if ( descriptor instanceof StoreIndexDescriptor ) if ( index instanceof StoreIndexDescriptor )
{ {
return ((StoreIndexDescriptor) descriptor).getId(); return ((StoreIndexDescriptor) index).getId();
} }
else else
{ {
throw new SchemaRuleNotFoundException( SchemaRule.Kind.INDEX_RULE, ((IndexDescriptor)index).schema() ); throw new SchemaRuleNotFoundException( SchemaRule.Kind.INDEX_RULE, index.schema() );
} }
} }


@Override @Override
public String indexGetFailure( IndexReference index ) throws IndexNotFoundKernelException public String indexGetFailure( IndexReference index ) throws IndexNotFoundKernelException
{ {
assertValidIndex( index ); assertValidIndex( index );
IndexDescriptor descriptor = (IndexDescriptor) index; return storageReader.indexGetFailure( index.schema() );
return storageReader.indexGetFailure( descriptor.schema() );
} }


@Override @Override
public double indexUniqueValuesSelectivity( IndexReference index ) throws IndexNotFoundKernelException public double indexUniqueValuesSelectivity( IndexReference index ) throws IndexNotFoundKernelException
{ {
assertValidIndex( index ); assertValidIndex( index );
SchemaDescriptor schema = ((IndexDescriptor) index).schema(); SchemaDescriptor schema = index.schema();
sharedOptimisticLock( schema.keyType(), schema.keyId() ); sharedOptimisticLock( schema.keyType(), schema.keyId() );
ktx.assertOpen(); ktx.assertOpen();
return storageReader.indexUniqueValuesPercentage( schema ); return storageReader.indexUniqueValuesPercentage( schema );
Expand All @@ -545,7 +541,7 @@ public double indexUniqueValuesSelectivity( IndexReference index ) throws IndexN
public long indexSize( IndexReference index ) throws IndexNotFoundKernelException public long indexSize( IndexReference index ) throws IndexNotFoundKernelException
{ {
assertValidIndex( index ); assertValidIndex( index );
SchemaDescriptor schema = ((IndexDescriptor) index).schema(); SchemaDescriptor schema = index.schema();
sharedOptimisticLock( schema.keyType(), schema.keyId() ); sharedOptimisticLock( schema.keyType(), schema.keyId() );
ktx.assertOpen(); ktx.assertOpen();
return storageReader.indexSize( schema ); return storageReader.indexSize( schema );
Expand All @@ -555,6 +551,7 @@ public long indexSize( IndexReference index ) throws IndexNotFoundKernelExceptio
public long nodesCountIndexed( IndexReference index, long nodeId, Value value ) throws KernelException public long nodesCountIndexed( IndexReference index, long nodeId, Value value ) throws KernelException
{ {
ktx.assertOpen(); ktx.assertOpen();
assertValidIndex( index );
IndexReader reader = storageReader.getIndexReader( (IndexDescriptor) index ); IndexReader reader = storageReader.getIndexReader( (IndexDescriptor) index );
return reader.countIndexedNodes( nodeId, value ); return reader.countIndexedNodes( nodeId, value );
} }
Expand All @@ -580,8 +577,8 @@ public Register.DoubleLongRegister indexUpdatesAndSize( IndexReference index, Re
throws IndexNotFoundKernelException throws IndexNotFoundKernelException
{ {
ktx.assertOpen(); ktx.assertOpen();
return storageReader.indexUpdatesAndSize( assertValidIndex( index );
SchemaDescriptorFactory.forLabel( index.label(), index.properties() ), target ); return storageReader.indexUpdatesAndSize( index.schema(), target );


} }


Expand All @@ -590,8 +587,8 @@ public Register.DoubleLongRegister indexSample( IndexReference index, Register.D
throws IndexNotFoundKernelException throws IndexNotFoundKernelException
{ {
ktx.assertOpen(); ktx.assertOpen();
return storageReader.indexSample( assertValidIndex( index );
SchemaDescriptorFactory.forLabel( index.label(), index.properties() ), target ); return storageReader.indexSample( index.schema(), target );
} }


IndexReference indexGetCapability( IndexDescriptor schemaIndexDescriptor ) IndexReference indexGetCapability( IndexDescriptor schemaIndexDescriptor )
Expand Down

0 comments on commit 32e59a5

Please sign in to comment.