<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>
     Spark Release 3.2.4 | Apache Spark
    
  </title>

  

  

  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&Courier+Prime:wght@400;700&display=swap" rel="stylesheet">
  <link href="/css/custom.css" rel="stylesheet">
  <!-- Code highlighter CSS -->
  <link href="/css/pygments-default.css" rel="stylesheet">
  <link rel="icon" href="/favicon.ico" type="image/x-icon">

  <!-- Matomo -->
  <script>
    var _paq = window._paq = window._paq || [];
    /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
    _paq.push(["disableCookies"]);
    _paq.push(['trackPageView']);
    _paq.push(['enableLinkTracking']);
    (function() {
      var u="https://analytics.apache.org/";
      _paq.push(['setTrackerUrl', u+'matomo.php']);
      _paq.push(['setSiteId', '40']);
      var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
    })();
  </script>
  <!-- End Matomo Code -->
</head>
<body class="global">
<nav class="navbar navbar-expand-lg navbar-dark p-0 px-4" style="background: #1D6890;">
  <a class="navbar-brand" href="/">
    <img src="/images/spark-logo-rev.svg" alt="" width="141" height="72">
  </a>
  <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarContent"
          aria-controls="navbarContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="collapse navbar-collapse col-md-12 col-lg-auto pt-4" id="navbarContent">

    <ul class="navbar-nav me-auto">
      <li class="nav-item">
        <a class="nav-link active" aria-current="page" href="/downloads.html">Download</a>
      </li>
      <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="libraries" role="button" data-bs-toggle="dropdown"
           aria-expanded="false">
          Libraries
        </a>
        <ul class="dropdown-menu" aria-labelledby="libraries">
          <li><a class="dropdown-item" href="/sql/">SQL and DataFrames</a></li>
          <li><a class="dropdown-item" href="/streaming/">Spark Streaming</a></li>
          <li><a class="dropdown-item" href="/mllib/">MLlib (machine learning)</a></li>
          <li><a class="dropdown-item" href="/graphx/">GraphX (graph)</a></li>
          <li>
            <hr class="dropdown-divider">
          </li>
          <li><a class="dropdown-item" href="/third-party-projects.html">Third-Party Projects</a></li>
        </ul>
      </li>
      <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="documentation" role="button" data-bs-toggle="dropdown"
           aria-expanded="false">
          Documentation
        </a>
        <ul class="dropdown-menu" aria-labelledby="documentation">
          <li><a class="dropdown-item" href="/docs/latest/">Latest Release</a></li>
          <li><a class="dropdown-item" href="/documentation.html">Older Versions and Other Resources</a></li>
          <li><a class="dropdown-item" href="/faq.html">Frequently Asked Questions</a></li>
        </ul>
      </li>
      <li class="nav-item">
        <a class="nav-link active" aria-current="page" href="/examples.html">Examples</a>
      </li>
      <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="community" role="button" data-bs-toggle="dropdown"
           aria-expanded="false">
          Community
        </a>
        <ul class="dropdown-menu" aria-labelledby="community">
          <li><a class="dropdown-item" href="/community.html">Mailing Lists &amp; Resources</a></li>
          <li><a class="dropdown-item" href="/contributing.html">Contributing to Spark</a></li>
          <li><a class="dropdown-item" href="/improvement-proposals.html">Improvement Proposals (SPIP)</a>
          </li>
          <li><a class="dropdown-item" href="https://issues.apache.org/jira/browse/SPARK">Issue Tracker</a>
          </li>
          <li><a class="dropdown-item" href="/powered-by.html">Powered By</a></li>
          <li><a class="dropdown-item" href="/committers.html">Project Committers</a></li>
          <li><a class="dropdown-item" href="/history.html">Project History</a></li>
        </ul>
      </li>
      <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="developers" role="button" data-bs-toggle="dropdown"
           aria-expanded="false">
          Developers
        </a>
        <ul class="dropdown-menu" aria-labelledby="developers">
          <li><a class="dropdown-item" href="/developer-tools.html">Useful Developer Tools</a></li>
          <li><a class="dropdown-item" href="/versioning-policy.html">Versioning Policy</a></li>
          <li><a class="dropdown-item" href="/release-process.html">Release Process</a></li>
          <li><a class="dropdown-item" href="/security.html">Security</a></li>
        </ul>
      </li>
    </ul>
    <ul class="navbar-nav ml-auto">
      <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="apacheFoundation" role="button"
           data-bs-toggle="dropdown" aria-expanded="false">
          Apache Software Foundation
        </a>
        <ul class="dropdown-menu" aria-labelledby="apacheFoundation">
          <li><a class="dropdown-item" href="https://www.apache.org/">Apache Homepage</a></li>
          <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
          <li><a class="dropdown-item"
                 href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
          <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
          <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
          <li><a class="dropdown-item" href="https://www.apache.org/events/current-event">Event</a></li>
        </ul>
      </li>
    </ul>
  </div>
</nav>

<div class="container">
  <div class="row mt-4">
    <div class="col-12 col-md-9">
      <h2>Spark Release 3.2.4</h2>


<p>Spark 3.2.4 is a maintenance release containing stability fixes. This release is based on the branch-3.2 maintenance branch of Spark. We strongly recommend all 3.2 users to upgrade to this stable release.</p>

<h3 id="notable-changes">Notable changes</h3>

<ul>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-38173">[SPARK-38173]</a>: Quoted column cannot be recognized correctly when quotedRegexColumnNames is true</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-39399">[SPARK-39399]</a>: proxy-user not working for Spark on k8s in cluster deploy mode</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-40817">[SPARK-40817]</a>: Remote spark.jars URIs ignored for Spark on Kubernetes in cluster mode</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-40819">[SPARK-40819]</a>: Parquet INT64 (TIMESTAMP(NANOS,true)) now throwing Illegal Parquet type instead of automatically converting to LongType</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41162">[SPARK-41162]</a>: Anti-join must not be pushed below aggregation with ambiguous predicates</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41254">[SPARK-41254]</a>: YarnAllocator.rpIdToYarnResource map is not properly updated</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41360">[SPARK-41360]</a>: Avoid BlockManager re-registration if the executor has been lost</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41376">[SPARK-41376]</a>: Executor netty direct memory check should respect spark.shuffle.io.preferDirectBufs</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41388">[SPARK-41388]</a>: getReusablePVCs should ignore recently created PVCs in the previous batch</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41415">[SPARK-41415]</a>: SASL Request Retries</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41554">[SPARK-41554]</a>: Decimal.changePrecision produces ArrayIndexOutOfBoundsException</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41732">[SPARK-41732]</a>: Session window: analysis rule &#8220;SessionWindowing&#8221; does not apply tree-pattern based pruning</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41952">[SPARK-41952]</a>: Upgrade Parquet to fix off-heap memory leaks in Zstd codec</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41989">[SPARK-41989]</a>: PYARROW_IGNORE_TIMEZONE warning can break application logging setup</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42071">[SPARK-42071]</a>: Register scala.math.Ordering$Reverse to KyroSerializer</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42090">[SPARK-42090]</a>: Introduce sasl retry count in RetryingBlockTransferor</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42157">[SPARK-42157]</a>: <code class="language-plaintext highlighter-rouge">spark.scheduler.mode=FAIR</code> should provide FAIR scheduler</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42168">[SPARK-42168]</a>: CoGroup with window function returns incorrect result when partition keys differ in order</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42259">[SPARK-42259]</a>: ResolveGroupingAnalytics should take care of Python UDAF</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42462">[SPARK-42462]</a>: Prevent <code class="language-plaintext highlighter-rouge">docker-image-tool.sh</code> from publishing OCI manifests</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42478">[SPARK-42478]</a>: Make a serializable jobTrackerId instead of a non-serializable JobID in FileWriterFactory</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42596">[SPARK-42596]</a>: OMP_NUM_THREADS not set to number of executor cores by default</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42697">[SPARK-42697]</a>: /api/v1/applications return 0 for duration</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42747">[SPARK-42747]</a>: Fix incorrect internal status of LoR and AFT</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42785">[SPARK-42785]</a>: When spark submit without &#8211;deploy-mode, will face NPE in Kubernetes Case</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42906">[SPARK-42906]</a>: Replace a starting digit with <code class="language-plaintext highlighter-rouge">x</code> in resource name prefix</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-42967">[SPARK-42967]</a>: Fix SparkListenerTaskStart.stageAttemptId when a task is started after the stage is cancelled</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-43004">[SPARK-43004]</a>: vendor==vendor typo in ResourceRequest.equals()</li>
</ul>

<h3 id="dependency-changes">Dependency Changes</h3>

<p>While being a maintenance release we did still upgrade some dependencies in this release they are:</p>

<ul>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-41030">[SPARK-41030]</a>: Upgrade Apache Ivy to 2.5.1</li>
</ul>

<p>You can consult JIRA for the <a href="https://s.apache.org/spark-3.2.4">detailed changes</a>.</p>

<p>We would like to acknowledge all community members for contributing patches to this release.</p>


<p>
<br/>
<a href="/news/">Spark News Archive</a>
</p>

    </div>
    <div class="col-12 col-md-3">
      <div class="news" style="margin-bottom: 20px;">
        <h5>Latest News</h5>
        <ul class="list-unstyled">
          
          <li><a href="/news/spark-3-5-1-released.html">Spark 3.5.1 released</a>
            <span class="small">(Feb 23, 2024)</span></li>
          
          <li><a href="/news/spark-3-3-4-released.html">Spark 3.3.4 released</a>
            <span class="small">(Dec 16, 2023)</span></li>
          
          <li><a href="/news/spark-3-4-2-released.html">Spark 3.4.2 released</a>
            <span class="small">(Nov 30, 2023)</span></li>
          
          <li><a href="/news/spark-3-5-0-released.html">Spark 3.5.0 released</a>
            <span class="small">(Sep 13, 2023)</span></li>
          
        </ul>
        <p class="small" style="text-align: right;"><a href="/news/index.html">Archive</a></p>
      </div>
      <div style="text-align:center; margin-bottom: 20px;">
        <a href="https://www.apache.org/events/current-event.html">
          <img src="https://www.apache.org/events/current-event-234x60.png" style="max-width: 100%;"/>
        </a>
      </div>
      <div class="hidden-xs hidden-sm">
        <a href="/downloads.html" class="btn btn-cta btn-lg d-grid" style="margin-bottom: 30px;">
          Download Spark
        </a>
        <p style="font-size: 16px; font-weight: 500; color: #555;">
          Built-in Libraries:
        </p>
        <ul class="list-none">
          <li><a href="/sql/">SQL and DataFrames</a></li>
          <li><a href="/streaming/">Spark Streaming</a></li>
          <li><a href="/mllib/">MLlib (machine learning)</a></li>
          <li><a href="/graphx/">GraphX (graph)</a></li>
        </ul>
        <a href="/third-party-projects.html">Third-Party Projects</a>
      </div>
    </div>
  </div>

  

  <footer class="small">
    <hr>
    Apache Spark, Spark, Apache, the Apache feather logo, and the Apache Spark project logo are either registered
    trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
    See guidance on use of Apache Spark <a href="/trademarks.html">trademarks</a>.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.
    Copyright &copy; 2018 The Apache Software Foundation, Licensed under the
    <a href="https://www.apache.org/licenses/">Apache License, Version 2.0</a>.
  </footer>
</div>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
        crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery.js"></script>
<script src="/js/lang-tabs.js"></script>
<script src="/js/downloads.js"></script>
</body>
</html>
