Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions config/checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,10 @@
<module name="IllegalImport">
<property name="illegalClasses" value="com.google.common.collect.ImmutableList"/>
</module>
<!-- Disallow importing Guava Files (use java.nio.file.Files instead) -->
<module name="IllegalImport">
<property name="illegalClasses" value="com.google.common.io.Files"/>
</module>
<!-- Use org.testng.Assert in tests -->
<module name="IllegalImport">
<property name="regexp" value="true"/>
Expand Down Expand Up @@ -323,4 +327,19 @@
<property name="format" value="\n\n\s*\}" />
<property name="message" value="Blank line before closing brace" />
</module>

<!-- Deprecated API guards: prevent reintroduction of deprecated APIs that have been cleaned up.
Suppress false positives with CHECKSTYLE:OFF/ON comments (e.g. StringUtils.remove(str, char) is not deprecated). -->
<module name="RegexpSingleline">
<property name="format" value="RandomStringUtils\.random[A-Z(]"/>
<property name="message" value="RandomStringUtils.random*() is deprecated. Use RandomStringUtils.secure().next*() instead."/>
</module>
<module name="RegexpSingleline">
<property name="format" value="StringUtils\.compare\("/>
<property name="message" value="StringUtils.compare() is deprecated. Use Strings.CS.compare() instead."/>
</module>
<module name="RegexpSingleline">
<property name="format" value="StringUtils\.replace\("/>
<property name="message" value="StringUtils.replace() is deprecated. Use Strings.CS.replace() instead."/>
</module>
</module>
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ public void processTimeSeriesQueryEngine(JsonNode requestJson, @Suspended AsyncR
String language = requestJson.has(Request.LANGUAGE) ? requestJson.get(Request.LANGUAGE).asText() : null;
String queryString = requestJson.get(Request.QUERY).asText();
Map<String, String> queryParams = new HashMap<>();
requestJson.fields().forEachRemaining(entry -> {
requestJson.properties().forEach(entry -> {
if (entry.getValue().isTextual()) {
queryParams.put(entry.getKey(), entry.getValue().asText());
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ public static AccessControlFactory loadFactory(PinotConfiguration configuration,
}
try {
LOGGER.info("Instantiating Access control factory class {}", accessControlFactoryClassName);
accessControlFactory = (AccessControlFactory) Class.forName(accessControlFactoryClassName).newInstance();
accessControlFactory =
(AccessControlFactory) Class.forName(accessControlFactoryClassName).getDeclaredConstructor().newInstance();
LOGGER.info("Initializing Access control factory class {}", accessControlFactoryClassName);
accessControlFactory.init(configuration, propertyStore);
return accessControlFactory;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ public Map<String, List<String>> getServerToSegmentsMapAsMap(String tableName, S
}

Map<String, List<String>> result = new HashMap<>();
serversMapNode.fields().forEachRemaining(entry -> {
serversMapNode.properties().forEach(entry -> {
List<String> segments = new ArrayList<>();
JsonNode value = entry.getValue();
if (value != null && value.isArray()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import java.io.InputStream;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Calendar;
Expand Down Expand Up @@ -118,8 +119,10 @@ public void testFetchStreams()
int currentRow = 0;

while (pinotResultSet.next()) {
Assert.assertEquals(IOUtils.toString(pinotResultSet.getAsciiStream(5)), resultSet.getString(currentRow, 4));
Assert.assertEquals(IOUtils.toString(pinotResultSet.getUnicodeStream(5)), resultSet.getString(currentRow, 4));
Assert.assertEquals(IOUtils.toString(pinotResultSet.getAsciiStream(5), StandardCharsets.US_ASCII),
resultSet.getString(currentRow, 4));
Assert.assertEquals(IOUtils.toString(pinotResultSet.getUnicodeStream(5), StandardCharsets.UTF_8),
resultSet.getString(currentRow, 4));
Assert.assertEquals(IOUtils.toString(pinotResultSet.getCharacterStream(5)), resultSet.getString(currentRow, 4));
currentRow++;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import java.util.Base64;
import javax.annotation.Nullable;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Strings;
import org.apache.pinot.common.utils.BcryptUtils;


Expand Down Expand Up @@ -54,7 +55,7 @@ public static String decodeBasicAuthToken(String auth) {
if (StringUtils.isBlank(auth)) {
return null;
}
String replacedAuth = StringUtils.replace(auth, "Basic ", "");
String replacedAuth = Strings.CS.replace(auth, "Basic ", "");
byte[] decodedBytes = Base64.getDecoder().decode(replacedAuth);
String decodedString = new String(decodedBytes);
return decodedString;
Expand All @@ -80,7 +81,7 @@ public static String toEncryptBasicAuthToken(String auth) {
if (StringUtils.isBlank(auth)) {
return null;
}
String replacedAuth = StringUtils.replace(auth, "Basic ", "");
String replacedAuth = Strings.CS.replace(auth, "Basic ", "");
byte[] decodedBytes = Base64.getDecoder().decode(replacedAuth);
String decodedString = new String(decodedBytes);
String[] cretential = StringUtils.split(decodedString, ":");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import javax.annotation.Nullable;
import org.apache.commons.codec.language.Soundex;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Strings;
import org.apache.pinot.common.utils.URIUtils;
import org.apache.pinot.spi.annotations.ScalarFunction;
import org.apache.pinot.spi.utils.JsonUtils;
Expand Down Expand Up @@ -762,7 +763,7 @@ public static String repeat(String input, String sep, int times) {
*/
@ScalarFunction
public static String remove(String input, String search) {
return StringUtils.remove(input, search);
return Strings.CS.remove(input, search);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.fasterxml.jackson.core.type.TypeReference;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Map;
import javax.annotation.Nullable;
import org.apache.commons.io.IOUtils;
Expand Down Expand Up @@ -89,7 +90,7 @@ public Map<String, String> getTasksStates(String taskType)
HttpGet httpGet = createHttpGetRequest(MinionRequestURLBuilder.baseUrl(_controllerUrl).forTasksStates(taskType));
try (CloseableHttpResponse response = HTTP_CLIENT.execute(httpGet)) {
int statusCode = response.getCode();
final String responseString = IOUtils.toString(response.getEntity().getContent());
final String responseString = IOUtils.toString(response.getEntity().getContent(), StandardCharsets.UTF_8);
if (statusCode >= 400) {
throw new HttpException(
String.format("Unable to get tasks states map. Error code %d, Error message: %s", statusCode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import org.apache.calcite.sql.SqlLiteral;
import org.apache.calcite.sql.SqlNumericLiteral;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Strings;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.pinot.common.function.TransformFunctionType;
import org.apache.pinot.common.request.DataSource;
Expand Down Expand Up @@ -255,7 +256,7 @@ public static Literal getLiteral(SqlLiteral node) {
break;
default:
literal.setStringValue(
_useLegacyLiteralUnescaping ? StringUtils.replace(node.toValue(), "''", "'") : node.toValue());
_useLegacyLiteralUnescaping ? Strings.CS.replace(node.toValue(), "''", "'") : node.toValue());
break;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

import java.util.List;
import java.util.concurrent.TimeUnit;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Strings;
import org.apache.pinot.common.metrics.BrokerGauge;
import org.apache.pinot.common.metrics.BrokerMeter;
import org.apache.pinot.common.metrics.BrokerMetrics;
Expand Down Expand Up @@ -97,7 +97,7 @@ public void meterTest(BrokerMeter meter) {
_brokerMetrics.addMeteredGlobalValue(meter, 5L);
if (GLOBAL_METERS_WITH_EXCEPTIONS_PREFIX.contains(meter)) {
String exportedMeterPrefix = String.format("%s_%s", EXPORTED_METRIC_PREFIX_EXCEPTIONS,
StringUtils.remove(meter.getMeterName(), "Exceptions"));
Strings.CS.remove(meter.getMeterName(), "Exceptions"));
assertMeterExportedCorrectly(exportedMeterPrefix, EXPORTED_METRIC_PREFIX);
} else {
assertMeterExportedCorrectly(meter.getMeterName(), EXPORTED_METRIC_PREFIX);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

import java.util.List;
import java.util.concurrent.TimeUnit;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Strings;
import org.apache.helix.task.TaskState;
import org.apache.pinot.common.metrics.ControllerGauge;
import org.apache.pinot.common.metrics.ControllerMeter;
Expand Down Expand Up @@ -105,12 +105,12 @@ public void meterTest(ControllerMeter meter) {
//some meters contain a "controller" prefix. For example, controllerInstancePostError. These meters are
// exported as 'pinot_controller_pinot_controller_InstancePostError'. So we strip the 'controller' from
// 'controllerInstancePostError'
String strippedMeterName = StringUtils.remove(meterName, "controller");
String strippedMeterName = Strings.CS.remove(meterName, "controller");
assertMeterExportedCorrectly(strippedMeterName, EXPORTED_METRIC_PREFIX);
} else {

String meterName = meter.getMeterName();
String strippedMeterName = StringUtils.remove(meterName, "controller");
String strippedMeterName = Strings.CS.remove(meterName, "controller");

if (meter == ControllerMeter.CONTROLLER_PERIODIC_TASK_ERROR) {
addMeterWithLabels(meter, ExportedLabelValues.CONTROLLER_PERIODIC_TASK_CHC);
Expand Down Expand Up @@ -195,7 +195,7 @@ private void addGaugeWithLabels(ControllerGauge gauge, String labels) {
}

private static String getStrippedMetricName(ControllerGauge controllerGauge) {
return StringUtils.remove(controllerGauge.getGaugeName(), "controller");
return Strings.CS.remove(controllerGauge.getGaugeName(), "controller");
}

private void addMeterWithLabels(ControllerMeter meter, String labels) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Strings;
import org.apache.pinot.common.utils.SimpleHttpResponse;
import org.apache.pinot.common.utils.http.HttpClient;
import org.apache.pinot.spi.annotations.metrics.PinotMetricsFactory;
Expand Down Expand Up @@ -464,8 +465,8 @@ public String toString() {
}

private boolean metricNamesAreSimilar(PromMetric that) {
String processedMetricNameThis = StringUtils.remove(_metricName, "_");
String processedMetricNameThat = StringUtils.remove(that._metricName, "_");
String processedMetricNameThis = Strings.CS.remove(_metricName, "_");
String processedMetricNameThat = Strings.CS.remove(that._metricName, "_");
return StringUtils.equalsIgnoreCase(processedMetricNameThis, processedMetricNameThat);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -75,7 +76,7 @@ public void testFile(String compressedTarFileExtension)
String fileName = "data";
String fileContent = "fileContent";
File dataFile = new File(DATA_DIR, fileName);
FileUtils.write(dataFile, fileContent);
FileUtils.write(dataFile, fileContent, StandardCharsets.UTF_8);

File compressedTarFile = new File(TAR_DIR, fileName + compressedTarFileExtension);
TarCompressionUtils.createCompressedTarFile(dataFile, compressedTarFile);
Expand All @@ -84,11 +85,11 @@ public void testFile(String compressedTarFileExtension)
assertEquals(untarredFiles.size(), 1);
File untarredFile = untarredFiles.get(0);
assertEquals(untarredFile, new File(UNTAR_DIR, fileName));
assertEquals(FileUtils.readFileToString(untarredFile), fileContent);
assertEquals(FileUtils.readFileToString(untarredFile, StandardCharsets.UTF_8), fileContent);

untarredFile = new File(UNTAR_DIR, "untarred");
TarCompressionUtils.untarOneFile(compressedTarFile, fileName, untarredFile);
assertEquals(FileUtils.readFileToString(untarredFile), fileContent);
assertEquals(FileUtils.readFileToString(untarredFile, StandardCharsets.UTF_8), fileContent);
}

@Test
Expand All @@ -112,8 +113,8 @@ public void testDirectories(String compressedTarFileExtension)
String fileContent1 = "fileContent1";
String fileName2 = "data2";
String fileContent2 = "fileContent2";
FileUtils.write(new File(dir1, fileName1), fileContent1);
FileUtils.write(new File(dir2, fileName2), fileContent2);
FileUtils.write(new File(dir1, fileName1), fileContent1, StandardCharsets.UTF_8);
FileUtils.write(new File(dir2, fileName2), fileContent2, StandardCharsets.UTF_8);

String outputTarName = "output_tar" + compressedTarFileExtension;
File compressedTarFile = new File(TAR_DIR, outputTarName);
Expand All @@ -140,12 +141,14 @@ public void testDirectories(String compressedTarFileExtension)
File[] filesDir1 = untarredFileDir1.listFiles();
assertNotNull(filesDir1);
assertEquals(filesDir1.length, 1);
assertEquals(FileUtils.readFileToString(new File(untarredFileDir1, fileName1)), fileContent1);
assertEquals(
FileUtils.readFileToString(new File(untarredFileDir1, fileName1), StandardCharsets.UTF_8), fileContent1);

File[] filesDir2 = untarredFileDir2.listFiles();
assertNotNull(filesDir2);
assertEquals(filesDir2.length, 1);
assertEquals(FileUtils.readFileToString(new File(untarredFileDir2, fileName2)), fileContent2);
assertEquals(
FileUtils.readFileToString(new File(untarredFileDir2, fileName2), StandardCharsets.UTF_8), fileContent2);
}

@Test
Expand All @@ -164,8 +167,8 @@ public void testDirectory(String compressedTarFileExtension)
String fileContent1 = "fileContent1";
String fileName2 = "data2";
String fileContent2 = "fileContent2";
FileUtils.write(new File(dir, fileName1), fileContent1);
FileUtils.write(new File(dir, fileName2), fileContent2);
FileUtils.write(new File(dir, fileName1), fileContent1, StandardCharsets.UTF_8);
FileUtils.write(new File(dir, fileName2), fileContent2, StandardCharsets.UTF_8);

File compressedTarFile = new File(TAR_DIR, dirName + compressedTarFileExtension);
TarCompressionUtils.createCompressedTarFile(dir, compressedTarFile);
Expand All @@ -177,14 +180,14 @@ public void testDirectory(String compressedTarFileExtension)
File[] files = untarredFile.listFiles();
assertNotNull(files);
assertEquals(files.length, 2);
assertEquals(FileUtils.readFileToString(new File(untarredFile, fileName1)), fileContent1);
assertEquals(FileUtils.readFileToString(new File(untarredFile, fileName2)), fileContent2);
assertEquals(FileUtils.readFileToString(new File(untarredFile, fileName1), StandardCharsets.UTF_8), fileContent1);
assertEquals(FileUtils.readFileToString(new File(untarredFile, fileName2), StandardCharsets.UTF_8), fileContent2);

untarredFile = new File(UNTAR_DIR, "untarred");
TarCompressionUtils.untarOneFile(compressedTarFile, fileName1, untarredFile);
assertEquals(FileUtils.readFileToString(untarredFile), fileContent1);
assertEquals(FileUtils.readFileToString(untarredFile, StandardCharsets.UTF_8), fileContent1);
TarCompressionUtils.untarOneFile(compressedTarFile, fileName2, untarredFile);
assertEquals(FileUtils.readFileToString(untarredFile), fileContent2);
assertEquals(FileUtils.readFileToString(untarredFile, StandardCharsets.UTF_8), fileContent2);
try {
TarCompressionUtils.untarOneFile(compressedTarFile, dirName, untarredFile);
fail();
Expand Down Expand Up @@ -213,8 +216,8 @@ public void testSubDirectories(String compressedTarFileExtension)
String fileContent1 = "fileContent1";
String fileName2 = "data2";
String fileContent2 = "fileContent2";
FileUtils.write(new File(subDir1, fileName1), fileContent1);
FileUtils.write(new File(subDir2, fileName2), fileContent2);
FileUtils.write(new File(subDir1, fileName1), fileContent1, StandardCharsets.UTF_8);
FileUtils.write(new File(subDir2, fileName2), fileContent2, StandardCharsets.UTF_8);

File compressedTarFile = new File(TAR_DIR, dirName + compressedTarFileExtension);
TarCompressionUtils.createCompressedTarFile(dir, compressedTarFile);
Expand All @@ -226,14 +229,16 @@ public void testSubDirectories(String compressedTarFileExtension)
File[] files = untarredFile.listFiles();
assertNotNull(files);
assertEquals(files.length, 2);
assertEquals(FileUtils.readFileToString(new File(new File(untarredFile, subDirName1), fileName1)), fileContent1);
assertEquals(FileUtils.readFileToString(new File(new File(untarredFile, subDirName2), fileName2)), fileContent2);
assertEquals(FileUtils.readFileToString(new File(new File(untarredFile, subDirName1), fileName1),
StandardCharsets.UTF_8), fileContent1);
assertEquals(FileUtils.readFileToString(new File(new File(untarredFile, subDirName2), fileName2),
StandardCharsets.UTF_8), fileContent2);

untarredFile = new File(UNTAR_DIR, "untarred");
TarCompressionUtils.untarOneFile(compressedTarFile, fileName1, untarredFile);
assertEquals(FileUtils.readFileToString(untarredFile), fileContent1);
assertEquals(FileUtils.readFileToString(untarredFile, StandardCharsets.UTF_8), fileContent1);
TarCompressionUtils.untarOneFile(compressedTarFile, fileName2, untarredFile);
assertEquals(FileUtils.readFileToString(untarredFile), fileContent2);
assertEquals(FileUtils.readFileToString(untarredFile, StandardCharsets.UTF_8), fileContent2);
try {
TarCompressionUtils.untarOneFile(compressedTarFile, dirName, untarredFile);
fail();
Expand Down Expand Up @@ -301,7 +306,7 @@ public void testBadFilePath(String compressedTarFileExtension, String compressor
String fileName = "data";
String fileContent = "fileContent";
File dataFile = new File(DATA_DIR, fileName);
FileUtils.write(dataFile, fileContent);
FileUtils.write(dataFile, fileContent, StandardCharsets.UTF_8);

File badCompressedTarFile = new File(TAR_DIR, "bad" + compressedTarFileExtension);
try (OutputStream fileOut = Files.newOutputStream(badCompressedTarFile.toPath());
Expand All @@ -328,6 +333,6 @@ public void testBadFilePath(String compressedTarFileExtension, String compressor
// Allow untar one file to the given destination
File untarredFile = new File(UNTAR_DIR, "untarred");
TarCompressionUtils.untarOneFile(badCompressedTarFile, fileName, untarredFile);
assertEquals(FileUtils.readFileToString(untarredFile), fileContent);
assertEquals(FileUtils.readFileToString(untarredFile, StandardCharsets.UTF_8), fileContent);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public void testEncodeDecode() {
int maxPartLength = 10;
Random random = new Random();
for (int i = 0; i < numRounds; i++) {
String randomString = RandomStringUtils.random(random.nextInt(maxPartLength + 1));
String randomString = RandomStringUtils.secure().next(random.nextInt(maxPartLength + 1));
assertEquals(URIUtils.decode(URIUtils.encode(randomString)), randomString);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -692,7 +692,8 @@ private void setUpPinotController() {
LOGGER.info("Use class: {} as the AccessControlFactory", accessControlFactoryClass);
final AccessControlFactory accessControlFactory;
try {
accessControlFactory = (AccessControlFactory) Class.forName(accessControlFactoryClass).newInstance();
accessControlFactory =
(AccessControlFactory) Class.forName(accessControlFactoryClass).getDeclaredConstructor().newInstance();
accessControlFactory.init(_config, _helixResourceManager);
} catch (Exception e) {
throw new RuntimeException("Caught exception while creating new AccessControlFactory instance", e);
Expand Down
Loading
Loading