diff --git a/common/network-common/src/test/java/org/apache/spark/network/ChunkFetchIntegrationSuite.java b/common/network-common/src/test/java/org/apache/spark/network/ChunkFetchIntegrationSuite.java
index d17e986e1742b56be2692fa7a6901c9219d432c8..6d62eaf35d8ccdb08d6e39d9ff80d6634f106b11 100644
--- a/common/network-common/src/test/java/org/apache/spark/network/ChunkFetchIntegrationSuite.java
+++ b/common/network-common/src/test/java/org/apache/spark/network/ChunkFetchIntegrationSuite.java
@@ -64,8 +64,6 @@ public class ChunkFetchIntegrationSuite {
   static ManagedBuffer bufferChunk;
   static ManagedBuffer fileChunk;
 
-  private TransportConf transportConf;
-
   @BeforeClass
   public static void setUp() throws Exception {
     int bufSize = 100000;
diff --git a/common/network-common/src/test/java/org/apache/spark/network/RequestTimeoutIntegrationSuite.java b/common/network-common/src/test/java/org/apache/spark/network/RequestTimeoutIntegrationSuite.java
index e2d026c66fd311615d4a8f1cbbc57a24be11e5e8..c0ff9dc5f50278a232c8dbba22996077736f8677 100644
--- a/common/network-common/src/test/java/org/apache/spark/network/RequestTimeoutIntegrationSuite.java
+++ b/common/network-common/src/test/java/org/apache/spark/network/RequestTimeoutIntegrationSuite.java
@@ -55,7 +55,7 @@ public class RequestTimeoutIntegrationSuite {
   private TransportConf conf;
 
   // A large timeout that "shouldn't happen", for the sake of faulty tests not hanging forever.
-  private final int FOREVER = 60 * 1000;
+  private static final int FOREVER = 60 * 1000;
 
   @Before
   public void setUp() throws Exception {
diff --git a/common/network-common/src/test/java/org/apache/spark/network/TransportClientFactorySuite.java b/common/network-common/src/test/java/org/apache/spark/network/TransportClientFactorySuite.java
index 9a89dd114f3bdcaf18fd77f3c2da7b35e3623e0b..44d16d54225e7a03fd4e7811583b9b8f2bf01c61 100644
--- a/common/network-common/src/test/java/org/apache/spark/network/TransportClientFactorySuite.java
+++ b/common/network-common/src/test/java/org/apache/spark/network/TransportClientFactorySuite.java
@@ -122,6 +122,8 @@ public class TransportClientFactorySuite {
     for (TransportClient client : clients) {
       client.close();
     }
+
+    factory.close();
   }
 
   @Test
diff --git a/common/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java b/common/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java
index 87706d0b6838882d3997ddd4a397948cc0fc2a6a..427a8315e02b74dc5bbf8ba09b2c41e33e5219c7 100644
--- a/common/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java
+++ b/common/unsafe/src/main/java/org/apache/spark/unsafe/types/UTF8String.java
@@ -44,7 +44,8 @@ import static org.apache.spark.unsafe.Platform.*;
  * <p>
  * Note: This is not designed for general use cases, should not be used outside SQL.
  */
-public final class UTF8String implements Comparable<UTF8String>, Externalizable, KryoSerializable {
+public final class UTF8String implements Comparable<UTF8String>, Externalizable, KryoSerializable,
+  Cloneable {
 
   // These are only updated by readExternal() or read()
   @Nonnull
diff --git a/core/src/main/java/org/apache/spark/util/collection/unsafe/sort/UnsafeInMemorySorter.java b/core/src/main/java/org/apache/spark/util/collection/unsafe/sort/UnsafeInMemorySorter.java
index cea0f0a0c6c11a38e5cc5a8a6aef8cf15580d60d..145c3a19506475e3254a74d431a32a5a0eca1c55 100644
--- a/core/src/main/java/org/apache/spark/util/collection/unsafe/sort/UnsafeInMemorySorter.java
+++ b/core/src/main/java/org/apache/spark/util/collection/unsafe/sort/UnsafeInMemorySorter.java
@@ -172,7 +172,7 @@ public final class UnsafeInMemorySorter {
     pos++;
   }
 
-  public final class SortedIterator extends UnsafeSorterIterator {
+  public final class SortedIterator extends UnsafeSorterIterator implements Cloneable {
 
     private final int numRecords;
     private int position;
diff --git a/core/src/test/java/org/apache/spark/unsafe/map/AbstractBytesToBytesMapSuite.java b/core/src/test/java/org/apache/spark/unsafe/map/AbstractBytesToBytesMapSuite.java
index d8af2b336dd4db82ed5ff7ffc81b9a24e2dd8935..61b94b736d38efe8c2210685fab2f908edef5bcb 100644
--- a/core/src/test/java/org/apache/spark/unsafe/map/AbstractBytesToBytesMapSuite.java
+++ b/core/src/test/java/org/apache/spark/unsafe/map/AbstractBytesToBytesMapSuite.java
@@ -64,7 +64,7 @@ public abstract class AbstractBytesToBytesMapSuite {
 
   private TestMemoryManager memoryManager;
   private TaskMemoryManager taskMemoryManager;
-  private final long PAGE_SIZE_BYTES = 1L << 26; // 64 megabytes
+  private static final long PAGE_SIZE_BYTES = 1L << 26; // 64 megabytes
 
   final LinkedList<File> spillFilesCreated = new LinkedList<File>();
   File tempDir;
@@ -131,8 +131,8 @@ public abstract class AbstractBytesToBytesMapSuite {
     Utils.deleteRecursively(tempDir);
     tempDir = null;
 
-    Assert.assertEquals(0L, taskMemoryManager.cleanUpAllAllocatedMemory());
     if (taskMemoryManager != null) {
+      Assert.assertEquals(0L, taskMemoryManager.cleanUpAllAllocatedMemory());
       long leakedMemory = taskMemoryManager.getMemoryConsumptionForThisTask();
       taskMemoryManager = null;
       Assert.assertEquals(0L, leakedMemory);
diff --git a/examples/src/main/java/org/apache/spark/examples/ml/JavaCountVectorizerExample.java b/examples/src/main/java/org/apache/spark/examples/ml/JavaCountVectorizerExample.java
index ac33adb65292ff47c81f6e03506b17b025505b84..872e5a07d1b25a972370599701c7a156b1b0f8ba 100644
--- a/examples/src/main/java/org/apache/spark/examples/ml/JavaCountVectorizerExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/ml/JavaCountVectorizerExample.java
@@ -65,5 +65,7 @@ public class JavaCountVectorizerExample {
 
     cvModel.transform(df).show();
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/ml/JavaDecisionTreeClassificationExample.java b/examples/src/main/java/org/apache/spark/examples/ml/JavaDecisionTreeClassificationExample.java
index 482225e585cf8a292b630c3c4f052d967e83c545..b5347b76506bf367c9715a8a938c4faff5c235d8 100644
--- a/examples/src/main/java/org/apache/spark/examples/ml/JavaDecisionTreeClassificationExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/ml/JavaDecisionTreeClassificationExample.java
@@ -95,5 +95,7 @@ public class JavaDecisionTreeClassificationExample {
       (DecisionTreeClassificationModel) (model.stages()[2]);
     System.out.println("Learned classification tree model:\n" + treeModel.toDebugString());
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/ml/JavaDecisionTreeRegressionExample.java b/examples/src/main/java/org/apache/spark/examples/ml/JavaDecisionTreeRegressionExample.java
index c7f1868dd105a426113c479fafa194b207a09a6f..9cb67be04a7b1d8f7f77e41f54931c9409050e68 100644
--- a/examples/src/main/java/org/apache/spark/examples/ml/JavaDecisionTreeRegressionExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/ml/JavaDecisionTreeRegressionExample.java
@@ -83,5 +83,7 @@ public class JavaDecisionTreeRegressionExample {
       (DecisionTreeRegressionModel) (model.stages()[1]);
     System.out.println("Learned regression tree model:\n" + treeModel.toDebugString());
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/ml/JavaSQLTransformerExample.java b/examples/src/main/java/org/apache/spark/examples/ml/JavaSQLTransformerExample.java
index d55c70796a967b392418763d4d81c9c07f0f5ecf..a9d64d5e3f0efbeb7e98ecdc3260c2c6f39c1f54 100644
--- a/examples/src/main/java/org/apache/spark/examples/ml/JavaSQLTransformerExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/ml/JavaSQLTransformerExample.java
@@ -55,5 +55,7 @@ public class JavaSQLTransformerExample {
 
     sqlTrans.transform(df).show();
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/ml/JavaWord2VecExample.java b/examples/src/main/java/org/apache/spark/examples/ml/JavaWord2VecExample.java
index d472375ca982542566db3f63f2b150114a7870fb..a4a05af7c6f833f310d36bded905405d773720be 100644
--- a/examples/src/main/java/org/apache/spark/examples/ml/JavaWord2VecExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/ml/JavaWord2VecExample.java
@@ -63,5 +63,7 @@ public class JavaWord2VecExample {
       System.out.println(r);
     }
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaAssociationRulesExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaAssociationRulesExample.java
index 4d0f989819ace899e4e24feff951e8d968ab02a0..189560e3fe1f1c7aa18877bb95c29b070eac5fc7 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaAssociationRulesExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaAssociationRulesExample.java
@@ -52,5 +52,7 @@ public class JavaAssociationRulesExample {
         rule.javaAntecedent() + " => " + rule.javaConsequent() + ", " + rule.confidence());
     }
     // $example off$
+
+    sc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaGaussianMixtureExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaGaussianMixtureExample.java
index 4d1c64aa3cfccd63d18fd93df9415d6c89a9462b..3124411c8227ca7b138cce628fb2cf06d4568f69 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaGaussianMixtureExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaGaussianMixtureExample.java
@@ -44,8 +44,9 @@ public class JavaGaussianMixtureExample {
         public Vector call(String s) {
           String[] sarray = s.trim().split(" ");
           double[] values = new double[sarray.length];
-          for (int i = 0; i < sarray.length; i++)
+          for (int i = 0; i < sarray.length; i++) {
             values[i] = Double.parseDouble(sarray[i]);
+          }
           return Vectors.dense(values);
         }
       }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaGradientBoostingClassificationExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaGradientBoostingClassificationExample.java
index 80faabd2325d04fdf67c6de98fe79dcb8bbadae2..0c2e4c928bb2c1a290f0067bbdbd7a150272bc1d 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaGradientBoostingClassificationExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaGradientBoostingClassificationExample.java
@@ -87,6 +87,8 @@ public class JavaGradientBoostingClassificationExample {
     GradientBoostedTreesModel sameModel = GradientBoostedTreesModel.load(jsc.sc(),
       "target/tmp/myGradientBoostingClassificationModel");
     // $example off$
+
+    jsc.stop();
   }
 
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaGradientBoostingRegressionExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaGradientBoostingRegressionExample.java
index 216895b36820288214c4c606509ff4bfd814c904..c1bc2098dcd7e5307c0ae8377f11024ebe13ca78 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaGradientBoostingRegressionExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaGradientBoostingRegressionExample.java
@@ -92,5 +92,7 @@ public class JavaGradientBoostingRegressionExample {
     GradientBoostedTreesModel sameModel = GradientBoostedTreesModel.load(jsc.sc(),
       "target/tmp/myGradientBoostingRegressionModel");
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaIsotonicRegressionExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaIsotonicRegressionExample.java
index 37e709b4cbc03ca27ec17bc83e41d9a32b75ec17..e632e35110920f6213f2696852a493ed3f910b80 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaIsotonicRegressionExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaIsotonicRegressionExample.java
@@ -82,5 +82,7 @@ public class JavaIsotonicRegressionExample {
     model.save(jsc.sc(), "target/tmp/myIsotonicRegressionModel");
     IsotonicRegressionModel sameModel = IsotonicRegressionModel.load(jsc.sc(), "target/tmp/myIsotonicRegressionModel");
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaKMeansExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaKMeansExample.java
index a24606a2e938459f48542e925153c20d51479d70..006d96d11196c95d205c8eaebc5cb6724b334dbf 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaKMeansExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaKMeansExample.java
@@ -44,8 +44,9 @@ public class JavaKMeansExample {
         public Vector call(String s) {
           String[] sarray = s.split(" ");
           double[] values = new double[sarray.length];
-          for (int i = 0; i < sarray.length; i++)
+          for (int i = 0; i < sarray.length; i++) {
             values[i] = Double.parseDouble(sarray[i]);
+          }
           return Vectors.dense(values);
         }
       }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaLatentDirichletAllocationExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaLatentDirichletAllocationExample.java
index 4d8b65c54432a2830e6f5ce8be4f12ad1b65116c..578564eeb23dd29281de3929ca050b8e26822402 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaLatentDirichletAllocationExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaLatentDirichletAllocationExample.java
@@ -49,8 +49,9 @@ public class JavaLatentDirichletAllocationExample {
         public Vector call(String s) {
           String[] sarray = s.trim().split(" ");
           double[] values = new double[sarray.length];
-          for (int i = 0; i < sarray.length; i++)
+          for (int i = 0; i < sarray.length; i++) {
             values[i] = Double.parseDouble(sarray[i]);
+          }
           return Vectors.dense(values);
         }
       }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaMultiLabelClassificationMetricsExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaMultiLabelClassificationMetricsExample.java
index 4717155438d4349f451cd182bd71624141fa74fa..5904260e2d81adf9b4a56dbdf06fda69e4b3ef0e 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaMultiLabelClassificationMetricsExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaMultiLabelClassificationMetricsExample.java
@@ -74,5 +74,7 @@ public class JavaMultiLabelClassificationMetricsExample {
     // Subset accuracy
     System.out.format("Subset accuracy = %f\n", metrics.subsetAccuracy());
     // $example off$
+
+    sc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaNaiveBayesExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaNaiveBayesExample.java
index e6a5904bd71f0f07fd3b037efda6a3a5af32c007..478e615123e6d5ad6504ed4d76f7e0fecdbf05a9 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaNaiveBayesExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaNaiveBayesExample.java
@@ -60,5 +60,7 @@ public class JavaNaiveBayesExample {
     model.save(jsc.sc(), "target/tmp/myNaiveBayesModel");
     NaiveBayesModel sameModel = NaiveBayesModel.load(jsc.sc(), "target/tmp/myNaiveBayesModel");
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaPrefixSpanExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaPrefixSpanExample.java
index 68ec7c1e6ebe0f54d357342b7975389395d5edf5..16340759412916245fe7fcf94ee268fa51ceca7a 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaPrefixSpanExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaPrefixSpanExample.java
@@ -51,5 +51,7 @@ public class JavaPrefixSpanExample {
       System.out.println(freqSeq.javaSequence() + ", " + freqSeq.freq());
     }
     // $example off$
+
+    sc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaRandomForestClassificationExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaRandomForestClassificationExample.java
index 9219eef1ad2d6719af777700cbc6328a3bb7ea9e..f4c9d8a35dc96c948a756411187360b307f5f9ed 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaRandomForestClassificationExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaRandomForestClassificationExample.java
@@ -85,5 +85,7 @@ public class JavaRandomForestClassificationExample {
     RandomForestModel sameModel = RandomForestModel.load(jsc.sc(),
       "target/tmp/myRandomForestClassificationModel");
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaRandomForestRegressionExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaRandomForestRegressionExample.java
index 4db926a4218ff01d38d1340e723e734cd09f76aa..c71125ce414a094d51d7e9ae48d2f78853fc1e19 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaRandomForestRegressionExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaRandomForestRegressionExample.java
@@ -91,5 +91,7 @@ public class JavaRandomForestRegressionExample {
     RandomForestModel sameModel = RandomForestModel.load(jsc.sc(),
       "target/tmp/myRandomForestRegressionModel");
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaRankingMetricsExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaRankingMetricsExample.java
index 4ad21047633307b9a41d0f3bf05a9dcc1ca4c8f6..54dfc404ca6e90be020d50f49eb61321edaab364 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaRankingMetricsExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaRankingMetricsExample.java
@@ -181,5 +181,7 @@ public class JavaRankingMetricsExample {
     // R-squared
     System.out.format("R-squared = %f\n", regressionMetrics.r2());
     // $example off$
+
+    sc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaRecommendationExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaRecommendationExample.java
index c179e7578cdfad9f34ca57f2665feac857a86d32..5e643420ada152ae4a6cb554c05ef1c0e5dc2913 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaRecommendationExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaRecommendationExample.java
@@ -93,5 +93,7 @@ public class JavaRecommendationExample {
     MatrixFactorizationModel sameModel = MatrixFactorizationModel.load(jsc.sc(),
       "target/tmp/myCollaborativeFilter");
     // $example off$
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaRegressionMetricsExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaRegressionMetricsExample.java
index 4e89dd0c37c520c2691d36e2df2e4b65744d17ed..b3e5c04759575981b2ac60cbc0d2c3c3f50594f7 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaRegressionMetricsExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaRegressionMetricsExample.java
@@ -88,5 +88,7 @@ public class JavaRegressionMetricsExample {
     LinearRegressionModel sameModel = LinearRegressionModel.load(sc.sc(),
       "target/tmp/LogisticRegressionModel");
     // $example off$
+
+    sc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaSVDExample.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaSVDExample.java
index f3685db9f2fb2a90b612afb22f2dc39a87889c86..b417da8f85cf543126f64d0eb3462300199d1f84 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaSVDExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaSVDExample.java
@@ -40,6 +40,7 @@ public class JavaSVDExample {
   public static void main(String[] args) {
     SparkConf conf = new SparkConf().setAppName("SVD Example");
     SparkContext sc = new SparkContext(conf);
+    JavaSparkContext jsc = JavaSparkContext.fromSparkContext(sc);
 
     // $example on$
     double[][] array = {{1.12, 2.05, 3.12}, {5.56, 6.28, 8.94}, {10.2, 8.0, 20.5}};
@@ -48,7 +49,7 @@ public class JavaSVDExample {
       Vector currentRow = Vectors.dense(array[i]);
       rowsList.add(currentRow);
     }
-    JavaRDD<Vector> rows = JavaSparkContext.fromSparkContext(sc).parallelize(rowsList);
+    JavaRDD<Vector> rows = jsc.parallelize(rowsList);
 
     // Create a RowMatrix from JavaRDD<Vector>.
     RowMatrix mat = new RowMatrix(rows.rdd());
@@ -66,5 +67,7 @@ public class JavaSVDExample {
     }
     System.out.println("Singular values are: " + s);
     System.out.println("V factor is:\n" + V);
+
+    jsc.stop();
   }
 }
diff --git a/examples/src/main/java/org/apache/spark/examples/mllib/JavaSimpleFPGrowth.java b/examples/src/main/java/org/apache/spark/examples/mllib/JavaSimpleFPGrowth.java
index 72edaca5e95b144c27c505f583f16058f65cec50..7f4fe600422b21c718e5dc0f9204c2845a3c2b05 100644
--- a/examples/src/main/java/org/apache/spark/examples/mllib/JavaSimpleFPGrowth.java
+++ b/examples/src/main/java/org/apache/spark/examples/mllib/JavaSimpleFPGrowth.java
@@ -67,5 +67,7 @@ public class JavaSimpleFPGrowth {
         rule.javaAntecedent() + " => " + rule.javaConsequent() + ", " + rule.confidence());
     }
     // $example off$
+
+    sc.stop();
   }
 }
diff --git a/extras/kinesis-asl/src/test/java/org/apache/spark/streaming/kinesis/JavaKinesisStreamSuite.java b/extras/kinesis-asl/src/test/java/org/apache/spark/streaming/kinesis/JavaKinesisStreamSuite.java
index 3f0f6793d2d21d47c994d732b5cc315a280c792e..5c2371c5430b32f7139e36a83c7130a2c2e5c6a6 100644
--- a/extras/kinesis-asl/src/test/java/org/apache/spark/streaming/kinesis/JavaKinesisStreamSuite.java
+++ b/extras/kinesis-asl/src/test/java/org/apache/spark/streaming/kinesis/JavaKinesisStreamSuite.java
@@ -28,8 +28,6 @@ import org.apache.spark.streaming.api.java.JavaDStream;
 
 import com.amazonaws.services.kinesis.clientlibrary.lib.worker.InitialPositionInStream;
 
-import java.nio.ByteBuffer;
-
 /**
  * Demonstrate the use of the KinesisUtils Java API
  */
diff --git a/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/ColumnarBatch.java b/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/ColumnarBatch.java
index 18763672c6e849ecfc9ce5cf12392f0e42e7106c..9a8aedfa56b8cafee58b7e71267d967ff1e14e84 100644
--- a/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/ColumnarBatch.java
+++ b/sql/core/src/main/java/org/apache/spark/sql/execution/vectorized/ColumnarBatch.java
@@ -22,7 +22,6 @@ import java.util.Iterator;
 import org.apache.commons.lang.NotImplementedException;
 
 import org.apache.spark.memory.MemoryMode;
-import org.apache.spark.sql.Column;
 import org.apache.spark.sql.catalyst.InternalRow;
 import org.apache.spark.sql.catalyst.expressions.GenericMutableRow;
 import org.apache.spark.sql.catalyst.expressions.UnsafeRow;
diff --git a/sql/core/src/test/java/test/org/apache/spark/sql/JavaDatasetSuite.java b/sql/core/src/test/java/test/org/apache/spark/sql/JavaDatasetSuite.java
index e0e56f3fbfca3f197a230b0ec066edff201c74b6..9b624f318c6f88591c95f02e5705aab8f7f1b01d 100644
--- a/sql/core/src/test/java/test/org/apache/spark/sql/JavaDatasetSuite.java
+++ b/sql/core/src/test/java/test/org/apache/spark/sql/JavaDatasetSuite.java
@@ -465,6 +465,9 @@ public class JavaDatasetSuite implements Serializable {
 
     @Override
     public boolean equals(Object other) {
+      if (this == other) return true;
+      if (other == null || getClass() != other.getClass()) return false;
+
       return this.value.equals(((KryoSerializable) other).value);
     }
 
@@ -483,6 +486,9 @@ public class JavaDatasetSuite implements Serializable {
 
     @Override
     public boolean equals(Object other) {
+      if (this == other) return true;
+      if (other == null || getClass() != other.getClass()) return false;
+
       return this.value.equals(((JavaSerializable) other).value);
     }
 
@@ -631,7 +637,7 @@ public class JavaDatasetSuite implements Serializable {
       if (this == o) return true;
       if (o == null || getClass() != o.getClass()) return false;
 
-      SimpleJavaBean that = (SimpleJavaBean) o;
+      SimpleJavaBean2 that = (SimpleJavaBean2) o;
 
       if (!a.equals(that.a)) return false;
       if (!b.equals(that.b)) return false;