HADOOP-15755. StringUtils#createStartupShutdownMessage throws NPE when args is null. Contributed by Lokesh Jain and Dinesh Chitlangia

This commit is contained in:
Jason Lowe 2018-09-18 15:55:09 -05:00
parent 5896372761
commit e71f61ecb8
2 changed files with 10 additions and 1 deletions

View File

@ -743,7 +743,7 @@ public static String createStartupShutdownMessage(String classname,
return toStartupShutdownString("STARTUP_MSG: ", new String[] { return toStartupShutdownString("STARTUP_MSG: ", new String[] {
"Starting " + classname, "Starting " + classname,
" host = " + hostname, " host = " + hostname,
" args = " + Arrays.asList(args), " args = " + (args != null ? Arrays.asList(args) : new ArrayList<>()),
" version = " + VersionInfo.getVersion(), " version = " + VersionInfo.getVersion(),
" classpath = " + System.getProperty("java.class.path"), " classpath = " + System.getProperty("java.class.path"),
" build = " + VersionInfo.getUrl() + " -r " " build = " + VersionInfo.getUrl() + " -r "

View File

@ -503,6 +503,15 @@ public void testEscapeHTML() {
escapedStr, StringUtils.escapeHTML(htmlStr)); escapedStr, StringUtils.escapeHTML(htmlStr));
} }
@Test
public void testCreateStartupShutdownMessage() {
//pass null args and method must still return a string beginning with
// "STARTUP_MSG"
String msg = StringUtils.createStartupShutdownMessage(
this.getClass().getName(), "test.host", null);
assertTrue(msg.startsWith("STARTUP_MSG:"));
}
// Benchmark for StringUtils split // Benchmark for StringUtils split
public static void main(String []args) { public static void main(String []args) {
final String TO_SPLIT = "foo,bar,baz,blah,blah"; final String TO_SPLIT = "foo,bar,baz,blah,blah";