This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new b9a3775ca13 HDDS-13289. Remove usage of Jetty StringUtil (#8684)
b9a3775ca13 is described below
commit b9a3775ca13569c232bfc28e049e7d411594ef2c
Author: Eric C. Ho <[email protected]>
AuthorDate: Tue Jun 24 16:06:45 2025 +0800
HDDS-13289. Remove usage of Jetty StringUtil (#8684)
---
.../hadoop/hdds/utils/db/DBConfigFromFile.java | 8 +++----
.../hadoop/hdds/utils/db/DBStoreBuilder.java | 11 +++++-----
hadoop-ozone/ozone-manager/pom.xml | 4 ----
.../hadoop/ozone/om/OmMetadataManagerImpl.java | 25 +++++++++++-----------
hadoop-ozone/recon/pom.xml | 4 ----
.../recon/recovery/ReconOmMetadataManagerImpl.java | 4 ++--
pom.xml | 7 ++++++
7 files changed, 30 insertions(+), 33 deletions(-)
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBConfigFromFile.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBConfigFromFile.java
index 7c494b12b70..91cf16b59f9 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBConfigFromFile.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBConfigFromFile.java
@@ -22,8 +22,8 @@
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.hdds.utils.db.managed.ManagedDBOptions;
-import org.eclipse.jetty.util.StringUtil;
import org.rocksdb.ColumnFamilyDescriptor;
import org.rocksdb.Env;
import org.rocksdb.OptionsUtil;
@@ -55,11 +55,11 @@ public static File getConfigLocation() {
// Make testing easy.
// If there is No Env. defined, let us try to read the JVM property
- if (StringUtil.isBlank(path)) {
+ if (StringUtils.isBlank(path)) {
path = System.getProperty(CONFIG_DIR);
}
- if (StringUtil.isBlank(path)) {
+ if (StringUtils.isBlank(path)) {
LOG.debug("Unable to find the configuration directory. "
+ "Please make sure that " + CONFIG_DIR + " is setup correctly.");
return null;
@@ -118,7 +118,7 @@ public static ManagedDBOptions readFromFile(String
dbFileName,
ManagedDBOptions options = null;
File configLocation = getConfigLocation();
if (configLocation != null &&
- StringUtil.isNotBlank(configLocation.toString())) {
+ StringUtils.isNotBlank(configLocation.toString())) {
Path optionsFile = Paths.get(configLocation.toString(),
getOptionsFileNameFromDB(dbFileName));
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBStoreBuilder.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBStoreBuilder.java
index 076b6bc933d..45ed81c8772 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBStoreBuilder.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/DBStoreBuilder.java
@@ -41,8 +41,8 @@
import java.util.Map;
import java.util.Optional;
import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.hdds.HddsConfigKeys;
-import org.apache.hadoop.hdds.StringUtils;
import org.apache.hadoop.hdds.conf.ConfigurationSource;
import org.apache.hadoop.hdds.conf.StorageUnit;
import org.apache.hadoop.hdds.utils.db.managed.ManagedColumnFamilyOptions;
@@ -51,7 +51,6 @@
import org.apache.hadoop.hdds.utils.db.managed.ManagedRocksDB;
import org.apache.hadoop.hdds.utils.db.managed.ManagedStatistics;
import org.apache.hadoop.hdds.utils.db.managed.ManagedWriteOptions;
-import org.eclipse.jetty.util.StringUtil;
import org.rocksdb.ColumnFamilyDescriptor;
import org.rocksdb.InfoLogLevel;
import org.rocksdb.StatsLevel;
@@ -69,7 +68,7 @@ public final class DBStoreBuilder {
LoggerFactory.getLogger(ManagedRocksDB.ORIGINAL_CLASS);
public static final String DEFAULT_COLUMN_FAMILY_NAME =
- StringUtils.bytes2String(DEFAULT_COLUMN_FAMILY);
+ org.apache.hadoop.hdds.StringUtils.bytes2String(DEFAULT_COLUMN_FAMILY);
// DB PKIProfile used by ROCKDB instances.
public static final DBProfile HDDS_DEFAULT_DB_PROFILE = DBProfile.DISK;
@@ -202,7 +201,7 @@ private void setDBOptionsProps(ManagedDBOptions dbOptions) {
* @return DBStore
*/
public RDBStore build() throws IOException {
- if (StringUtil.isBlank(dbname) || (dbPath == null)) {
+ if (StringUtils.isBlank(dbname) || (dbPath == null)) {
LOG.error("Required Parameter missing.");
throw new IOException("Required parameter is missing. Please make sure "
+ "Path and DB name is provided.");
@@ -421,7 +420,7 @@ private ManagedDBOptions getDBOptionsFromFile(
List<ColumnFamilyDescriptor> columnFamilyDescriptors = new ArrayList<>();
- if (StringUtil.isNotBlank(dbname)) {
+ if (StringUtils.isNotBlank(dbname)) {
for (TableConfig tc : tableConfigs) {
columnFamilyDescriptors.add(tc.getDescriptor());
}
@@ -450,7 +449,7 @@ private File getDBFile() throws IOException {
throw new IOException("A Path to for DB file is needed.");
}
- if (StringUtil.isBlank(dbname)) {
+ if (StringUtils.isBlank(dbname)) {
LOG.error("DBName is a required.");
throw new IOException("A valid DB name is required.");
}
diff --git a/hadoop-ozone/ozone-manager/pom.xml
b/hadoop-ozone/ozone-manager/pom.xml
index edca5ef41df..ba325929903 100644
--- a/hadoop-ozone/ozone-manager/pom.xml
+++ b/hadoop-ozone/ozone-manager/pom.xml
@@ -282,10 +282,6 @@
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-util</artifactId>
- </dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
index e1f50b1922f..04e0998219f 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
@@ -121,7 +121,6 @@
import org.apache.hadoop.util.Time;
import org.apache.ozone.compaction.log.CompactionLogEntry;
import org.apache.ratis.util.ExitUtils;
-import org.eclipse.jetty.util.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -569,7 +568,7 @@ public String getOzoneKey(String volume, String bucket,
String key) {
.append(OM_KEY_PREFIX).append(volume);
// TODO : Throw if the Bucket is null?
builder.append(OM_KEY_PREFIX).append(bucket);
- if (StringUtil.isNotBlank(key)) {
+ if (StringUtils.isNotBlank(key)) {
builder.append(OM_KEY_PREFIX);
if (!key.equals(OM_KEY_PREFIX)) {
builder.append(key);
@@ -845,7 +844,7 @@ public List<OmBucketInfo> listBuckets(final String
volumeName,
String startKey;
boolean skipStartKey = false;
- if (StringUtil.isNotBlank(startBucket)) {
+ if (StringUtils.isNotBlank(startBucket)) {
// if the user has specified a start key, we need to seek to that key
// and avoid that key in the response set.
startKey = getBucketKey(volumeName, startBucket);
@@ -860,7 +859,7 @@ public List<OmBucketInfo> listBuckets(final String
volumeName,
}
String seekPrefix;
- if (StringUtil.isNotBlank(bucketPrefix)) {
+ if (StringUtils.isNotBlank(bucketPrefix)) {
seekPrefix = getBucketKey(volumeName, bucketPrefix);
} else {
seekPrefix = getVolumeKey(volumeName + OM_KEY_PREFIX);
@@ -1012,18 +1011,18 @@ public ListKeysResult listKeys(String volumeName,
String bucketName,
String seekKey;
boolean skipStartKey = false;
- if (StringUtil.isNotBlank(startKey)) {
+ if (StringUtils.isNotBlank(startKey)) {
// Seek to the specified key.
seekKey = getOzoneKey(volumeName, bucketName, startKey);
skipStartKey = true;
} else {
// This allows us to seek directly to the first key with the right
prefix.
seekKey = getOzoneKey(volumeName, bucketName,
- StringUtil.isNotBlank(keyPrefix) ? keyPrefix : OM_KEY_PREFIX);
+ StringUtils.isNotBlank(keyPrefix) ? keyPrefix : OM_KEY_PREFIX);
}
String seekPrefix;
- if (StringUtil.isNotBlank(keyPrefix)) {
+ if (StringUtils.isNotBlank(keyPrefix)) {
seekPrefix = getOzoneKey(volumeName, bucketName, keyPrefix);
} else {
seekPrefix = getBucketKey(volumeName, bucketName) + OM_KEY_PREFIX;
@@ -1162,20 +1161,20 @@ public ListSnapshotResponse listSnapshot(
}
String prefix;
- if (StringUtil.isNotBlank(snapshotPrefix)) {
+ if (StringUtils.isNotBlank(snapshotPrefix)) {
prefix = getOzoneKey(volumeName, bucketName, snapshotPrefix);
} else {
prefix = getBucketKey(volumeName, bucketName + OM_KEY_PREFIX);
}
String seek;
- if (StringUtil.isNotBlank(prevSnapshot)) {
+ if (StringUtils.isNotBlank(prevSnapshot)) {
// Seek to the specified snapshot.
seek = getOzoneKey(volumeName, bucketName, prevSnapshot);
} else {
// This allows us to seek directly to the first key with the right
prefix.
seek = getOzoneKey(volumeName, bucketName,
- StringUtil.isNotBlank(snapshotPrefix) ? snapshotPrefix :
OM_KEY_PREFIX);
+ StringUtils.isNotBlank(snapshotPrefix) ? snapshotPrefix :
OM_KEY_PREFIX);
}
List<SnapshotInfo> snapshotInfos = Lists.newArrayList();
@@ -1208,7 +1207,7 @@ public ListSnapshotResponse listSnapshot(
public List<OmVolumeArgs> listVolumes(String userName,
String prefix, String startKey, int maxKeys) throws IOException {
- if (StringUtil.isBlank(userName)) {
+ if (StringUtils.isBlank(userName)) {
// null userName represents listing all volumes in cluster.
return listAllVolumes(prefix, startKey, maxKeys);
}
@@ -1518,9 +1517,9 @@ public List<OmMultipartUpload> getMultipartUploadKeys(
String prefixKey =
OmMultipartUpload.getDbKey(volumeName, bucketName, prefix);
- if (StringUtil.isNotBlank(keyMarker)) {
+ if (StringUtils.isNotBlank(keyMarker)) {
prefix = keyMarker;
- if (StringUtil.isNotBlank(uploadIdMarker)) {
+ if (StringUtils.isNotBlank(uploadIdMarker)) {
prefix = prefix + OM_KEY_PREFIX + uploadIdMarker;
}
}
diff --git a/hadoop-ozone/recon/pom.xml b/hadoop-ozone/recon/pom.xml
index e28de866367..ec69d336253 100644
--- a/hadoop-ozone/recon/pom.xml
+++ b/hadoop-ozone/recon/pom.xml
@@ -207,10 +207,6 @@
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
</dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-util</artifactId>
- </dependency>
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>guice-bridge</artifactId>
diff --git
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/recovery/ReconOmMetadataManagerImpl.java
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/recovery/ReconOmMetadataManagerImpl.java
index 372ac878ea2..b18c45f8351 100644
---
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/recovery/ReconOmMetadataManagerImpl.java
+++
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/recovery/ReconOmMetadataManagerImpl.java
@@ -30,6 +30,7 @@
import javax.inject.Singleton;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.utils.db.DBStore;
import org.apache.hadoop.hdds.utils.db.DBStoreBuilder;
@@ -45,7 +46,6 @@
import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.recon.ReconUtils;
import org.apache.hadoop.ozone.recon.api.types.KeyEntityInfoProtoWrapper;
-import org.eclipse.jetty.util.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -241,7 +241,7 @@ public List<OmBucketInfo> listBucketsUnderVolume(final
String volumeName,
String startKey;
boolean skipStartKey = false;
- if (StringUtil.isNotBlank(startBucket)) {
+ if (StringUtils.isNotBlank(startBucket)) {
startKey = getBucketKey(volumeName, startBucket);
skipStartKey = true;
} else {
diff --git a/pom.xml b/pom.xml
index 8b8e54b07be..d368c5fd338 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2092,6 +2092,13 @@
<excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot>
</excludedSourceRoots>
</restrictImports>
+ <restrictImports>
+ <includeTestCode>true</includeTestCode>
+ <reason>Use similar class from Apache Commons Lang</reason>
+ <bannedImports>
+
<bannedImport>org.eclipse.jetty.util.StringUtil</bannedImport>
+ </bannedImports>
+ </restrictImports>
</rules>
</configuration>
</execution>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]