<!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.0.3 | 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="/spark-connect/">Spark Connect</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.0.3</h2>


<p>Spark 3.0.3 is a maintenance release containing stability fixes. This release is based on the branch-3.0 maintenance branch of Spark. We strongly recommend all 3.0 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-34421">[SPARK-34421]</a>: Custom functions can&#8217;t be used in temporary views with CTEs</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34545">[SPARK-34545]</a>: PySpark Python UDF return inconsistent results when applying 2 UDFs with different return type to 2 columns together</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34719">[SPARK-34719]</a>: Fail if the view query has duplicated column names</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35463">[SPARK-35463]</a>: Skip checking checksum on a system doesn&#8217;t have <code class="language-plaintext highlighter-rouge">shasum</code></li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-32924">[SPARK-32924]</a>: Web UI sort on duration is wrong</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-33482">[SPARK-33482]</a>: V2 Datasources that extend FileScan preclude exchange reuse</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-33504">[SPARK-33504]</a>: The application log in the Spark history server contains sensitive attributes such as password that should be redated instead of plain text</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34424">[SPARK-34424]</a>: HiveOrcHadoopFsRelationSuite fails with seed 610710213676</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34556">[SPARK-34556]</a>: Checking duplicate static partition columns doesn&#8217;t respect case sensitive conf</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34596">[SPARK-34596]</a>: NewInstance.doGenCode should not throw malformed class name error</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34763">[SPARK-34763]</a>: col(), $&#8221;<name>" and df("name") should handle quoted column names properly</name></li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34794">[SPARK-34794]</a>: Nested higher-order functions broken in DSL</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34798">[SPARK-34798]</a>: Fix incorrect join condition</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34876">[SPARK-34876]</a>: Non-nullable aggregates can return NULL in a correlated subquery</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34897">[SPARK-34897]</a>: Support reconcile schemas based on index after nested column pruning</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34909">[SPARK-34909]</a>: conv() does not convert negative inputs to unsigned correctly</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34922">[SPARK-34922]</a>: Use better CBO cost function</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34963">[SPARK-34963]</a>: Nested column pruning fails to extract case-insensitive struct field from array</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34970">[SPARK-34970]</a>: Redact map-type options in the output of explain()</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35080">[SPARK-35080]</a>: Correlated subqueries with equality predicates can return wrong results</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35096">[SPARK-35096]</a>: foreachBatch throws ArrayIndexOutOfBoundsException if schema is case Insensitive</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35106">[SPARK-35106]</a>: HadoopMapReduceCommitProtocol performs bad rename when dynamic partition overwrite is used</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35227">[SPARK-35227]</a>: Replace Bintray with the new repository service for the spark-packages resolver in SparkSubmit</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35296">[SPARK-35296]</a>: Dataset.observe fails with an assertion</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35482">[SPARK-35482]</a>: case sensitive block manager port key should be used in BasicExecutorFeatureStep</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35493">[SPARK-35493]</a>: spark.blockManager.port does not work for driver pod</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35659">[SPARK-35659]</a>: Avoid write null to StateStore</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35673">[SPARK-35673]</a>: Spark fails on unrecognized hint in subquery</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35679">[SPARK-35679]</a>: Overflow on converting valid Timestamp to Microseconds</li>
  <li>
    <table>
      <tbody>
        <tr>
          <td><a href="https://issues.apache.org/jira/browse/SPARK-34697">[SPARK-34697]</a>: Allow DESCRIBE FUNCTION and SHOW FUNCTIONS explain about</td>
          <td>&#160;</td>
          <td>(string concatenation operator)</td>
        </tr>
      </tbody>
    </table>
  </li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34772">[SPARK-34772]</a>: RebaseDateTime loadRebaseRecords should use Spark classloader instead of context</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35127">[SPARK-35127]</a>: When we switch between different stage-detail pages, the entry item in the newly-opened page may be blank</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35168">[SPARK-35168]</a>: mapred.reduce.tasks should be shuffle.partitions not adaptive.coalescePartitions.initialPartitionNum</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35566">[SPARK-35566]</a>: Fix number of output rows for StateStoreRestoreExec</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35714">[SPARK-35714]</a>: Bug fix for deadlock during the executor shutdown</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34534">[SPARK-34534]</a>: New protocol FetchShuffleBlocks in OneForOneBlockFetcher lead to data loss or correctness</li>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34939">[SPARK-34939]</a>: Throw fetch failure exception when unable to deserialize broadcasted map statuses</li>
</ul>

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

<p>While being a maintence release we did still upgrade some dependencies in this release they are:</p>
<ul>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-35210">[SPARK-35210]</a>: Upgrade Jetty to 9.4.40 to fix ERR_CONNECTION_RESET issue</li>
</ul>

<h3 id="known-issues">Known issues</h3>
<ul>
  <li><a href="https://issues.apache.org/jira/browse/SPARK-34529">[SPARK-34529]</a>: spark.read.csv is throwing exception ,&#8221;lineSep&#8217; can contain only 1 character&#8221; when parsing windows line feed (CR LF)</li>
</ul>

<p>You can consult JIRA for the <a href="https://s.apache.org/spark-3.0.3">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>
