Skip to content

Commit c02813d

Browse files
committed
Revert CNDB-11311, except TOCComponent
1 parent 43dbe78 commit c02813d

File tree

2 files changed

+4
-10
lines changed

2 files changed

+4
-10
lines changed

src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@
8585
import org.apache.cassandra.io.sstable.SSTable;
8686
import org.apache.cassandra.io.sstable.SSTableIdentityIterator;
8787
import org.apache.cassandra.io.sstable.SSTableReadsListener;
88+
import org.apache.cassandra.io.sstable.SSTableWatcher;
8889
import org.apache.cassandra.io.sstable.format.SSTableFormat.Components;
8990
import org.apache.cassandra.io.sstable.metadata.CompactionMetadata;
9091
import org.apache.cassandra.io.sstable.metadata.StatsMetadata;
@@ -446,6 +447,7 @@ public static SSTableReader open(Owner owner,
446447
boolean validate,
447448
boolean isOffline)
448449
{
450+
components = SSTableWatcher.instance.discoverComponents(descriptor, components);
449451
SSTableReaderLoadingBuilder<?, ?> builder = descriptor.getFormat().getReaderFactory().loadingBuilder(descriptor, metadata, components);
450452

451453
return builder.build(owner, validate, !isOffline);

src/java/org/apache/cassandra/io/sstable/format/SSTableReaderLoadingBuilder.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import org.apache.cassandra.io.sstable.IOOptions;
3434
import org.apache.cassandra.io.sstable.KeyReader;
3535
import org.apache.cassandra.io.sstable.SSTable;
36-
import org.apache.cassandra.io.sstable.SSTableWatcher;
3736
import org.apache.cassandra.io.sstable.format.SSTableFormat.Components;
3837
import org.apache.cassandra.io.sstable.metadata.ValidationMetadata;
3938
import org.apache.cassandra.metrics.TableMetrics;
@@ -61,13 +60,7 @@ public abstract class SSTableReaderLoadingBuilder<R extends SSTableReader, B ext
6160
public SSTableReaderLoadingBuilder(SSTable.Builder<?, ?> builder)
6261
{
6362
this.descriptor = builder.descriptor;
64-
65-
Set<Component> ssTableComponents;
66-
if (builder.getComponents() != null)
67-
ssTableComponents = ImmutableSet.copyOf(builder.getComponents());
68-
else
69-
ssTableComponents = TOCComponent.loadOrCreate(this.descriptor);
70-
this.components = SSTableWatcher.instance.discoverComponents(descriptor, ssTableComponents);
63+
this.components = builder.getComponents() != null ? ImmutableSet.copyOf(builder.getComponents()) : TOCComponent.loadOrCreate(this.descriptor);
7164

7265
this.tableMetadataRef = builder.getTableMetadataRef() != null ? builder.getTableMetadataRef() : resolveTableMetadataRef();
7366
this.ioOptions = builder.getIOOptions() != null ? builder.getIOOptions() : IOOptions.fromDatabaseDescriptor();
@@ -79,10 +72,9 @@ public SSTableReaderLoadingBuilder(SSTable.Builder<?, ?> builder)
7972

8073
public R build(SSTable.Owner owner, boolean validate, boolean online)
8174
{
82-
8375
checkArgument(components.contains(Components.DATA), "Data component is missing for sstable %s", descriptor);
8476
if (validate)
85-
checkArgument(components.containsAll(descriptor.getFormat().primaryComponents()), "Some required components (%s) are missing for sstable %s", Sets.difference(descriptor.getFormat().primaryComponents(), this.components), descriptor);
77+
checkArgument(this.components.containsAll(descriptor.getFormat().primaryComponents()), "Some required components (%s) are missing for sstable %s", Sets.difference(descriptor.getFormat().primaryComponents(), this.components), descriptor);
8678

8779
B builder = (B) descriptor.getFormat().getReaderFactory().builder(descriptor);
8880
builder.setOpenReason(NORMAL);

0 commit comments

Comments
 (0)