diff --git a/R/pkg/DESCRIPTION b/R/pkg/DESCRIPTION
index 380b3ef3d53368066cb739f1d377cfba67ad1ca5..4ac45fc98d5e9fbdc409a635972bfda3f4fc21ca 100644
--- a/R/pkg/DESCRIPTION
+++ b/R/pkg/DESCRIPTION
@@ -1,6 +1,6 @@
 Package: SparkR
 Type: Package
-Version: 2.2.2
+Version: 2.2.1
 Title: R Frontend for Apache Spark
 Description: Provides an R Frontend for Apache Spark.
 Authors@R: c(person("Shivaram", "Venkataraman", role = c("aut", "cre"),
diff --git a/assembly/pom.xml b/assembly/pom.xml
index eeb75e927a476ddb45dd69d326555144e8bbb4ea..ded172d6934f3ca646ba8588727adb770fe0f300 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/common/network-common/pom.xml b/common/network-common/pom.xml
index 9d83ad814ce06f842f69067d1e5227058f38f343..1a976a5da38805c832bd32ba1a0da2a3a2d2a1a4 100644
--- a/common/network-common/pom.xml
+++ b/common/network-common/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/common/network-shuffle/pom.xml b/common/network-shuffle/pom.xml
index f841f9306702d04af53dcb94ecc475c9715d1ce3..1159953067ea25943a1b12c33991e5e4825391a1 100644
--- a/common/network-shuffle/pom.xml
+++ b/common/network-shuffle/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/common/network-yarn/pom.xml b/common/network-yarn/pom.xml
index c1c2ebb215f5533eb0ec1a647c123c127451f8ac..1ad4afef9efb8268c9a4c10d4d5f3e8c9a0b2114 100644
--- a/common/network-yarn/pom.xml
+++ b/common/network-yarn/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/common/sketch/pom.xml b/common/sketch/pom.xml
index 846051f0da8a1c09edea2e14022af9a8cdfe4171..ed7d842b0e6a3938db899f3af5ba3de67d322518 100644
--- a/common/sketch/pom.xml
+++ b/common/sketch/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/common/tags/pom.xml b/common/tags/pom.xml
index 4f4203ae5f2f64d3a0e5fef6dafdb4937418feb2..0e5fddd693fa9d44237283ab17fae834c803e311 100644
--- a/common/tags/pom.xml
+++ b/common/tags/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/common/unsafe/pom.xml b/common/unsafe/pom.xml
index 6aa016d92076d6fa3b46dbbd10fa5525acda070b..f75eeeead46b2ef3b7bad571124bda0164441d40 100644
--- a/common/unsafe/pom.xml
+++ b/common/unsafe/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/core/pom.xml b/core/pom.xml
index 204cfff6f71d8d6f332c865885b82277f36a7830..bb97c83b7a5adfecefb4b77ff6dbeed9187e7a64 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/docs/_config.yml b/docs/_config.yml
index a78e2d5b8de0f773ee92a25582180a7cc2f85fe0..77321fce58ec103e96b8bd61ae8d34707cb454ae 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -14,8 +14,8 @@ include:
 
 # These allow the documentation to be updated with newer releases
 # of Spark, Scala, and Mesos.
-SPARK_VERSION: 2.2.2-SNAPSHOT
-SPARK_VERSION_SHORT: 2.2.2
+SPARK_VERSION: 2.2.1
+SPARK_VERSION_SHORT: 2.2.1
 SCALA_BINARY_VERSION: "2.11"
 SCALA_VERSION: "2.11.8"
 MESOS_VERSION: 1.0.0
diff --git a/examples/pom.xml b/examples/pom.xml
index 7f8f81ce01fa2790cf795603e46ab0338e3e1c77..e7bd52f4cc2d8fb9cb5080c189e7c5ae1ef76493 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/external/docker-integration-tests/pom.xml b/external/docker-integration-tests/pom.xml
index 58b6d6dda459bbb50d0d115453391eaf8ba24bd6..b403fe238a0db418d2608c8c52365f601b4093b9 100644
--- a/external/docker-integration-tests/pom.xml
+++ b/external/docker-integration-tests/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/flume-assembly/pom.xml b/external/flume-assembly/pom.xml
index 67ad851f4688a4eefb5fcde28a610dd9850353ef..866377d845bef4041bd8d128dd5b225c92c229c8 100644
--- a/external/flume-assembly/pom.xml
+++ b/external/flume-assembly/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/flume-sink/pom.xml b/external/flume-sink/pom.xml
index 48eded9b036c7bd3403a7519834e19ada2553416..a1ce58e050fe33023f3e7cf76e117c64007f159e 100644
--- a/external/flume-sink/pom.xml
+++ b/external/flume-sink/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/flume/pom.xml b/external/flume/pom.xml
index 934d9fb7be3ef8dbd97bef0b2b700dbe002e63df..bb8b22ce842d616fc9c01fcfbeb1f40625ec4c57 100644
--- a/external/flume/pom.xml
+++ b/external/flume/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/kafka-0-10-assembly/pom.xml b/external/kafka-0-10-assembly/pom.xml
index c6c935985856c4cc58f4b076e250b8d9d76f3b45..b23b9d3c365dcbfb3227843cab37578c60e6703e 100644
--- a/external/kafka-0-10-assembly/pom.xml
+++ b/external/kafka-0-10-assembly/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/kafka-0-10-sql/pom.xml b/external/kafka-0-10-sql/pom.xml
index cd5c3c6517e9819f4fb388ebc1f6cb2c9be832f9..8581afdf693708934e61313de5a7ca94718474ed 100644
--- a/external/kafka-0-10-sql/pom.xml
+++ b/external/kafka-0-10-sql/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/kafka-0-10/pom.xml b/external/kafka-0-10/pom.xml
index 138e7e8de36b506adc95c80f1ba939f6dd357918..c545076ac6124c9bb71672cc6e31b088c95e55a6 100644
--- a/external/kafka-0-10/pom.xml
+++ b/external/kafka-0-10/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/kafka-0-8-assembly/pom.xml b/external/kafka-0-8-assembly/pom.xml
index 48a17246842e6d187c8faeece0742a60e72b5a22..d15cdd3ca06dba6794d11b1385737c9240b94482 100644
--- a/external/kafka-0-8-assembly/pom.xml
+++ b/external/kafka-0-8-assembly/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/kafka-0-8/pom.xml b/external/kafka-0-8/pom.xml
index 2e13c39d04d52202d8fc94142260fa6df10db4c5..a642ca46eb9897f4e71ef31bc0ff747af40f992f 100644
--- a/external/kafka-0-8/pom.xml
+++ b/external/kafka-0-8/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/kinesis-asl-assembly/pom.xml b/external/kinesis-asl-assembly/pom.xml
index 150763d4888a7ac769aeeaee528d1ca515718214..47e253460734bb97465f1ce0f85845d9c92fc232 100644
--- a/external/kinesis-asl-assembly/pom.xml
+++ b/external/kinesis-asl-assembly/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/kinesis-asl/pom.xml b/external/kinesis-asl/pom.xml
index 7509e8f6c0c365199adf43f0b424c1e27f078c87..624d373a4663006c084df38f5ec51614628c6d7d 100644
--- a/external/kinesis-asl/pom.xml
+++ b/external/kinesis-asl/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/external/spark-ganglia-lgpl/pom.xml b/external/spark-ganglia-lgpl/pom.xml
index eac920d8b7973f0540c40c1b36890a6e305b44ec..97ed2ceb1923b038d6e30ae8abf8c2dccd59ce89 100644
--- a/external/spark-ganglia-lgpl/pom.xml
+++ b/external/spark-ganglia-lgpl/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/graphx/pom.xml b/graphx/pom.xml
index 99064c4ae331344039cb4a97780b74b6449750e3..89c175438674f8f591ae3be1bf387812315dcf48 100644
--- a/graphx/pom.xml
+++ b/graphx/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/launcher/pom.xml b/launcher/pom.xml
index 282188d347ecbb1845a7b77bdc5727189a84763d..e707ddb7cb1dd3453cbe4ff5dad1d91abda1055c 100644
--- a/launcher/pom.xml
+++ b/launcher/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/mllib-local/pom.xml b/mllib-local/pom.xml
index 480983f74f32d67e501ddeee5255916d9d755d92..ea084022e221d220cce9aadfa334124b3bfc08b5 100644
--- a/mllib-local/pom.xml
+++ b/mllib-local/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/mllib/pom.xml b/mllib/pom.xml
index b734620c3626fdef5380a7036cd43820441fd690..7089ec1e9083296ccc992dc1329d449ef3e76c70 100644
--- a/mllib/pom.xml
+++ b/mllib/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/pom.xml b/pom.xml
index ada746c3e59938ed7ac1a955c80bf7feb853c201..b0421c3a17921bb47dab8b406c35a570a2bba595 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@
   </parent>
   <groupId>org.apache.spark</groupId>
   <artifactId>spark-parent_2.11</artifactId>
-  <version>2.2.2-SNAPSHOT</version>
+  <version>2.2.1</version>
   <packaging>pom</packaging>
   <name>Spark Project Parent POM</name>
   <url>http://spark.apache.org/</url>
diff --git a/python/pyspark/version.py b/python/pyspark/version.py
index 5b36495eff2764189712067b51feedbb80ecde0b..db4fc8e025ea17f4cb33da85d56b254d68c4ac95 100644
--- a/python/pyspark/version.py
+++ b/python/pyspark/version.py
@@ -16,4 +16,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-__version__ = "2.2.2.dev0"
+__version__ = "2.2.1"
diff --git a/repl/pom.xml b/repl/pom.xml
index 00190d1de16517f08d8f55bc0fdb085e20eeadb3..335c90d67f7b4f258efdb407efd5078b513bba45 100644
--- a/repl/pom.xml
+++ b/repl/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/resource-managers/mesos/pom.xml b/resource-managers/mesos/pom.xml
index 24da537a153f67ddcf44670d3b7ea8d02f5ed071..05a852974609de491f6ac34abfe6c88b4e185548 100644
--- a/resource-managers/mesos/pom.xml
+++ b/resource-managers/mesos/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/resource-managers/yarn/pom.xml b/resource-managers/yarn/pom.xml
index 22e303677784f879ab22f0c226052f74fb395a30..26849f8909280eff6fd1ece596d00651fe5ec781 100644
--- a/resource-managers/yarn/pom.xml
+++ b/resource-managers/yarn/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/sql/catalyst/pom.xml b/sql/catalyst/pom.xml
index edc444a98d2ee842d7b122eff37f1d7c927d8ae8..3df83831d454afd4caa56adfd2c11682551afd56 100644
--- a/sql/catalyst/pom.xml
+++ b/sql/catalyst/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/sql/core/pom.xml b/sql/core/pom.xml
index fe317249a21f8304f02758c9f403c1189e56b224..78d936a8a2834bd7adcb9f0cbccf4f003c0ed70a 100644
--- a/sql/core/pom.xml
+++ b/sql/core/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/sql/hive-thriftserver/pom.xml b/sql/hive-thriftserver/pom.xml
index 3c39ddaa0487eb07525e77ef56c98c2faff09e2a..4302e8f36e3be7d3d5ce8d1988d0c3f6e5f89ff7 100644
--- a/sql/hive-thriftserver/pom.xml
+++ b/sql/hive-thriftserver/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/sql/hive/pom.xml b/sql/hive/pom.xml
index e88ecc64df89a856cd43185a47eabab6c1ea2efc..3447fb020773f1f481ad27f2544350e9bcd724bb 100644
--- a/sql/hive/pom.xml
+++ b/sql/hive/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
diff --git a/streaming/pom.xml b/streaming/pom.xml
index dc4b37c1075ff037bce7f1fae0a2faedeb421e97..91f7643b2761eff8652f2f92b264c44faa85fbfa 100644
--- a/streaming/pom.xml
+++ b/streaming/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/tools/pom.xml b/tools/pom.xml
index 7a01fe1898c69b748475a9dfaa2c21bf429ec5f0..7cc8d9e25c0824641a7eca9a5ff335dd3ec95735 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.spark</groupId>
     <artifactId>spark-parent_2.11</artifactId>
-    <version>2.2.2-SNAPSHOT</version>
+    <version>2.2.1</version>
     <relativePath>../pom.xml</relativePath>
   </parent>