You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ch...@apache.org on 2017/07/04 12:35:27 UTC
[4/7] flink git commit: [FLINK-6877] [runtime] Activate checkstyle
for runtime/security
[FLINK-6877] [runtime] Activate checkstyle for runtime/security
This closes #4095.
Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/31ad8020
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/31ad8020
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/31ad8020
Branch: refs/heads/master
Commit: 31ad80206f1fee234848f1288d493ee9428d309e
Parents: 834c527
Author: Greg Hogan <co...@greghogan.com>
Authored: Fri Jun 9 09:58:24 2017 -0400
Committer: zentol <ch...@apache.org>
Committed: Tue Jul 4 12:33:25 2017 +0200
----------------------------------------------------------------------
flink-runtime/pom.xml | 1 -
.../runtime/security/DynamicConfiguration.java | 18 +++++------
.../runtime/security/HadoopSecurityContext.java | 1 +
.../flink/runtime/security/KerberosUtils.java | 15 ++++-----
.../runtime/security/NoOpSecurityContext.java | 1 +
.../flink/runtime/security/SecurityContext.java | 1 +
.../flink/runtime/security/SecurityUtils.java | 32 +++++++++++---------
.../runtime/security/modules/HadoopModule.java | 9 ++++--
.../runtime/security/modules/JaasModule.java | 15 +++++----
.../security/modules/SecurityModule.java | 1 +
.../security/modules/ZooKeeperModule.java | 7 +++--
.../runtime/security/KerberosUtilsTest.java | 2 --
.../runtime/security/SecurityUtilsTest.java | 2 ++
13 files changed, 59 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/pom.xml
----------------------------------------------------------------------
diff --git a/flink-runtime/pom.xml b/flink-runtime/pom.xml
index df905dc..80f95a5 100644
--- a/flink-runtime/pom.xml
+++ b/flink-runtime/pom.xml
@@ -455,7 +455,6 @@ under the License.
**/runtime/registration/**,
**/runtime/resourcemanager/**,
**/runtime/rpc/**,
- **/runtime/security/**,
**/runtime/state/**,
**/runtime/taskexecutor/**,
**/runtime/taskmanager/**,
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/main/java/org/apache/flink/runtime/security/DynamicConfiguration.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/DynamicConfiguration.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/DynamicConfiguration.java
index 6af4f23..da1c9c7 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/DynamicConfiguration.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/DynamicConfiguration.java
@@ -15,6 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.flink.runtime.security;
import org.slf4j.Logger;
@@ -23,6 +24,7 @@ import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import javax.security.auth.login.AppConfigurationEntry;
import javax.security.auth.login.Configuration;
+
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -31,7 +33,7 @@ import java.util.Map;
/**
* A dynamic JAAS configuration.
*
- * Makes it possible to define Application Configuration Entries (ACEs) at runtime, building upon
+ * <p>Makes it possible to define Application Configuration Entries (ACEs) at runtime, building upon
* an (optional) underlying configuration. Entries from the underlying configuration take
* precedence over dynamic entries.
*/
@@ -41,7 +43,7 @@ public class DynamicConfiguration extends Configuration {
private final Configuration delegate;
- private final Map<String,AppConfigurationEntry[]> dynamicEntries = new HashMap<>();
+ private final Map<String, AppConfigurationEntry[]> dynamicEntries = new HashMap<>();
/**
* Create a dynamic configuration.
@@ -57,7 +59,7 @@ public class DynamicConfiguration extends Configuration {
public void addAppConfigurationEntry(String name, AppConfigurationEntry... entry) {
final AppConfigurationEntry[] existing = dynamicEntries.get(name);
final AppConfigurationEntry[] updated;
- if(existing == null) {
+ if (existing == null) {
updated = Arrays.copyOf(entry, entry.length);
}
else {
@@ -70,8 +72,6 @@ public class DynamicConfiguration extends Configuration {
* Retrieve the AppConfigurationEntries for the specified <i>name</i>
* from this Configuration.
*
- * <p>
- *
* @param name the name used to index the Configuration.
*
* @return an array of AppConfigurationEntries for the specified <i>name</i>
@@ -81,12 +81,12 @@ public class DynamicConfiguration extends Configuration {
@Override
public AppConfigurationEntry[] getAppConfigurationEntry(String name) {
AppConfigurationEntry[] entry = null;
- if(delegate != null) {
+ if (delegate != null) {
entry = delegate.getAppConfigurationEntry(name);
}
final AppConfigurationEntry[] existing = dynamicEntries.get(name);
- if(existing != null) {
- if(entry != null) {
+ if (existing != null) {
+ if (entry != null) {
entry = merge(entry, existing);
}
else {
@@ -104,7 +104,7 @@ public class DynamicConfiguration extends Configuration {
@Override
public void refresh() {
- if(delegate != null) {
+ if (delegate != null) {
delegate.refresh();
}
}
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/main/java/org/apache/flink/runtime/security/HadoopSecurityContext.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/HadoopSecurityContext.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/HadoopSecurityContext.java
index c70f00b..7b0bb06 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/HadoopSecurityContext.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/HadoopSecurityContext.java
@@ -19,6 +19,7 @@
package org.apache.flink.runtime.security;
import org.apache.flink.util.Preconditions;
+
import org.apache.hadoop.security.UserGroupInformation;
import java.security.PrivilegedExceptionAction;
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/main/java/org/apache/flink/runtime/security/KerberosUtils.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/KerberosUtils.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/KerberosUtils.java
index 7ef9187..5662d29 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/KerberosUtils.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/KerberosUtils.java
@@ -19,11 +19,13 @@
package org.apache.flink.runtime.security;
import org.apache.flink.annotation.Internal;
+
import org.apache.hadoop.security.authentication.util.KerberosUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.security.auth.login.AppConfigurationEntry;
+
import java.io.File;
import java.util.HashMap;
import java.util.Map;
@@ -31,10 +33,9 @@ import java.util.Map;
import static org.apache.flink.util.Preconditions.checkNotNull;
/**
- *
* Provides vendor-specific Kerberos {@link AppConfigurationEntry} instances.
*
- * The implementation is inspired from Hadoop UGI class.
+ * <p>The implementation is inspired from Hadoop UGI class.
*/
@Internal
public class KerberosUtils {
@@ -55,11 +56,11 @@ public class KerberosUtils {
IBM_JAVA = JAVA_VENDOR_NAME.contains("IBM");
- if(LOG.isDebugEnabled()) {
+ if (LOG.isDebugEnabled()) {
debugOptions.put("debug", "true");
}
- if(IBM_JAVA) {
+ if (IBM_JAVA) {
kerberosCacheOptions.put("useDefaultCcache", "true");
} else {
kerberosCacheOptions.put("doNotPrompt", "true");
@@ -67,8 +68,8 @@ public class KerberosUtils {
}
String ticketCache = System.getenv("KRB5CCNAME");
- if(ticketCache != null) {
- if(IBM_JAVA) {
+ if (ticketCache != null) {
+ if (IBM_JAVA) {
System.setProperty("KRB5CCNAME", ticketCache);
} else {
kerberosCacheOptions.put("ticketCache", ticketCache);
@@ -96,7 +97,7 @@ public class KerberosUtils {
Map<String, String> keytabKerberosOptions = new HashMap<>();
- if(IBM_JAVA) {
+ if (IBM_JAVA) {
keytabKerberosOptions.put("useKeytab", prependFileUri(keytab));
keytabKerberosOptions.put("credsType", "both");
} else {
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/main/java/org/apache/flink/runtime/security/NoOpSecurityContext.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/NoOpSecurityContext.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/NoOpSecurityContext.java
index 4574db5..02f97da 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/NoOpSecurityContext.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/NoOpSecurityContext.java
@@ -15,6 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.flink.runtime.security;
import java.util.concurrent.Callable;
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/main/java/org/apache/flink/runtime/security/SecurityContext.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/SecurityContext.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/SecurityContext.java
index 02892d3..63ca728 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/SecurityContext.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/SecurityContext.java
@@ -15,6 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.flink.runtime.security;
import java.util.concurrent.Callable;
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/main/java/org/apache/flink/runtime/security/SecurityUtils.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/SecurityUtils.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/SecurityUtils.java
index b874009..df49822 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/SecurityUtils.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/SecurityUtils.java
@@ -18,8 +18,6 @@
package org.apache.flink.runtime.security;
-import com.google.common.collect.Lists;
-import org.apache.commons.lang3.StringUtils;
import org.apache.flink.annotation.VisibleForTesting;
import org.apache.flink.api.java.hadoop.mapred.utils.HadoopUtils;
import org.apache.flink.configuration.Configuration;
@@ -29,6 +27,9 @@ import org.apache.flink.runtime.security.modules.HadoopModule;
import org.apache.flink.runtime.security.modules.JaasModule;
import org.apache.flink.runtime.security.modules.SecurityModule;
import org.apache.flink.runtime.security.modules.ZooKeeperModule;
+
+import com.google.common.collect.Lists;
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.security.UserGroupInformation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,9 +42,8 @@ import java.util.List;
import static org.apache.flink.util.Preconditions.checkNotNull;
-/*
+/**
* Utils for configuring security. The following security subsystems are supported:
- *
* 1. Java Authentication and Authorization Service (JAAS)
* 2. Hadoop's User Group Information (UGI)
* 3. ZooKeeper's process-wide security settings.
@@ -56,7 +56,9 @@ public class SecurityUtils {
private static List<SecurityModule> installedModules = null;
- public static SecurityContext getInstalledContext() { return installedContext; }
+ public static SecurityContext getInstalledContext() {
+ return installedContext;
+ }
@VisibleForTesting
static List<SecurityModule> getInstalledModules() {
@@ -66,7 +68,7 @@ public class SecurityUtils {
/**
* Installs a process-wide security configuration.
*
- * Applies the configuration using the available security modules (i.e. Hadoop, JAAS).
+ * <p>Applies the configuration using the available security modules (i.e. Hadoop, JAAS).
*/
public static void install(SecurityConfiguration config) throws Exception {
@@ -79,7 +81,7 @@ public class SecurityUtils {
modules.add(module);
}
}
- catch(Exception ex) {
+ catch (Exception ex) {
throw new Exception("unable to establish the security context", ex);
}
installedModules = modules;
@@ -94,14 +96,14 @@ public class SecurityUtils {
}
static void uninstall() {
- if(installedModules != null) {
+ if (installedModules != null) {
for (SecurityModule module : Lists.reverse(installedModules)) {
try {
module.uninstall();
}
- catch(UnsupportedOperationException ignored) {
+ catch (UnsupportedOperationException ignored) {
}
- catch(SecurityModule.SecurityInstallException e) {
+ catch (SecurityModule.SecurityInstallException e) {
LOG.warn("unable to uninstall a security module", e);
}
}
@@ -114,7 +116,7 @@ public class SecurityUtils {
/**
* The global security configuration.
*
- * See {@link SecurityOptions} for corresponding configuration options.
+ * <p>See {@link SecurityOptions} for corresponding configuration options.
*/
public static class SecurityConfiguration {
@@ -215,22 +217,22 @@ public class SecurityUtils {
}
private void validate() {
- if(!StringUtils.isBlank(keytab)) {
+ if (!StringUtils.isBlank(keytab)) {
// principal is required
- if(StringUtils.isBlank(principal)) {
+ if (StringUtils.isBlank(principal)) {
throw new IllegalConfigurationException("Kerberos login configuration is invalid; keytab requires a principal.");
}
// check the keytab is readable
File keytabFile = new File(keytab);
- if(!keytabFile.exists() || !keytabFile.isFile() || !keytabFile.canRead()) {
+ if (!keytabFile.exists() || !keytabFile.isFile() || !keytabFile.canRead()) {
throw new IllegalConfigurationException("Kerberos login configuration is invalid; keytab is unreadable");
}
}
}
private static List<String> parseList(String value) {
- if(value == null || value.isEmpty()) {
+ if (value == null || value.isEmpty()) {
return Collections.emptyList();
}
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/HadoopModule.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/HadoopModule.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/HadoopModule.java
index 5c62272..05be314 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/HadoopModule.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/HadoopModule.java
@@ -15,11 +15,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.flink.runtime.security.modules;
-import org.apache.commons.lang3.StringUtils;
import org.apache.flink.api.java.hadoop.mapred.utils.HadoopUtils;
import org.apache.flink.runtime.security.SecurityUtils;
+
+import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.security.Credentials;
import org.apache.hadoop.security.UserGroupInformation;
@@ -29,6 +31,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.security.auth.Subject;
+
import java.io.File;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -75,11 +78,11 @@ public class HadoopModule implements SecurityModule {
// and does not fallback to using Kerberos tickets
Method getAllTokensMethod = Credentials.class.getMethod("getAllTokens");
Credentials credentials = new Credentials();
- final Text HDFS_DELEGATION_TOKEN_KIND = new Text("HDFS_DELEGATION_TOKEN");
+ final Text hdfsDelegationTokenKind = new Text("HDFS_DELEGATION_TOKEN");
Collection<Token<? extends TokenIdentifier>> usrTok = (Collection<Token<? extends TokenIdentifier>>) getAllTokensMethod.invoke(cred);
//If UGI use keytab for login, do not load HDFS delegation token.
for (Token<? extends TokenIdentifier> token : usrTok) {
- if (!token.getKind().equals(HDFS_DELEGATION_TOKEN_KIND)) {
+ if (!token.getKind().equals(hdfsDelegationTokenKind)) {
final Text id = new Text(token.getIdentifier());
credentials.addToken(id, token);
}
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/JaasModule.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/JaasModule.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/JaasModule.java
index f8b9bdf..91411a9 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/JaasModule.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/JaasModule.java
@@ -15,16 +15,19 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.flink.runtime.security.modules;
import org.apache.flink.annotation.Internal;
import org.apache.flink.runtime.security.DynamicConfiguration;
import org.apache.flink.runtime.security.KerberosUtils;
import org.apache.flink.runtime.security.SecurityUtils;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.security.auth.login.AppConfigurationEntry;
+
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
@@ -34,13 +37,13 @@ import java.nio.file.StandardCopyOption;
/**
* Responsible for installing a process-wide JAAS configuration.
- * <p>
- * The installed configuration combines login modules based on:
+ *
+ * <p>The installed configuration combines login modules based on:
* - the user-supplied JAAS configuration file, if any
* - a Kerberos keytab, if configured
* - any cached Kerberos credentials from the current environment
- * <p>
- * The module also installs a default JAAS config file (if necessary) for
+ *
+ * <p>The module also installs a default JAAS config file (if necessary) for
* compatibility with ZK and Kafka. Note that the JRE actually draws on numerous file locations.
* See: https://docs.oracle.com/javase/7/docs/jre/api/security/jaas/spec/com/sun/security/auth/login/ConfigFile.html
* See: https://github.com/apache/kafka/blob/0.9.0/clients/src/main/java/org/apache/kafka/common/security/kerberos/Login.java#L289
@@ -78,7 +81,7 @@ public class JaasModule implements SecurityModule {
// wire up the configured JAAS login contexts to use the krb5 entries
AppConfigurationEntry[] krb5Entries = getAppConfigurationEntries(securityConfig);
- if(krb5Entries != null) {
+ if (krb5Entries != null) {
for (String app : securityConfig.getLoginContextNames()) {
currentConfig.addAppConfigurationEntry(app, krb5Entries);
}
@@ -89,7 +92,7 @@ public class JaasModule implements SecurityModule {
@Override
public void uninstall() throws SecurityInstallException {
- if(priorConfigFile != null) {
+ if (priorConfigFile != null) {
System.setProperty(JAVA_SECURITY_AUTH_LOGIN_CONFIG, priorConfigFile);
} else {
System.clearProperty(JAVA_SECURITY_AUTH_LOGIN_CONFIG);
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/SecurityModule.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/SecurityModule.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/SecurityModule.java
index fbe1db9..1a335df 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/SecurityModule.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/SecurityModule.java
@@ -15,6 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.flink.runtime.security.modules;
import org.apache.flink.runtime.security.SecurityUtils;
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/ZooKeeperModule.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/ZooKeeperModule.java b/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/ZooKeeperModule.java
index 216bdde..af2c1f8 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/ZooKeeperModule.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/security/modules/ZooKeeperModule.java
@@ -15,6 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.flink.runtime.security.modules;
import org.apache.flink.runtime.security.SecurityUtils;
@@ -66,17 +67,17 @@ public class ZooKeeperModule implements SecurityModule {
@Override
public void uninstall() throws SecurityInstallException {
- if(priorSaslEnable != null) {
+ if (priorSaslEnable != null) {
System.setProperty(ZK_ENABLE_CLIENT_SASL, priorSaslEnable);
} else {
System.clearProperty(ZK_ENABLE_CLIENT_SASL);
}
- if(priorServiceName != null) {
+ if (priorServiceName != null) {
System.setProperty(ZK_SASL_CLIENT_USERNAME, priorServiceName);
} else {
System.clearProperty(ZK_SASL_CLIENT_USERNAME);
}
- if(priorLoginContextName != null) {
+ if (priorLoginContextName != null) {
System.setProperty(ZK_LOGIN_CONTEXT_NAME, priorLoginContextName);
} else {
System.clearProperty(ZK_LOGIN_CONTEXT_NAME);
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/test/java/org/apache/flink/runtime/security/KerberosUtilsTest.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/security/KerberosUtilsTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/security/KerberosUtilsTest.java
index 4c899e8..58817db 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/security/KerberosUtilsTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/security/KerberosUtilsTest.java
@@ -18,12 +18,10 @@
package org.apache.flink.runtime.security;
-import org.apache.hadoop.security.authentication.util.KerberosUtil;
import org.junit.Test;
import javax.security.auth.login.AppConfigurationEntry;
-import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
/**
http://git-wip-us.apache.org/repos/asf/flink/blob/31ad8020/flink-runtime/src/test/java/org/apache/flink/runtime/security/SecurityUtilsTest.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/security/SecurityUtilsTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/security/SecurityUtilsTest.java
index 3e3808b..c179f6f 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/security/SecurityUtilsTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/security/SecurityUtilsTest.java
@@ -15,11 +15,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.flink.runtime.security;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.configuration.SecurityOptions;
import org.apache.flink.runtime.security.modules.SecurityModule;
+
import org.junit.AfterClass;
import org.junit.Test;