[REEF-768] Fix high-priority warnings reported by Findbugs

JIRA:
  [REEF-768](https://issues.apache.org/jira/browse/REEF-768)

Pull Request:
  Closes #506


Project: http://git-wip-us.apache.org/repos/asf/incubator-reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-reef/commit/af2be6b9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-reef/tree/af2be6b9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-reef/diff/af2be6b9

Branch: refs/heads/master
Commit: af2be6b99720ba04269461c5dabeb874d5b46b77
Parents: 57b2ab2
Author: Mariia Mykhailova <[email protected]>
Authored: Fri Sep 18 11:35:01 2015 -0700
Committer: Byung-Gon Chun <[email protected]>
Committed: Tue Sep 22 09:17:42 2015 +0900

----------------------------------------------------------------------
 .../bridge/client/LocalSubmissionFromCS.java    |  8 +--
 .../bridge/client/YarnJobSubmissionClient.java  | 14 ++---
 .../bridge/client/YarnSubmissionFromCS.java     | 12 ++--
 .../reef/javabridge/FailedTaskBridge.java       |  3 +-
 .../reef/javabridge/generic/JobClient.java      |  3 +-
 .../reef/javabridge/generic/JobDriver.java      | 26 ++++-----
 .../DefaultClientCloseWithMessageHandler.java   |  3 +-
 .../defaults/DefaultClientMessageHandler.java   |  3 +-
 .../common/evaluator/PIDStoreStartHandler.java  |  9 +--
 .../evaluator/context/ContextManager.java       |  7 ++-
 .../common/launch/ProfilingStopHandler.java     |  5 +-
 .../java/org/apache/reef/util/CommandUtils.java |  3 +-
 .../main/java/org/apache/reef/util/OSUtils.java |  3 +-
 .../org/apache/reef/util/logging/LogParser.java | 48 ++++++++-------
 .../src/main/resources/findbugs-exclude.xml     | 14 +++++
 .../reef/examples/data/loading/LineCounter.java |  3 +-
 .../examples/data/loading/LineCountingTask.java |  3 +-
 .../group/bgd/data/parser/SVMLightParser.java   | 12 ++--
 .../reef/examples/hello/HelloReefYarnTcp.java   |  6 +-
 .../hellohttp/HttpServerShellCmdtHandler.java   | 10 ++--
 .../scheduler/driver/SchedulerDriver.java       |  2 +-
 .../driver/http/SchedulerHttpHandler.java       |  6 +-
 .../loading/api/DataLoadingRequestBuilder.java  |  6 +-
 .../reef/io/network/util/StringCodec.java       |  6 +-
 .../reef/io/storage/util/IntegerCodec.java      |  6 +-
 .../io/storage/util/StringDeserializer.java     |  3 +-
 .../reef/io/storage/util/StringSerializer.java  |  3 +-
 .../reef/runtime/hdinsight/cli/HDICLI.java      |  3 +-
 .../runtime/hdinsight/cli/LogFileEntry.java     |  8 ++-
 .../runtime/local/process/RunnableProcess.java  | 11 ++--
 .../restart/DFSEvaluatorLogAppendWriter.java    |  7 ++-
 .../restart/DFSEvaluatorLogOverwriteWriter.java | 10 ++--
 .../driver/restart/DFSEvaluatorPreserver.java   | 34 +++++------
 .../reef/tang/examples/PrintTypeHierarchy.java  | 13 +++--
 .../formats/AvroConfigurationSerializer.java    |  5 +-
 .../java/org/apache/reef/tang/util/Tint.java    | 10 ++--
 .../EvaluatorReuseTestDriver.java               | 11 ++--
 .../tests/messaging/driver/DriverMessaging.java |  5 +-
 .../org/apache/reef/wake/IdentifierParser.java  |  5 ++
 .../reef/wake/impl/OpaqueLocalIdentifier.java   | 28 ---------
 .../apache/reef/wake/profiler/WakeProfiler.java |  6 +-
 .../reef/wake/remote/impl/StringCodec.java      |  6 +-
 .../reef/wake/storage/FileHandlePool.java       |  5 ++
 .../apache/reef/wake/storage/ReadRequest.java   |  5 ++
 .../apache/reef/wake/storage/ReadResponse.java  |  5 ++
 .../reef/wake/storage/SequentialFileReader.java | 61 --------------------
 .../reef/wake/storage/StorageIdentifier.java    |  5 ++
 .../webserver/HttpServerReefEventHandler.java   |  8 +--
 .../reef/webserver/TestAvroHttpSerializer.java  | 14 ++---
 pom.xml                                         |  2 +-
 50 files changed, 228 insertions(+), 266 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/LocalSubmissionFromCS.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/LocalSubmissionFromCS.java
 
b/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/LocalSubmissionFromCS.java
index ee37590..691a39c 100644
--- 
a/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/LocalSubmissionFromCS.java
+++ 
b/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/LocalSubmissionFromCS.java
@@ -142,10 +142,10 @@ final class LocalSubmissionFromCS {
   static LocalSubmissionFromCS fromCommandLine(final String[] args) {
     final File driverFolder = new File(args[0]);
     final String jobId = args[1];
-    final int numberOfEvaluators = Integer.valueOf(args[2]);
-    final int tcpBeginPort = Integer.valueOf(args[3]);
-    final int tcpRangeCount = Integer.valueOf(args[4]);
-    final int tcpTryCount = Integer.valueOf(args[5]);
+    final int numberOfEvaluators = Integer.parseInt(args[2]);
+    final int tcpBeginPort = Integer.parseInt(args[3]);
+    final int tcpRangeCount = Integer.parseInt(args[4]);
+    final int tcpTryCount = Integer.parseInt(args[5]);
 
     return new LocalSubmissionFromCS(driverFolder, jobId, numberOfEvaluators, 
tcpBeginPort, tcpRangeCount, tcpTryCount);
   }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnJobSubmissionClient.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnJobSubmissionClient.java
 
b/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnJobSubmissionClient.java
index fa90602..b565c99 100644
--- 
a/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnJobSubmissionClient.java
+++ 
b/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnJobSubmissionClient.java
@@ -45,13 +45,8 @@ import org.apache.reef.tang.exceptions.InjectionException;
 import org.apache.reef.tang.formats.ConfigurationSerializer;
 import org.apache.reef.util.JARFileMaker;
 import javax.inject.Inject;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.FileWriter;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.Set;
 import java.util.logging.Level;
@@ -233,7 +228,7 @@ public final class YarnJobSubmissionClient {
         LOG.log(Level.INFO, "Attempt " + i + " reading " + 
httpEndpointPath.toString());
         if (fs.exists(httpEndpointPath)) {
           FSDataInputStream input = fs.open(httpEndpointPath);
-          BufferedReader reader = new BufferedReader(new 
InputStreamReader(input, "UTF-8"));
+          BufferedReader reader = new BufferedReader(new 
InputStreamReader(input, StandardCharsets.UTF_8));
           trackingUri = reader.readLine();
           reader.close();
           break;
@@ -253,7 +248,8 @@ public final class YarnJobSubmissionClient {
     }
 
     final File driverHttpEndpointFile = new File(driverFolder, 
fileNames.getDriverHttpEndpoint());
-    BufferedWriter out = new BufferedWriter(new 
FileWriter(driverHttpEndpointFile));
+    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
+                   new FileOutputStream(driverHttpEndpointFile), 
StandardCharsets.UTF_8));
     out.write(applicationId + "\n");
     out.write(trackingUri + "\n");
     String addr = yarnConfiguration.get("yarn.resourcemanager.webapp.address");

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnSubmissionFromCS.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnSubmissionFromCS.java
 
b/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnSubmissionFromCS.java
index c399d94..eb21a37 100644
--- 
a/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnSubmissionFromCS.java
+++ 
b/lang/java/reef-bridge-client/src/main/java/org/apache/reef/bridge/client/YarnSubmissionFromCS.java
@@ -177,12 +177,12 @@ final class YarnSubmissionFromCS {
   static YarnSubmissionFromCS fromCommandLine(final String[] args) {
     final File driverFolder = new File(args[0]);
     final String jobId = args[1];
-    final int driverMemory = Integer.valueOf(args[2]);
-    final int tcpBeginPort = Integer.valueOf(args[3]);
-    final int tcpRangeCount = Integer.valueOf(args[4]);
-    final int tcpTryCount = Integer.valueOf(args[5]);
-    final int maxApplicationSubmissions = Integer.valueOf(args[6]);
-    final int driverRecoveryTimeout = Integer.valueOf(args[7]);
+    final int driverMemory = Integer.parseInt(args[2]);
+    final int tcpBeginPort = Integer.parseInt(args[3]);
+    final int tcpRangeCount = Integer.parseInt(args[4]);
+    final int tcpTryCount = Integer.parseInt(args[5]);
+    final int maxApplicationSubmissions = Integer.parseInt(args[6]);
+    final int driverRecoveryTimeout = Integer.parseInt(args[7]);
     // Static for now
     final int priority = 1;
     final String queue = "default";

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java
 
b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java
index 8ee081b..b4bdfc5 100644
--- 
a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java
+++ 
b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/FailedTaskBridge.java
@@ -20,6 +20,7 @@ package org.apache.reef.javabridge;
 
 import org.apache.reef.driver.task.FailedTask;
 
+import java.nio.charset.StandardCharsets;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -44,7 +45,7 @@ public final class FailedTaskBridge extends NativeBridge {
     final String cause = jfailedTask.getReason().isPresent() ?
         jfailedTask.getReason().get().toString().replace("=", "").replace(",", 
"") : "";
     final String data = jfailedTask.getData().isPresent() ?
-        new String(jfailedTask.getData().get()).replace("=", "").replace(",", 
"") : "";
+        new String(jfailedTask.getData().get(), 
StandardCharsets.UTF_8).replace("=", "").replace(",", "") : "";
 
     // TODO: deserialize/serialize with proper Avro schema
     final String poorSerializedString = "Identifier=" + 
jfailedTask.getId().replace("=", "").replace(",", "")

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobClient.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobClient.java
 
b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobClient.java
index b1cbf25..db9d4b0 100644
--- 
a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobClient.java
+++ 
b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobClient.java
@@ -40,6 +40,7 @@ import org.apache.reef.webserver.ReefEventStateManager;
 import javax.inject.Inject;
 import java.io.File;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -185,7 +186,7 @@ public class JobClient {
       } else {
         String globalLibString = "";
         try {
-          globalLibString = new String(Files.readAllBytes(globalLibFile));
+          globalLibString = new String(Files.readAllBytes(globalLibFile), 
StandardCharsets.UTF_8);
         } catch (final Exception e) {
           LOG.log(Level.WARNING, "Cannot read from {0}, global libraries not 
added  " + globalLibFile.toAbsolutePath());
         }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobDriver.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobDriver.java
 
b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobDriver.java
index f619f5f..be38084 100644
--- 
a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobDriver.java
+++ 
b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/generic/JobDriver.java
@@ -49,10 +49,9 @@ import org.apache.reef.webserver.*;
 import javax.inject.Inject;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletResponse;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
+import java.io.*;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -201,7 +200,8 @@ public final class JobDriver {
       if (portNumber != null){
         try {
           final File outputFileName = new 
File(reefFileNames.getDriverHttpEndpoint());
-          BufferedWriter out = new BufferedWriter(new 
FileWriter(outputFileName));
+          BufferedWriter out = new BufferedWriter(
+              new OutputStreamWriter(new FileOutputStream(outputFileName), 
StandardCharsets.UTF_8));
           out.write(localAddressProvider.getLocalAddress() + ":" + portNumber 
+ "\n");
           out.close();
         } catch (IOException ex) {
@@ -299,7 +299,7 @@ public final class JobDriver {
         }
         String message = "Evaluator " + eval.getId() + " failed with message: "
             + eval.getEvaluatorException().getMessage();
-        
JobDriver.this.jobMessageObserver.sendMessageToClient(message.getBytes());
+        
JobDriver.this.jobMessageObserver.sendMessageToClient(message.getBytes(StandardCharsets.UTF_8));
 
         if (isRestartFailed) {
           
evaluatorFailedHandlerWaitForCLRBridgeSetup(driverRestartFailedEvaluatorHandler,
 eval, isRestartFailed);
@@ -317,8 +317,7 @@ public final class JobDriver {
       if (JobDriver.this.clrBridgeSetup) {
         final String message = "No CLR FailedEvaluator handler was set, 
exiting now";
         LOG.log(Level.WARNING, message);
-        
JobDriver.this.jobMessageObserver.sendMessageToClient(message.getBytes());
-        return;
+        
JobDriver.this.jobMessageObserver.sendMessageToClient(message.getBytes(StandardCharsets.UTF_8));
       } else {
         clock.scheduleAlarm(0, new EventHandler<Alarm>() {
           @Override
@@ -357,7 +356,7 @@ public final class JobDriver {
           additionalRequestedEvaluatorNumber);
     }
 
-    JobDriver.this.jobMessageObserver.sendMessageToClient(message.getBytes());
+    
JobDriver.this.jobMessageObserver.sendMessageToClient(message.getBytes(StandardCharsets.UTF_8));
   }
 
   /**
@@ -422,7 +421,7 @@ public final class JobDriver {
         // Take the message returned by the task and add it to the running 
result.
         String result = "default result";
         try {
-          result = new String(task.get());
+          result = new String(task.get(), StandardCharsets.UTF_8);
         } catch (final Exception e) {
           LOG.log(Level.WARNING, "failed to decode task outcome");
         }
@@ -488,7 +487,7 @@ public final class JobDriver {
         final AvroHttpRequest avroHttpRequest = 
httpSerializer.toAvro(parsedHttpRequest);
 
         final String requestString = httpSerializer.toString(avroHttpRequest);
-        final byte[] requestBytes = requestString.getBytes();
+        final byte[] requestBytes = 
requestString.getBytes(Charset.forName(AvroHttpSerializer.JSON_CHARSET));
         //final byte[] requestBytes = httpSerializer.toBytes(avroHttpRequest);
 
         try {
@@ -691,7 +690,7 @@ public final class JobDriver {
   public final class TaskMessageHandler implements EventHandler<TaskMessage> {
     @Override
     public void onNext(final TaskMessage taskMessage) {
-      final String msg = new String(taskMessage.get());
+      final String msg = new String(taskMessage.get(), StandardCharsets.UTF_8);
       LOG.log(Level.INFO, "Received TaskMessage: {0} from CLR", msg);
       //try (LoggingScope ls = loggingScopeFactory.taskMessageReceived(new 
String(msg))) {
       if (JobDriver.this.taskMessageHandler != 0) {
@@ -800,7 +799,8 @@ public final class JobDriver {
     @Override
     public void onNext(final ContextMessage message) {
       LOG.log(Level.SEVERE, "Received ContextMessage:", message.get());
-      try (final LoggingScope ls = 
loggingScopeFactory.contextMessageReceived(message.get().toString())) {
+      try (final LoggingScope ls =
+               loggingScopeFactory.contextMessageReceived(new 
String(message.get(), StandardCharsets.UTF_8))) {
         if (JobDriver.this.contextMessageHandler != 0) {
           final ContextMessageBridge contextMessageBridge = new 
ContextMessageBridge(message);
           // if CLR implements the context message handler, handle it in CLR

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/defaults/DefaultClientCloseWithMessageHandler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/defaults/DefaultClientCloseWithMessageHandler.java
 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/defaults/DefaultClientCloseWithMessageHandler.java
index 9010250..430df40 100644
--- 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/defaults/DefaultClientCloseWithMessageHandler.java
+++ 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/defaults/DefaultClientCloseWithMessageHandler.java
@@ -21,6 +21,7 @@ package org.apache.reef.runtime.common.driver.defaults;
 import org.apache.reef.wake.EventHandler;
 
 import javax.inject.Inject;
+import java.nio.charset.StandardCharsets;
 
 /**
  * Default handler for close messages from the client: Throw an Exception.
@@ -34,6 +35,6 @@ public final class DefaultClientCloseWithMessageHandler 
implements EventHandler<
   @Override
   public void onNext(final byte[] bytes) {
     throw new RuntimeException(
-        "No handler bound for client Close With Message event: " + new 
String(bytes));
+        "No handler bound for client Close With Message event: " + new 
String(bytes, StandardCharsets.UTF_8));
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/defaults/DefaultClientMessageHandler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/defaults/DefaultClientMessageHandler.java
 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/defaults/DefaultClientMessageHandler.java
index 0a07b27..b9a7e7c 100644
--- 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/defaults/DefaultClientMessageHandler.java
+++ 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/defaults/DefaultClientMessageHandler.java
@@ -21,6 +21,7 @@ package org.apache.reef.runtime.common.driver.defaults;
 import org.apache.reef.wake.EventHandler;
 
 import javax.inject.Inject;
+import java.nio.charset.StandardCharsets;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -37,6 +38,6 @@ public final class DefaultClientMessageHandler implements 
EventHandler<byte[]> {
 
   @Override
   public void onNext(final byte[] bytes) {
-    LOG.log(Level.INFO, "Received ClientMessage: {0}", new String(bytes));
+    LOG.log(Level.INFO, "Received ClientMessage: {0}", new String(bytes, 
StandardCharsets.UTF_8));
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/PIDStoreStartHandler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/PIDStoreStartHandler.java
 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/PIDStoreStartHandler.java
index 0d8ae7c..3f5536f 100644
--- 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/PIDStoreStartHandler.java
+++ 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/PIDStoreStartHandler.java
@@ -23,10 +23,7 @@ import org.apache.reef.wake.EventHandler;
 import org.apache.reef.wake.time.event.StartTime;
 
 import javax.inject.Inject;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.PrintWriter;
+import java.io.*;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -46,10 +43,10 @@ public class PIDStoreStartHandler implements 
EventHandler<StartTime> {
     final long pid = OSUtils.getPID();
     final File outfile = new File(PID_FILE_NAME);
     LOG.log(Level.FINEST, "Storing pid `" + pid + "` in file " + 
outfile.getAbsolutePath());
-    try (final PrintWriter p = new PrintWriter((new 
FileOutputStream(PID_FILE_NAME)))) {
+    try (final PrintWriter p = new PrintWriter(PID_FILE_NAME, "UTF-8")) {
       p.write(String.valueOf(pid));
       p.write("\n");
-    } catch (final FileNotFoundException e) {
+    } catch (final FileNotFoundException | UnsupportedEncodingException e) {
       LOG.log(Level.WARNING, "Unable to create PID file.", e);
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/context/ContextManager.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/context/ContextManager.java
 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/context/ContextManager.java
index 6bc5487..805460c 100644
--- 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/context/ContextManager.java
+++ 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/context/ContextManager.java
@@ -294,7 +294,12 @@ public final class ContextManager implements AutoCloseable 
{
         this.heartBeatManager.sendHeartbeat(); // Ensure Driver gets notified 
of context DONE state
       }
       this.contextStack.pop();
-      System.gc(); // TODO sure??
+      /*
+      * At this moment, the Evaluator is actually idle and has some time till 
the Driver sends it additional work.
+      * Also, a potentially large object graph just became orphaned: all the 
objects instantiated by the context
+      * and service injectors can now be garbage collected. So GC call is 
justified.
+      * */
+      System.gc();
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/launch/ProfilingStopHandler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/launch/ProfilingStopHandler.java
 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/launch/ProfilingStopHandler.java
index 025224a..d64f891 100644
--- 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/launch/ProfilingStopHandler.java
+++ 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/launch/ProfilingStopHandler.java
@@ -27,6 +27,7 @@ import org.apache.reef.wake.time.event.StopTime;
 import javax.inject.Inject;
 import java.io.FileNotFoundException;
 import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -49,9 +50,9 @@ public final class ProfilingStopHandler implements 
EventHandler<StopTime> {
 
   @Override
   public void onNext(final StopTime stopTime) {
-    try (final PrintWriter out = new PrintWriter("profile-" + launchID + 
".json")) {
+    try (final PrintWriter out = new PrintWriter("profile-" + launchID + 
".json", "UTF-8")) {
       out.print(profiler.objectGraphToString());
-    } catch (final FileNotFoundException e) {
+    } catch (final FileNotFoundException | UnsupportedEncodingException e) {
       LOG.log(Level.WARNING, "Unable to write the profile", e);
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-common/src/main/java/org/apache/reef/util/CommandUtils.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/util/CommandUtils.java 
b/lang/java/reef-common/src/main/java/org/apache/reef/util/CommandUtils.java
index ca9bff4..1b8cf2b 100644
--- a/lang/java/reef-common/src/main/java/org/apache/reef/util/CommandUtils.java
+++ b/lang/java/reef-common/src/main/java/org/apache/reef/util/CommandUtils.java
@@ -21,6 +21,7 @@ package org.apache.reef.util;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -40,7 +41,7 @@ public final class CommandUtils {
       final Process proc = Runtime.getRuntime().exec(cmd);
 
       try (final BufferedReader input =
-               new BufferedReader(new 
InputStreamReader(proc.getInputStream()))) {
+               new BufferedReader(new InputStreamReader(proc.getInputStream(), 
StandardCharsets.UTF_8))) {
         String line;
         while ((line = input.readLine()) != null) {
           sb.append(line).append('\n');

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-common/src/main/java/org/apache/reef/util/OSUtils.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/util/OSUtils.java 
b/lang/java/reef-common/src/main/java/org/apache/reef/util/OSUtils.java
index ea6bc45..9bb9749 100644
--- a/lang/java/reef-common/src/main/java/org/apache/reef/util/OSUtils.java
+++ b/lang/java/reef-common/src/main/java/org/apache/reef/util/OSUtils.java
@@ -19,6 +19,7 @@
 package org.apache.reef.util;
 
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -57,7 +58,7 @@ public final class OSUtils {
             .start();
         final byte[] returnBytes = new byte[128];
         process.getInputStream().read(returnBytes);
-        final Long result = Long.valueOf(new String(returnBytes).trim());
+        final Long result = Long.valueOf(new String(returnBytes, 
StandardCharsets.UTF_8).trim());
         process.destroy();
         return result;
       } catch (final IOException e) {

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-common/src/main/java/org/apache/reef/util/logging/LogParser.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/util/logging/LogParser.java
 
b/lang/java/reef-common/src/main/java/org/apache/reef/util/logging/LogParser.java
index 9c50aa9..ee6a05f 100644
--- 
a/lang/java/reef-common/src/main/java/org/apache/reef/util/logging/LogParser.java
+++ 
b/lang/java/reef-common/src/main/java/org/apache/reef/util/logging/LogParser.java
@@ -19,9 +19,8 @@
 
 package org.apache.reef.util.logging;
 
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.IOException;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 
 /**
@@ -69,33 +68,32 @@ public final class LogParser {
                                                            final String 
removeBeforeToken,
                                                            final String 
removeAfterToken) throws IOException{
     final ArrayList<String> filteredLines = new ArrayList<String>();
-    try (final FileReader fr =  new FileReader(fileName)) {
-      try (final BufferedReader in = new BufferedReader(fr)) {
-        String line = "";
-        while ((line = in.readLine()) != null) {
-          if (line.trim().length() == 0) {
-            continue;
-          }
-          if (line.contains(filter)) {
-            String trimedLine;
-            if (removeBeforeToken != null) {
-              final String[] p = line.split(removeBeforeToken);
-              if (p.length > 1) {
-                trimedLine = p[p.length-1];
-              } else {
-                trimedLine = line.trim();
-              }
+    try (final BufferedReader in = new BufferedReader(
+            new InputStreamReader(new FileInputStream(fileName), 
StandardCharsets.UTF_8))) {
+      String line = "";
+      while ((line = in.readLine()) != null) {
+        if (line.trim().length() == 0) {
+          continue;
+        }
+        if (line.contains(filter)) {
+          String trimedLine;
+          if (removeBeforeToken != null) {
+            final String[] p = line.split(removeBeforeToken);
+            if (p.length > 1) {
+              trimedLine = p[p.length-1];
             } else {
               trimedLine = line.trim();
             }
-            if (removeAfterToken != null) {
-              final String[] p = trimedLine.split(removeAfterToken);
-              if (p.length > 1) {
-                trimedLine = p[0];
-              }
+          } else {
+            trimedLine = line.trim();
+          }
+          if (removeAfterToken != null) {
+            final String[] p = trimedLine.split(removeAfterToken);
+            if (p.length > 1) {
+              trimedLine = p[0];
             }
-            filteredLines.add(trimedLine);
           }
+          filteredLines.add(trimedLine);
         }
       }
     }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-common/src/main/resources/findbugs-exclude.xml
----------------------------------------------------------------------
diff --git a/lang/java/reef-common/src/main/resources/findbugs-exclude.xml 
b/lang/java/reef-common/src/main/resources/findbugs-exclude.xml
index 9673556..96395f3 100644
--- a/lang/java/reef-common/src/main/resources/findbugs-exclude.xml
+++ b/lang/java/reef-common/src/main/resources/findbugs-exclude.xml
@@ -24,4 +24,18 @@
     <Match>
         <Class name="~.*\.avro\..*" />
     </Match>
+    <Match>
+        <!-- Justified call of GC; explained in code -->
+        <Class 
name="org.apache.reef.runtime.common.evaluator.context.ContextManager" />
+        <Bug code="Dm" />
+    </Match>
+    <Match>
+        <!-- Test code -->
+        <Class name="org.apache.reef.util.MemoryUtils" />
+        <Bug code="DLS" />
+    </Match>
+    <Match>
+        <Class name="org.apache.reef.javabridge.NativeInterop" />
+        <Bug code="MS" />
+    </Match>
 </FindBugsFilter>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-examples/src/main/java/org/apache/reef/examples/data/loading/LineCounter.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/data/loading/LineCounter.java
 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/data/loading/LineCounter.java
index cb520a8..6690fe0 100644
--- 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/data/loading/LineCounter.java
+++ 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/data/loading/LineCounter.java
@@ -32,6 +32,7 @@ import org.apache.reef.tang.exceptions.BindException;
 import org.apache.reef.wake.EventHandler;
 
 import javax.inject.Inject;
+import java.nio.charset.StandardCharsets;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -110,7 +111,7 @@ public class LineCounter {
       LOG.log(Level.FINEST, "Completed Task: {0}", taskId);
 
       final byte[] retBytes = completedTask.get();
-      final String retStr = retBytes == null ? "No RetVal" : new 
String(retBytes);
+      final String retStr = retBytes == null ? "No RetVal" : new 
String(retBytes, StandardCharsets.UTF_8);
       LOG.log(Level.FINE, "Line count from {0} : {1}", new String[]{taskId, 
retStr});
 
       lineCnt.addAndGet(Integer.parseInt(retStr));

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-examples/src/main/java/org/apache/reef/examples/data/loading/LineCountingTask.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/data/loading/LineCountingTask.java
 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/data/loading/LineCountingTask.java
index e64a687..626d974 100644
--- 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/data/loading/LineCountingTask.java
+++ 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/data/loading/LineCountingTask.java
@@ -26,6 +26,7 @@ import org.apache.reef.io.network.util.Pair;
 import org.apache.reef.task.Task;
 
 import javax.inject.Inject;
+import java.nio.charset.StandardCharsets;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -54,6 +55,6 @@ public class LineCountingTask implements Task {
       ++numEx;
     }
     LOG.log(Level.FINER, "LineCounting task finished: read {0} lines", numEx);
-    return Integer.toString(numEx).getBytes();
+    return Integer.toString(numEx).getBytes(StandardCharsets.UTF_8);
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-examples/src/main/java/org/apache/reef/examples/group/bgd/data/parser/SVMLightParser.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/group/bgd/data/parser/SVMLightParser.java
 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/group/bgd/data/parser/SVMLightParser.java
index 38c7a28..1ff0e04 100644
--- 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/group/bgd/data/parser/SVMLightParser.java
+++ 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/group/bgd/data/parser/SVMLightParser.java
@@ -23,9 +23,8 @@ import org.apache.reef.examples.group.bgd.data.Example;
 import org.apache.reef.examples.group.bgd.data.SparseExample;
 
 import javax.inject.Inject;
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.IOException;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.logging.Level;
@@ -77,9 +76,10 @@ public class SVMLightParser implements Parser<String> {
     for (int i = 0; i < 10; i++) {
       final List<SparseExample> examples = new ArrayList<>();
       float avgFtLen = 0;
-      try (final BufferedReader br = new BufferedReader(new FileReader(
-          "C:\\Users\\shravan\\data\\splice\\hdi\\hdi_uncomp\\part-r-0000" + 
i))) {
-        String line = null;
+      try (final BufferedReader br = new BufferedReader(new InputStreamReader(
+              new 
FileInputStream("C:\\Users\\shravan\\data\\splice\\hdi\\hdi_uncomp\\part-r-0000"
 + i),
+              StandardCharsets.UTF_8))) {
+        String line;
         while ((line = br.readLine()) != null) {
           final SparseExample spEx = (SparseExample) parser.parse(line);
           avgFtLen += spEx.getFeatureLength();

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hello/HelloReefYarnTcp.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hello/HelloReefYarnTcp.java
 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hello/HelloReefYarnTcp.java
index ab960a2..def6b02 100644
--- 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hello/HelloReefYarnTcp.java
+++ 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hello/HelloReefYarnTcp.java
@@ -91,9 +91,9 @@ public final class HelloReefYarnTcp {
    * @throws InjectionException configuration error.
    */
   public static void main(final String[] args) throws BindException, 
InjectionException {
-    final int tcpBeginPort = args.length > 0 ? Integer.valueOf(args[0]) : 
DEFAULT_TCP_BEGIN_PORT;
-    final int tcpRangeCount = args.length > 1 ? Integer.valueOf(args[1]) : 
DEFAULT_TCP_RANGE_COUNT;
-    final int tcpTryCount = args.length > 2 ? Integer.valueOf(args[2]) : 
DEFAULT_TCP_RANGE_TRY_COUNT;
+    final int tcpBeginPort = args.length > 0 ? Integer.parseInt(args[0]) : 
DEFAULT_TCP_BEGIN_PORT;
+    final int tcpRangeCount = args.length > 1 ? Integer.parseInt(args[1]) : 
DEFAULT_TCP_RANGE_COUNT;
+    final int tcpTryCount = args.length > 2 ? Integer.parseInt(args[2]) : 
DEFAULT_TCP_RANGE_TRY_COUNT;
 
     final Configuration runtimeConf = getRuntimeConfiguration(tcpBeginPort, 
tcpRangeCount, tcpTryCount);
     final Configuration driverConf = getDriverConfiguration();

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hellohttp/HttpServerShellCmdtHandler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hellohttp/HttpServerShellCmdtHandler.java
 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hellohttp/HttpServerShellCmdtHandler.java
index 891aa66..88ff154 100644
--- 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hellohttp/HttpServerShellCmdtHandler.java
+++ 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/hellohttp/HttpServerShellCmdtHandler.java
@@ -29,7 +29,7 @@ import javax.inject.Inject;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.Map;
 import java.util.logging.Level;
@@ -126,11 +126,13 @@ class HttpServerShellCmdtHandler implements HttpHandler {
           LOG.log(Level.WARNING, "HttpServeShellCmdtHandler onHttpRequest 
InterruptedException: {0}", e);
         }
       }
-      
response.getOutputStream().write(cmdOutput.getBytes(Charset.forName("UTF-8")));
-      cmdOutput = null;
+      if (cmdOutput != null) {
+        
response.getOutputStream().write(cmdOutput.getBytes(StandardCharsets.UTF_8));
+        cmdOutput = null;
+      }
     } else if (parsedHttpRequest.getTargetEntity().equalsIgnoreCase("Driver")) 
{
       final String commandOutput = CommandUtils.runCommand(queryStr);
-      
response.getOutputStream().write(commandOutput.getBytes(Charset.forName("UTF-8")));
+      
response.getOutputStream().write(commandOutput.getBytes(StandardCharsets.UTF_8));
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-examples/src/main/java/org/apache/reef/examples/scheduler/driver/SchedulerDriver.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/scheduler/driver/SchedulerDriver.java
 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/scheduler/driver/SchedulerDriver.java
index 7e44631..3af1efa 100644
--- 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/scheduler/driver/SchedulerDriver.java
+++ 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/scheduler/driver/SchedulerDriver.java
@@ -157,7 +157,7 @@ public final class SchedulerDriver {
   public final class CompletedTaskHandler implements 
EventHandler<CompletedTask> {
     @Override
     public void onNext(final CompletedTask task) {
-      final int taskId = Integer.valueOf(task.getId());
+      final int taskId = Integer.parseInt(task.getId());
 
       synchronized (SchedulerDriver.this) {
         scheduler.setFinished(taskId);

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-examples/src/main/java/org/apache/reef/examples/scheduler/driver/http/SchedulerHttpHandler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/scheduler/driver/http/SchedulerHttpHandler.java
 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/scheduler/driver/http/SchedulerHttpHandler.java
index c32e828..1db9362 100644
--- 
a/lang/java/reef-examples/src/main/java/org/apache/reef/examples/scheduler/driver/http/SchedulerHttpHandler.java
+++ 
b/lang/java/reef-examples/src/main/java/org/apache/reef/examples/scheduler/driver/http/SchedulerHttpHandler.java
@@ -134,7 +134,7 @@ public final class SchedulerHttpHandler implements 
HttpHandler {
 
     try {
 
-      final int taskId = Integer.valueOf(args.get(0));
+      final int taskId = Integer.parseInt(args.get(0));
       return SchedulerResponse.ok(schedulerDriver.get().getTaskStatus(taskId));
 
     } catch (final NotFoundException e) {
@@ -161,7 +161,7 @@ public final class SchedulerHttpHandler implements 
HttpHandler {
 
     try {
 
-      final int taskId = Integer.valueOf(args.get(0));
+      final int taskId = Integer.parseInt(args.get(0));
       final int canceledId = schedulerDriver.get().cancelTask(taskId);
       return SchedulerResponse.ok("Canceled " + canceledId);
 
@@ -182,7 +182,7 @@ public final class SchedulerHttpHandler implements 
HttpHandler {
 
     try {
 
-      final int targetNum = Integer.valueOf(args.get(0));
+      final int targetNum = Integer.parseInt(args.get(0));
       final int maxEval = schedulerDriver.get().setMaxEvaluators(targetNum);
       return SchedulerResponse.ok("You can use up to " + maxEval + " 
evaluators.");
 

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-io/src/main/java/org/apache/reef/io/data/loading/api/DataLoadingRequestBuilder.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/data/loading/api/DataLoadingRequestBuilder.java
 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/data/loading/api/DataLoadingRequestBuilder.java
index 82a4b85..bb587f3 100644
--- 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/data/loading/api/DataLoadingRequestBuilder.java
+++ 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/data/loading/api/DataLoadingRequestBuilder.java
@@ -209,9 +209,9 @@ public final class DataLoadingRequestBuilder
           .newBuilder()
           .setPath(inputPath)
           .setLocation(Constants.ANY_RACK)
-          .setDesiredSplits(
-              numberOfDesiredSplits > 0 ? numberOfDesiredSplits : Integer
-                  
.valueOf(NumberOfDesiredSplits.DEFAULT_DESIRED_SPLITS)).build());
+          .setDesiredSplits(numberOfDesiredSplits > 0 ?
+                                numberOfDesiredSplits :
+                                
Integer.parseInt(NumberOfDesiredSplits.DEFAULT_DESIRED_SPLITS)).build());
       this.distributedDataSet = dds;
     } else {
       if (this.inputPath != null) {

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-io/src/main/java/org/apache/reef/io/network/util/StringCodec.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/util/StringCodec.java
 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/util/StringCodec.java
index 5bf4685..3f3a1e8 100644
--- 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/util/StringCodec.java
+++ 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/util/StringCodec.java
@@ -21,7 +21,7 @@ package org.apache.reef.io.network.util;
 import org.apache.reef.wake.remote.Codec;
 
 import javax.inject.Inject;
-
+import java.nio.charset.StandardCharsets;
 
 public class StringCodec implements Codec<String> {
 
@@ -32,11 +32,11 @@ public class StringCodec implements Codec<String> {
 
   @Override
   public byte[] encode(final String obj) {
-    return obj.getBytes();
+    return obj.getBytes(StandardCharsets.UTF_8);
   }
 
   @Override
   public String decode(final byte[] buf) {
-    return new String(buf);
+    return new String(buf, StandardCharsets.UTF_8);
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/IntegerCodec.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/IntegerCodec.java
 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/IntegerCodec.java
index 94b496a..5ee8bb7 100644
--- 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/IntegerCodec.java
+++ 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/IntegerCodec.java
@@ -20,16 +20,18 @@ package org.apache.reef.io.storage.util;
 
 import org.apache.reef.io.serialization.Codec;
 
+import java.nio.charset.StandardCharsets;
+
 public class IntegerCodec implements Codec<Integer> {
 
   @Override
   public byte[] encode(final Integer obj) {
-    return Integer.toString(obj).getBytes();
+    return Integer.toString(obj).getBytes(StandardCharsets.UTF_8);
   }
 
   @Override
   public Integer decode(final byte[] buf) {
-    return Integer.decode(new String(buf));
+    return Integer.decode(new String(buf, StandardCharsets.UTF_8));
   }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/StringDeserializer.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/StringDeserializer.java
 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/StringDeserializer.java
index 1016016..cccc5cf 100644
--- 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/StringDeserializer.java
+++ 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/StringDeserializer.java
@@ -24,6 +24,7 @@ import org.apache.reef.io.serialization.Deserializer;
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
 import java.util.Iterator;
 
 public class StringDeserializer implements
@@ -49,7 +50,7 @@ public class StringDeserializer implements
               len = dis.readInt();
               final byte[] b = new byte[len];
               dis.readFully(b);
-              return new String(b);
+              return new String(b, StandardCharsets.UTF_8);
             } catch (final IOException e) {
               throw new ServiceRuntimeException(e);
             }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/StringSerializer.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/StringSerializer.java
 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/StringSerializer.java
index cc61ea6..9a8fd6c 100644
--- 
a/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/StringSerializer.java
+++ 
b/lang/java/reef-io/src/main/java/org/apache/reef/io/storage/util/StringSerializer.java
@@ -26,6 +26,7 @@ import org.apache.reef.io.serialization.Serializer;
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
 
 public class StringSerializer implements
     Serializer<String, OutputStream> {
@@ -40,7 +41,7 @@ public class StringSerializer implements
 
           @Override
           public void add(final String datum) throws ServiceException {
-            final byte[] b = datum.getBytes();
+            final byte[] b = datum.getBytes(StandardCharsets.UTF_8);
             try {
               dos.writeInt(b.length);
               dos.write(b);

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/cli/HDICLI.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/cli/HDICLI.java
 
b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/cli/HDICLI.java
index 651c4ca..b4fdfe9 100644
--- 
a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/cli/HDICLI.java
+++ 
b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/cli/HDICLI.java
@@ -29,6 +29,7 @@ import javax.inject.Inject;
 import java.io.File;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -122,7 +123,7 @@ public final class HDICLI {
    */
   private void logs(final String applicationId) throws IOException {
     LOG.log(Level.INFO, "Fetching logs for application [{0}]", applicationId);
-    this.logFetcher.fetch(applicationId, new OutputStreamWriter(System.out));
+    this.logFetcher.fetch(applicationId, new OutputStreamWriter(System.out, 
StandardCharsets.UTF_8));
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/cli/LogFileEntry.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/cli/LogFileEntry.java
 
b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/cli/LogFileEntry.java
index 14839a2..d826732 100644
--- 
a/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/cli/LogFileEntry.java
+++ 
b/lang/java/reef-runtime-hdinsight/src/main/java/org/apache/reef/runtime/hdinsight/cli/LogFileEntry.java
@@ -21,6 +21,7 @@ package org.apache.reef.runtime.hdinsight.cli;
 import org.apache.hadoop.io.file.tfile.TFile;
 
 import java.io.*;
+import java.nio.charset.StandardCharsets;
 import java.util.logging.Logger;
 
 /**
@@ -61,7 +62,8 @@ final class LogFileEntry {
     try (final DataInputStream keyStream = entry.getKeyStream();
          final DataInputStream valueStream = entry.getValueStream();) {
       final String containerId = keyStream.readUTF();
-      try (final Writer outputWriter = new FileWriter(new File(folder, 
containerId + ".txt"))) {
+      try (final Writer outputWriter = new OutputStreamWriter(
+          new FileOutputStream(new File(folder, containerId + ".txt")), 
StandardCharsets.UTF_8)) {
         this.writeFiles(valueStream, outputWriter);
       }
     }
@@ -89,8 +91,8 @@ final class LogFileEntry {
   }
 
   /**
-   * Writes the next numberOfBytes bytes from the sream to the outputWriter, 
assuming that the bytes are UTF-8 encoded
-   * caharcters.
+   * Writes the next numberOfBytes bytes from the stream to the outputWriter, 
assuming that the bytes are UTF-8 encoded
+   * characters.
    *
    * @param stream
    * @param outputWriter

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/process/RunnableProcess.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/process/RunnableProcess.java
 
b/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/process/RunnableProcess.java
index 6eba822..9d2597e 100644
--- 
a/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/process/RunnableProcess.java
+++ 
b/lang/java/reef-runtime-local/src/main/java/org/apache/reef/runtime/local/process/RunnableProcess.java
@@ -21,10 +21,8 @@ package org.apache.reef.runtime.local.process;
 import org.apache.reef.runtime.common.evaluator.PIDStoreStartHandler;
 import org.apache.reef.util.OSUtils;
 
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
@@ -235,8 +233,9 @@ public final class RunnableProcess implements Runnable {
    */
   private long readPID() throws IOException {
     final String pidFileName = this.folder.getAbsolutePath() + "/" + 
PIDStoreStartHandler.PID_FILE_NAME;
-    try (final BufferedReader r = new BufferedReader(new 
FileReader(pidFileName))) {
-      return Long.valueOf(r.readLine());
+    try (final BufferedReader r =
+             new BufferedReader(new InputStreamReader(new 
FileInputStream(pidFileName), StandardCharsets.UTF_8))) {
+      return Long.parseLong(r.readLine());
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorLogAppendWriter.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorLogAppendWriter.java
 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorLogAppendWriter.java
index b88f4a0..7d07939 100644
--- 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorLogAppendWriter.java
+++ 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorLogAppendWriter.java
@@ -25,6 +25,7 @@ import org.apache.reef.annotations.audience.Private;
 import java.io.BufferedWriter;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
+import java.nio.charset.StandardCharsets;
 
 /**
  * The DFS evaluator logger that performs regular append. dfs.support.append 
should be true.
@@ -55,8 +56,10 @@ public final class DFSEvaluatorLogAppendWriter implements 
DFSEvaluatorLogWriter
 
     try (
         final BufferedWriter bw = fileCreated ?
-            new BufferedWriter(new 
OutputStreamWriter(this.fileSystem.append(this.changelogPath))) :
-            new BufferedWriter(new 
OutputStreamWriter(this.fileSystem.create(this.changelogPath)))
+            new BufferedWriter(new OutputStreamWriter(
+                this.fileSystem.append(this.changelogPath), 
StandardCharsets.UTF_8)) :
+            new BufferedWriter(new OutputStreamWriter(
+                this.fileSystem.create(this.changelogPath), 
StandardCharsets.UTF_8))
     ) {
       bw.write(formattedEntry);
     }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorLogOverwriteWriter.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorLogOverwriteWriter.java
 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorLogOverwriteWriter.java
index e461b45..5a23231 100644
--- 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorLogOverwriteWriter.java
+++ 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorLogOverwriteWriter.java
@@ -25,6 +25,7 @@ import org.apache.hadoop.io.IOUtils;
 import org.apache.reef.annotations.audience.Private;
 
 import java.io.*;
+import java.nio.charset.StandardCharsets;
 
 /**
  * The DFS evaluator logger that does not support append and does append by 
overwrite.
@@ -56,9 +57,8 @@ public final class DFSEvaluatorLogOverwriteWriter implements 
DFSEvaluatorLogWrit
     final boolean fileCreated = this.fileSystem.exists(this.changelogPath);
 
     if (!fileCreated) {
-      try (
-          final BufferedWriter bw =
-              new BufferedWriter(new 
OutputStreamWriter(this.fileSystem.create(this.changelogPath)))) {
+      try (final BufferedWriter bw = new BufferedWriter(
+              new 
OutputStreamWriter(this.fileSystem.create(this.changelogPath), 
StandardCharsets.UTF_8))) {
         bw.write(formattedEntry);
       }
     } else {
@@ -81,11 +81,11 @@ public final class DFSEvaluatorLogOverwriteWriter 
implements DFSEvaluatorLogWrit
       IOUtils.copyBytes(inputStream, outputStream, 4096, true);
     }
 
-    final String newContent = outputStream.toString() + appendEntry;
+    final String newContent = outputStream.toString("UTF-8") + appendEntry;
     this.fileSystem.delete(this.changelogPath, true);
 
     try (final FSDataOutputStream newOutput = 
this.fileSystem.create(this.changelogPath);
-         final InputStream newInput = new 
ByteArrayInputStream(newContent.getBytes())) {
+         final InputStream newInput = new 
ByteArrayInputStream(newContent.getBytes(StandardCharsets.UTF_8))) {
       IOUtils.copyBytes(newInput, newOutput, 4096, true);
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorPreserver.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorPreserver.java
 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorPreserver.java
index 409e392..346d852 100644
--- 
a/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorPreserver.java
+++ 
b/lang/java/reef-runtime-yarn/src/main/java/org/apache/reef/runtime/yarn/driver/restart/DFSEvaluatorPreserver.java
@@ -33,6 +33,7 @@ import org.apache.reef.tang.annotations.Parameter;
 
 import javax.inject.Inject;
 import java.io.*;
+import java.nio.charset.StandardCharsets;
 import java.util.HashSet;
 import java.util.Set;
 import java.util.logging.Level;
@@ -117,8 +118,8 @@ public final class DFSEvaluatorPreserver implements 
EvaluatorPreserver, AutoClos
         // empty set
         return expectedContainers;
       } else {
-        final BufferedReader br =
-            new BufferedReader(new 
InputStreamReader(this.fileSystem.open(this.changeLogLocation)));
+        final BufferedReader br = new BufferedReader(
+            new 
InputStreamReader(this.fileSystem.open(this.changeLogLocation), 
StandardCharsets.UTF_8));
         String line = br.readLine();
         while (line != null) {
           if (line.startsWith(ADD_FLAG)) {
@@ -191,27 +192,18 @@ public final class DFSEvaluatorPreserver implements 
EvaluatorPreserver, AutoClos
 
   private void handleException(final Exception e, final String errorMsg, final 
String fatalMsg){
     if (this.failDriverOnEvaluatorLogErrors) {
-      final Level logLevel;
-      if (this.failDriverOnEvaluatorLogErrors) {
-        logLevel = Level.SEVERE;
-      } else {
-        logLevel = Level.WARNING;
-      }
+      LOG.log(Level.SEVERE, errorMsg, e);
 
-      LOG.log(logLevel, errorMsg, e);
-
-      if (this.failDriverOnEvaluatorLogErrors) {
-        try {
-          this.close();
-        } catch (Exception e1) {
-          LOG.log(Level.SEVERE, "Failed on closing resource with " + 
e1.getStackTrace());
-        }
+      try {
+        this.close();
+      } catch (Exception e1) {
+        LOG.log(Level.SEVERE, "Failed on closing resource with " + 
e1.getStackTrace());
+      }
 
-        if (fatalMsg != null) {
-          throw new DriverFatalRuntimeException(fatalMsg, e);
-        } else {
-          throw new DriverFatalRuntimeException("Driver failed on Evaluator 
log error.", e);
-        }
+      if (fatalMsg != null) {
+        throw new DriverFatalRuntimeException(fatalMsg, e);
+      } else {
+        throw new DriverFatalRuntimeException("Driver failed on Evaluator log 
error.", e);
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/examples/PrintTypeHierarchy.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/examples/PrintTypeHierarchy.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/examples/PrintTypeHierarchy.java
index 03aa710..db4366c 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/examples/PrintTypeHierarchy.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/examples/PrintTypeHierarchy.java
@@ -33,8 +33,11 @@ import 
org.apache.reef.tang.util.walk.graphviz.GraphvizConfigVisitor;
 import org.apache.reef.tang.util.walk.graphviz.GraphvizInjectionPlanVisitor;
 
 import javax.inject.Inject;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 
 /**
  * Build a Graphviz representation of TANG configuration and injection plan.
@@ -49,7 +52,7 @@ public final class PrintTypeHierarchy {
   /**
    * Constructor to test the parameter injection.
    *
-   * @param aId test parameter
+   * @param id test parameter
    */
   @Inject
   public PrintTypeHierarchy(@Parameter(PrintTypeHierarchy.Id.class) final int 
id) {
@@ -74,14 +77,16 @@ public final class PrintTypeHierarchy {
     final Injector injector = tang.newInjector(config);
     final PrintTypeHierarchy myself = 
injector.getInstance(PrintTypeHierarchy.class);
 
-    try (final FileWriter out = new FileWriter("type-hierarchy.dot")) {
+    try (final Writer out = new OutputStreamWriter(
+            new FileOutputStream("type-hierarchy.dot"), 
StandardCharsets.UTF_8)) {
       out.write(GraphvizConfigVisitor.getGraphvizString(config, true, true));
     }
 
     final InjectionPlan<PrintTypeHierarchy> plan =
         injector.getInjectionPlan(PrintTypeHierarchy.class);
 
-    try (final FileWriter out = new FileWriter("injection-plan.dot")) {
+    try (final Writer out = new OutputStreamWriter(
+            new FileOutputStream("injection-plan.dot"), 
StandardCharsets.UTF_8)) {
       out.write(GraphvizInjectionPlanVisitor.getGraphvizString(plan, true));
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/AvroConfigurationSerializer.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/AvroConfigurationSerializer.java
 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/AvroConfigurationSerializer.java
index 229f76c..466dcea 100644
--- 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/AvroConfigurationSerializer.java
+++ 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/formats/AvroConfigurationSerializer.java
@@ -203,7 +203,7 @@ public final class AvroConfigurationSerializer implements 
ConfigurationSerialize
 
   @Override
   public void toTextFile(final Configuration conf, final File file) throws 
IOException {
-    try (final Writer w = new FileWriter(file)) {
+    try (final Writer w = new OutputStreamWriter(new FileOutputStream(file), 
JSON_CHARSET)) {
       w.write(this.toString(conf));
     }
   }
@@ -290,7 +290,8 @@ public final class AvroConfigurationSerializer implements 
ConfigurationSerialize
 
   private StringBuilder readFromTextFile(final File file) throws IOException {
     final StringBuilder result = new StringBuilder();
-    try (final BufferedReader reader = new BufferedReader(new 
FileReader(file))) {
+    try (final BufferedReader reader =
+             new BufferedReader(new InputStreamReader(new 
FileInputStream(file), JSON_CHARSET))) {
       String line = reader.readLine();
       while (line != null) {
         result.append(line);

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/util/Tint.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/util/Tint.java 
b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/util/Tint.java
index 0192be5..3f72a8f 100644
--- a/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/util/Tint.java
+++ b/lang/java/reef-tang/tang/src/main/java/org/apache/reef/tang/util/Tint.java
@@ -37,10 +37,7 @@ import org.reflections.scanners.SubTypesScanner;
 import org.reflections.scanners.TypeAnnotationsScanner;
 
 import javax.inject.Inject;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.PrintStream;
+import java.io.*;
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 import java.net.MalformedURLException;
@@ -283,7 +280,8 @@ public class Tint {
    * @throws FileNotFoundException
    * @throws MalformedURLException
    */
-  public static void main(final String[] args) throws FileNotFoundException, 
MalformedURLException {
+  public static void main(final String[] args)
+      throws FileNotFoundException, MalformedURLException, 
UnsupportedEncodingException {
     int i = 0;
     String doc = null;
     String jar = null;
@@ -314,7 +312,7 @@ public class Tint {
     }
 
     if (doc != null) {
-      try (final PrintStream out = new PrintStream(new FileOutputStream(new 
File(doc)))) {
+      try (final PrintStream out = new PrintStream(doc, "UTF-8")) {
         out.println("<html><head><title>TangDoc</title>");
 
         out.println("<style>");

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-tests/src/main/java/org/apache/reef/tests/evaluatorreuse/EvaluatorReuseTestDriver.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tests/src/main/java/org/apache/reef/tests/evaluatorreuse/EvaluatorReuseTestDriver.java
 
b/lang/java/reef-tests/src/main/java/org/apache/reef/tests/evaluatorreuse/EvaluatorReuseTestDriver.java
index 5c70bfe..854be08 100644
--- 
a/lang/java/reef-tests/src/main/java/org/apache/reef/tests/evaluatorreuse/EvaluatorReuseTestDriver.java
+++ 
b/lang/java/reef-tests/src/main/java/org/apache/reef/tests/evaluatorreuse/EvaluatorReuseTestDriver.java
@@ -35,6 +35,7 @@ import org.apache.reef.wake.EventHandler;
 
 import javax.inject.Inject;
 import javax.xml.bind.DatatypeConverter;
+import java.nio.charset.StandardCharsets;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -60,8 +61,8 @@ final class EvaluatorReuseTestDriver {
     if (counter < numberOfIterations) {
       try {
         this.lastMessage = "ECHO-" + counter;
-        client.sendMessageToClient(("Submitting iteration " + 
counter).getBytes());
-        final String memento = 
DatatypeConverter.printBase64Binary(this.lastMessage.getBytes());
+        client.sendMessageToClient(("Submitting iteration " + 
counter).getBytes(StandardCharsets.UTF_8));
+        final String memento = 
DatatypeConverter.printBase64Binary(this.lastMessage.getBytes(StandardCharsets.UTF_8));
         context.submitTask(TaskConfiguration.CONF
             .set(TaskConfiguration.IDENTIFIER, this.lastMessage)
             .set(TaskConfiguration.TASK, EchoTask.class)
@@ -73,7 +74,7 @@ final class EvaluatorReuseTestDriver {
         throw new RuntimeException(e);
       }
     } else {
-      client.sendMessageToClient("Done. Closing the Context".getBytes());
+      client.sendMessageToClient("Done. Closing the 
Context".getBytes(StandardCharsets.UTF_8));
       context.close();
     }
   }
@@ -85,9 +86,9 @@ final class EvaluatorReuseTestDriver {
   final class TaskCompletedHandler implements EventHandler<CompletedTask> {
     @Override
     public void onNext(final CompletedTask completed) {
-      final String returned = new String(completed.get());
+      final String returned = new String(completed.get(), 
StandardCharsets.UTF_8);
       final String msg = "CompletedTask returned: \"" + returned + "\"";
-      client.sendMessageToClient(msg.getBytes());
+      client.sendMessageToClient(msg.getBytes(StandardCharsets.UTF_8));
       if (!returned.equals(lastMessage)) {
         throw new UnexpectedTaskReturnValue(lastMessage, returned);
       } else {

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-tests/src/main/java/org/apache/reef/tests/messaging/driver/DriverMessaging.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-tests/src/main/java/org/apache/reef/tests/messaging/driver/DriverMessaging.java
 
b/lang/java/reef-tests/src/main/java/org/apache/reef/tests/messaging/driver/DriverMessaging.java
index 2f9183b..76875e2 100644
--- 
a/lang/java/reef-tests/src/main/java/org/apache/reef/tests/messaging/driver/DriverMessaging.java
+++ 
b/lang/java/reef-tests/src/main/java/org/apache/reef/tests/messaging/driver/DriverMessaging.java
@@ -29,6 +29,7 @@ import org.apache.reef.util.Optional;
 import org.apache.reef.wake.EventHandler;
 
 import javax.inject.Inject;
+import java.nio.charset.StandardCharsets;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -113,7 +114,7 @@ public final class DriverMessaging {
   final class JobMessageHandler implements EventHandler<JobMessage> {
     @Override
     public void onNext(final JobMessage message) {
-      final String msg = new String(message.get());
+      final String msg = new String(message.get(), StandardCharsets.UTF_8);
       synchronized (DriverMessaging.this) {
         if (!msg.equals(DriverMessaging.this.lastMessage)) {
           LOG.log(Level.SEVERE, "Expected {0} but got {1}",
@@ -133,7 +134,7 @@ public final class DriverMessaging {
         DriverMessaging.this.status = LauncherStatus.RUNNING;
         DriverMessaging.this.theJob = Optional.of(job);
         DriverMessaging.this.lastMessage = "Hello, REEF!";
-        
DriverMessaging.this.theJob.get().send(DriverMessaging.this.lastMessage.getBytes());
+        
DriverMessaging.this.theJob.get().send(DriverMessaging.this.lastMessage.getBytes(StandardCharsets.UTF_8));
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/IdentifierParser.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/IdentifierParser.java
 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/IdentifierParser.java
index b4550e3..9f23e37 100644
--- 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/IdentifierParser.java
+++ 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/IdentifierParser.java
@@ -27,6 +27,11 @@ import javax.inject.Inject;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+/**
+ * @deprecated in 0.13
+ */
+
+@Deprecated
 public class IdentifierParser implements ExternalConstructor<Identifier> {
   private static final IdentifierFactory FACTORY;
 

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/impl/OpaqueLocalIdentifier.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/impl/OpaqueLocalIdentifier.java
 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/impl/OpaqueLocalIdentifier.java
deleted file mode 100644
index ced6000..0000000
--- 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/impl/OpaqueLocalIdentifier.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.reef.wake.impl;
-
-import org.apache.reef.wake.Identifier;
-
-public class OpaqueLocalIdentifier implements Identifier {
-  @Override
-  public String toString() {
-    return "local-opaque-id://" + this.toString();
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/profiler/WakeProfiler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/profiler/WakeProfiler.java
 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/profiler/WakeProfiler.java
index 10baa2e..2e6a786 100644
--- 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/profiler/WakeProfiler.java
+++ 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/profiler/WakeProfiler.java
@@ -71,7 +71,7 @@ public class WakeProfiler implements Aspect {
     if (vertexObject.containsKey(s)) {
       return (Vertex<Set<T>>) vertexObject.get(s);
     }
-    if (s.size() > -1) {
+    if (s.size() > 1) {
       LOG.fine("new set of size " + s.size());
       final Vertex<?>[] sArgs = new Vertex[s.size()];
       int k = 0;
@@ -82,7 +82,6 @@ public class WakeProfiler implements Aspect {
       final Vertex<Set<T>> sv = new Vertex<>(s, null, sArgs);
       vertexObject.put(s, sv);
       return sv;
-//    } else if(s.size() == 1) {
     } else {
       final Object p = s.iterator().next();
       final Vertex<?> w = getVertex(p);
@@ -90,9 +89,6 @@ public class WakeProfiler implements Aspect {
       vertexObject.put(s, w);
       return w;
     }
-//    } else {
-//    // ignore the empty set.
-//  } */
   }
 
   @SuppressWarnings("unchecked")

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/impl/StringCodec.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/impl/StringCodec.java
 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/impl/StringCodec.java
index d972a33..db5f322 100644
--- 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/impl/StringCodec.java
+++ 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/impl/StringCodec.java
@@ -20,6 +20,8 @@ package org.apache.reef.wake.remote.impl;
 
 import org.apache.reef.wake.remote.Codec;
 
+import java.nio.charset.StandardCharsets;
+
 /**
  * Codec that encodes/decodes a string.
  */
@@ -33,7 +35,7 @@ public class StringCodec implements Codec<String> {
    */
   @Override
   public byte[] encode(final String obj) {
-    return obj.getBytes();
+    return obj.getBytes(StandardCharsets.UTF_8);
   }
 
   /**
@@ -44,7 +46,7 @@ public class StringCodec implements Codec<String> {
    */
   @Override
   public String decode(final byte[] buf) {
-    return new String(buf);
+    return new String(buf, StandardCharsets.UTF_8);
   }
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/FileHandlePool.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/FileHandlePool.java
 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/FileHandlePool.java
index a0779ae..c9d6a5b 100644
--- 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/FileHandlePool.java
+++ 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/FileHandlePool.java
@@ -20,6 +20,11 @@ package org.apache.reef.wake.storage;
 
 import java.io.FileInputStream;
 
+/**
+ * @deprecated in 0.13
+ */
+
+@Deprecated
 public class FileHandlePool {
   public FileInputStream get(final StorageIdentifier f) {
     return null;

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/ReadRequest.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/ReadRequest.java
 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/ReadRequest.java
index 0e3140c..888d7a4 100644
--- 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/ReadRequest.java
+++ 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/ReadRequest.java
@@ -21,6 +21,11 @@ package org.apache.reef.wake.storage;
 import org.apache.reef.wake.Identifiable;
 import org.apache.reef.wake.Identifier;
 
+/**
+ * @deprecated in 0.13
+ */
+
+@Deprecated
 public class ReadRequest implements Identifiable {
   private final StorageIdentifier f;
   private final long offset;

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/ReadResponse.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/ReadResponse.java
 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/ReadResponse.java
index b8322db..cde7419 100644
--- 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/ReadResponse.java
+++ 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/ReadResponse.java
@@ -20,6 +20,11 @@ package org.apache.reef.wake.storage;
 
 import org.apache.reef.wake.Identifier;
 
+/**
+ * @deprecated in 0.13
+ */
+
+@Deprecated
 public class ReadResponse {
   private final byte[] buf;
   private final int bytesRead;

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/SequentialFileReader.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/SequentialFileReader.java
 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/SequentialFileReader.java
deleted file mode 100644
index 3a5ae29..0000000
--- 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/SequentialFileReader.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.reef.wake.storage;
-
-import org.apache.reef.wake.EStage;
-import org.apache.reef.wake.EventHandler;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-
-public class SequentialFileReader implements EStage<ReadRequest> {
-  private final EventHandler<ReadResponse> dest = null;
-  private final FileHandlePool fdPool = new FileHandlePool();
-
-  @Override
-  public void onNext(final ReadRequest value) {
-    final FileInputStream fin = fdPool.get(value.getF());
-    int readSoFar = 0;
-    try {
-      synchronized (fin) {
-        fin.reset();
-        fin.skip(value.getOffset());
-        while (readSoFar != value.getBuf().length) {
-          final int ret = fin.read(value.getBuf(), readSoFar, 
value.getBuf().length);
-          if (ret == -1) {
-            break;
-          }
-          readSoFar += ret;
-        }
-      }
-    } catch (final IOException e) {
-      fdPool.release(value.getF(), fin);
-//      err.onNext(null); //new ReadError(e));
-    }
-    fdPool.release(value.getF(), fin);
-    dest.onNext(new ReadResponse(value.getBuf(), readSoFar, value.getId()));
-  }
-
-  @Override
-  public void close() throws Exception {
-    // TODO Auto-generated method stub
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/StorageIdentifier.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/StorageIdentifier.java
 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/StorageIdentifier.java
index 013ee59..336adc8 100644
--- 
a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/StorageIdentifier.java
+++ 
b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/storage/StorageIdentifier.java
@@ -20,6 +20,11 @@ package org.apache.reef.wake.storage;
 
 import org.apache.reef.wake.Identifier;
 
+/**
+ * @deprecated in 0.13
+ */
+
+@Deprecated
 public interface StorageIdentifier extends Identifier {
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-webserver/src/main/java/org/apache/reef/webserver/HttpServerReefEventHandler.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-webserver/src/main/java/org/apache/reef/webserver/HttpServerReefEventHandler.java
 
b/lang/java/reef-webserver/src/main/java/org/apache/reef/webserver/HttpServerReefEventHandler.java
index 1007215..01bfb8c 100644
--- 
a/lang/java/reef-webserver/src/main/java/org/apache/reef/webserver/HttpServerReefEventHandler.java
+++ 
b/lang/java/reef-webserver/src/main/java/org/apache/reef/webserver/HttpServerReefEventHandler.java
@@ -35,7 +35,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.net.InetSocketAddress;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.ArrayList;
@@ -86,7 +86,7 @@ public final class HttpServerReefEventHandler implements 
HttpHandler {
    * read a file and output it as a String.
    */
   private static String readFile(final String fileName) throws IOException {
-    return new String(Files.readAllBytes(Paths.get(fileName)));
+    return new String(Files.readAllBytes(Paths.get(fileName)), 
StandardCharsets.UTF_8);
   }
 
   /**
@@ -176,7 +176,7 @@ public final class HttpServerReefEventHandler implements 
HttpHandler {
         response.getWriter().println(String.format("Unsupported file names: 
[%s] ", fileName));
       }
       try {
-        final byte[] outputBody = readFile((String) 
names.get(0)).getBytes(Charset.forName("UTF-8"));
+        final byte[] outputBody = readFile((String) 
names.get(0)).getBytes(StandardCharsets.UTF_8);
         response.getOutputStream().write(outputBody);
       } catch(final IOException e) {
         response.getWriter().println(String.format("Cannot find the log file: 
[%s].", fileName));
@@ -341,7 +341,7 @@ public final class HttpServerReefEventHandler implements 
HttpHandler {
    * Write a String to HTTP Response.
    */
   private void writeResponse(final HttpServletResponse response, final String 
data) throws IOException {
-    final byte[] outputBody = data.getBytes(Charset.forName("UTF-8"));
+    final byte[] outputBody = data.getBytes(StandardCharsets.UTF_8);
     response.getOutputStream().write(outputBody);
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/af2be6b9/lang/java/reef-webserver/src/test/java/org/apache/reef/webserver/TestAvroHttpSerializer.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-webserver/src/test/java/org/apache/reef/webserver/TestAvroHttpSerializer.java
 
b/lang/java/reef-webserver/src/test/java/org/apache/reef/webserver/TestAvroHttpSerializer.java
index 4c57133..d31edb1 100644
--- 
a/lang/java/reef-webserver/src/test/java/org/apache/reef/webserver/TestAvroHttpSerializer.java
+++ 
b/lang/java/reef-webserver/src/test/java/org/apache/reef/webserver/TestAvroHttpSerializer.java
@@ -28,7 +28,7 @@ import org.junit.rules.ExpectedException;
 import javax.servlet.ServletException;
 import java.io.*;
 import java.nio.ByteBuffer;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 
 /**
@@ -43,7 +43,7 @@ public final class TestAvroHttpSerializer {
   public static String readStream(final InputStream is) {
     final StringBuilder sb = new StringBuilder(512);
     try {
-      final Reader r = new InputStreamReader(is, "UTF-8");
+      final Reader r = new InputStreamReader(is, StandardCharsets.UTF_8);
       int c = 0;
       while ((c = r.read()) != -1) {
         sb.append((char) c);
@@ -57,7 +57,7 @@ public final class TestAvroHttpSerializer {
   @Before
   public void setUp() throws Exception {
     final String s = "test binary stream data";
-    final byte[] b = s.getBytes(Charset.forName("UTF-8"));
+    final byte[] b = s.getBytes(StandardCharsets.UTF_8);
     avroRequest = AvroHttpRequest.newBuilder()
         .setRequestUrl("http://localhost:8080/reef/evaluators?id=12&id=34&a=b";)
         .setHttpMethod("POST")
@@ -172,7 +172,7 @@ public final class TestAvroHttpSerializer {
     thrown.expect(AvroRuntimeException.class);
     thrown.expectMessage("Field queryString type:STRING pos:3 not set and has 
no default value");
     final String s = "test binary stream data";
-    final byte[] b = s.getBytes(Charset.forName("UTF-8"));
+    final byte[] b = s.getBytes(StandardCharsets.UTF_8);
     avroRequest = AvroHttpRequest.newBuilder()
         .setRequestUrl("http://localhost:8080/reef/evaluators?id=12&id=34&a=b";)
         .setHttpMethod("POST")
@@ -190,7 +190,7 @@ public final class TestAvroHttpSerializer {
     thrown.expect(AvroRuntimeException.class);
     thrown.expectMessage("Field queryString type:STRING pos:3 does not accept 
null values");
     final String s = "test binary stream data";
-    final byte[] b = s.getBytes(Charset.forName("UTF-8"));
+    final byte[] b = s.getBytes(StandardCharsets.UTF_8);
     avroRequest = AvroHttpRequest.newBuilder()
         .setRequestUrl("http://localhost:8080/reef/evaluators?id=12&id=34&a=b";)
         .setHttpMethod("POST")
@@ -209,7 +209,7 @@ public final class TestAvroHttpSerializer {
     thrown.expect(AvroRuntimeException.class);
     thrown.expectMessage("Field inputStream type:BYTES pos:5 does not accept 
null values");
     final String s = "test binary stream data";
-    final byte[] b = s.getBytes(Charset.forName("UTF-8"));
+    final byte[] b = s.getBytes(StandardCharsets.UTF_8);
 
     avroRequest = AvroHttpRequest.newBuilder()
         .setRequestUrl("http://localhost:8080/reef/evaluators?id=12&id=34&a=b";)
@@ -227,7 +227,7 @@ public final class TestAvroHttpSerializer {
   @Test
   public void testEmptyString() {
     final String s = "test binary stream data";
-    final byte[] b = s.getBytes(Charset.forName("UTF-8"));
+    final byte[] b = s.getBytes(StandardCharsets.UTF_8);
 
     avroRequest = AvroHttpRequest.newBuilder()
         .setRequestUrl("http://localhost:8080/reef/evaluators?id=12&id=34&a=b";)


Reply via email to