diff --git a/CHANGES.txt b/CHANGES.txt index 788b2bf5d1..b10a057b82 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.18 + * Fix nomenclature of allow and deny lists (CASSANDRA-15862) * Remove generated files from source artifact (CASSANDRA-15849) * Remove duplicated tools binaries from tarballs (CASSANDRA-15768) * Duplicate results with DISTINCT queries in mixed mode (CASSANDRA-15501) diff --git a/src/java/org/apache/cassandra/db/Directories.java b/src/java/org/apache/cassandra/db/Directories.java index fa76b610e4..d1aa65019a 100644 --- a/src/java/org/apache/cassandra/db/Directories.java +++ b/src/java/org/apache/cassandra/db/Directories.java @@ -292,10 +292,10 @@ public class Directories /** * Basically the same as calling {@link #getWriteableLocationAsFile(long)} with an unknown size ({@code -1L}), - * which may return any non-blacklisted directory - even a data directory that has no usable space. + * which may return any allowed directory - even a data directory that has no usable space. * Do not use this method in production code. * - * @throws IOError if all directories are blacklisted. + * @throws IOError if all directories are blocked. */ public File getDirectoryForNewSSTables() { @@ -303,9 +303,9 @@ public class Directories } /** - * Returns a non-blacklisted data directory that _currently_ has {@code writeSize} bytes as usable space. + * Returns an allowed directory that _currently_ has {@code writeSize} bytes as usable space. * - * @throws IOError if all directories are blacklisted. + * @throws IOError if all directories are disallowed. */ public File getWriteableLocationAsFile(long writeSize) { @@ -313,9 +313,9 @@ public class Directories } /** - * Returns a non-blacklisted data directory that _currently_ has {@code writeSize} bytes as usable space. + * Returns an allowed data directory that _currently_ has {@code writeSize} bytes as usable space. * - * @throws IOError if all directories are blacklisted. + * @throws IOError if all directories are disallowed. */ public DataDirectory getWriteableLocation(long writeSize) { @@ -323,13 +323,13 @@ public class Directories long totalAvailable = 0L; - // pick directories with enough space and so that resulting sstable dirs aren't blacklisted for writes. + // pick directories with enough space and so that resulting sstable dirs aren't disallowed for writes. boolean tooBig = false; for (DataDirectory dataDir : dataDirectories) { - if (BlacklistedDirectories.isUnwritable(getLocationForDisk(dataDir))) + if (DisallowedDirectories.isUnwritable(getLocationForDisk(dataDir))) { - logger.trace("removing blacklisted candidate {}", dataDir.location); + logger.trace("removing disallowed candidate {}", dataDir.location); continue; } DataDirectoryCandidate candidate = new DataDirectoryCandidate(dataDir); @@ -348,7 +348,7 @@ public class Directories if (tooBig) throw new RuntimeException("Insufficient disk space to write " + writeSize + " bytes"); else - throw new FSWriteError(new IOException("All configured data directories have been blacklisted as unwritable for erroring out"), ""); + throw new FSWriteError(new IOException("All configured data directories have been disallowed as unwritable for erroring out"), ""); // shortcut for single data directory systems if (candidates.size() == 1) @@ -393,7 +393,7 @@ public class Directories for (DataDirectory dataDir : dataDirectories) { - if (BlacklistedDirectories.isUnwritable(getLocationForDisk(dataDir))) + if (DisallowedDirectories.isUnwritable(getLocationForDisk(dataDir))) continue; DataDirectoryCandidate candidate = new DataDirectoryCandidate(dataDir); // exclude directory if its total writeSize does not fit to data directory @@ -588,7 +588,7 @@ public class Directories for (File location : dataPaths) { - if (BlacklistedDirectories.isUnreadable(location)) + if (DisallowedDirectories.isUnreadable(location)) continue; if (snapshotName != null) diff --git a/src/java/org/apache/cassandra/db/BlacklistedDirectories.java b/src/java/org/apache/cassandra/db/DisallowedDirectories.java similarity index 76% rename from src/java/org/apache/cassandra/db/BlacklistedDirectories.java rename to src/java/org/apache/cassandra/db/DisallowedDirectories.java index a14e0139f5..c0518e2926 100644 --- a/src/java/org/apache/cassandra/db/BlacklistedDirectories.java +++ b/src/java/org/apache/cassandra/db/DisallowedDirectories.java @@ -25,21 +25,22 @@ import java.util.Collections; import java.util.Set; import java.util.concurrent.CopyOnWriteArraySet; -import org.apache.cassandra.utils.JVMStabilityInspector; import org.apache.cassandra.utils.MBeanWrapper; -public class BlacklistedDirectories implements BlacklistedDirectoriesMBean +public class DisallowedDirectories implements DisallowedDirectoriesMBean { - public static final String MBEAN_NAME = "org.apache.cassandra.db:type=BlacklistedDirectories"; - private static final Logger logger = LoggerFactory.getLogger(BlacklistedDirectories.class); - private static final BlacklistedDirectories instance = new BlacklistedDirectories(); + public static final String DEPRECATED_MBEAN_NAME = "org.apache.cassandra.db:type=BlacklistedDirectories"; + public static final String MBEAN_NAME = "org.apache.cassandra.db:type=DisallowedDirectories"; + private static final Logger logger = LoggerFactory.getLogger(DisallowedDirectories.class); + private static final DisallowedDirectories instance = new DisallowedDirectories(); private final Set unreadableDirectories = new CopyOnWriteArraySet(); private final Set unwritableDirectories = new CopyOnWriteArraySet(); - private BlacklistedDirectories() + private DisallowedDirectories() { // Register this instance with JMX + MBeanWrapper.instance.registerMBean(this, DEPRECATED_MBEAN_NAME, MBeanWrapper.OnException.LOG); MBeanWrapper.instance.registerMBean(this, MBEAN_NAME, MBeanWrapper.OnException.LOG); } @@ -57,14 +58,14 @@ public class BlacklistedDirectories implements BlacklistedDirectoriesMBean * Adds parent directory of the file (or the file itself, if it is a directory) * to the set of unreadable directories. * - * @return the blacklisted directory or null if nothing has been added to the list. + * @return the disallowed directory or null if nothing has been added to the list. */ public static File maybeMarkUnreadable(File path) { File directory = getDirectory(path); if (instance.unreadableDirectories.add(directory)) { - logger.warn("Blacklisting {} for reads", directory); + logger.warn("Disallowing {} for reads", directory); return directory; } return null; @@ -74,22 +75,22 @@ public class BlacklistedDirectories implements BlacklistedDirectoriesMBean * Adds parent directory of the file (or the file itself, if it is a directory) * to the set of unwritable directories. * - * @return the blacklisted directory or null if nothing has been added to the list. + * @return the disallowed directory or null if nothing has been added to the list. */ public static File maybeMarkUnwritable(File path) { File directory = getDirectory(path); if (instance.unwritableDirectories.add(directory)) { - logger.warn("Blacklisting {} for writes", directory); + logger.warn("Disallowing {} for writes", directory); return directory; } return null; } /** - * Tells whether or not the directory is blacklisted for reads. - * @return whether or not the directory is blacklisted for reads. + * Tells whether or not the directory is disallowed for reads. + * @return whether or not the directory is disallowed for reads. */ public static boolean isUnreadable(File directory) { @@ -97,8 +98,8 @@ public class BlacklistedDirectories implements BlacklistedDirectoriesMBean } /** - * Tells whether or not the directory is blacklisted for writes. - * @return whether or not the directory is blacklisted for reads. + * Tells whether or not the directory is disallowed for writes. + * @return whether or not the directory is disallowed for reads. */ public static boolean isUnwritable(File directory) { diff --git a/src/java/org/apache/cassandra/db/BlacklistedDirectoriesMBean.java b/src/java/org/apache/cassandra/db/DisallowedDirectoriesMBean.java similarity index 95% rename from src/java/org/apache/cassandra/db/BlacklistedDirectoriesMBean.java rename to src/java/org/apache/cassandra/db/DisallowedDirectoriesMBean.java index 3163b9ae42..8e825dd0d0 100644 --- a/src/java/org/apache/cassandra/db/BlacklistedDirectoriesMBean.java +++ b/src/java/org/apache/cassandra/db/DisallowedDirectoriesMBean.java @@ -20,7 +20,8 @@ package org.apache.cassandra.db; import java.io.File; import java.util.Set; -public interface BlacklistedDirectoriesMBean { +public interface DisallowedDirectoriesMBean +{ public Set getUnreadableDirectories(); diff --git a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java index 5170375fc3..f9ed780eea 100644 --- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java @@ -243,10 +243,10 @@ public abstract class AbstractCompactionStrategy } /** - * Filters SSTables that are to be blacklisted from the given collection + * Filters SSTables that are to be excluded from the given collection * - * @param originalCandidates The collection to check for blacklisted SSTables - * @return list of the SSTables with blacklisted ones filtered out + * @param originalCandidates The collection to check for excluded SSTables + * @return list of the SSTables with excluded ones filtered out */ public static Iterable filterSuspectSSTables(Iterable originalCandidates) { diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java index 3b207da298..fba679844e 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -546,7 +546,7 @@ public class LeveledManifest /** * @return highest-priority sstables to compact for the given level. - * If no compactions are possible (because of concurrent compactions or because some sstables are blacklisted + * If no compactions are possible (because of concurrent compactions or because some sstables are excluded * for prior failure), will return an empty list. Never returns null. */ private Collection getCandidatesFor(int level) diff --git a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java index 16fa6c9deb..96bf01ddfe 100644 --- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java +++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java @@ -1687,7 +1687,7 @@ public abstract class SSTableReader extends SSTable implements SelfRefCounted