<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Qlik Replicate: Improving Databricks ODBC resilience with EnableRetryWithoutRetryAfterHeader in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-Improving-Databricks-ODBC-resilience-with/ta-p/2548937</link>
    <description>&lt;P&gt;This article documents how to improve&amp;nbsp;Databricks ODBC resilience with the&amp;nbsp;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader&lt;/STRONG&gt; &lt;/FONT&gt;parameter.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Content&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-TOC indent="15" liststyle="none" maxheadinglevel="4"&gt;&lt;/LI-TOC&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Databricks ODBC driver parameter &lt;FONT color="#339966"&gt;&lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader&lt;/STRONG&gt; &lt;/FONT&gt;is a connection-level setting that controls how the driver responds to server-side failures when the server does not include a Retry-After HTTP header in its response.&lt;/P&gt;
&lt;P&gt;By default, this parameter is &lt;FONT color="#339966"&gt;&lt;STRONG&gt;disabled&lt;/STRONG&gt; &lt;/FONT&gt;(&lt;FONT face="courier new,courier"&gt;0&lt;/FONT&gt;). When &lt;FONT color="#339966"&gt;&lt;STRONG&gt;enabled&lt;/STRONG&gt; &lt;/FONT&gt;(&lt;FONT face="courier new,courier"&gt;1&lt;/FONT&gt;), it instructs the driver to &lt;FONT color="#339966"&gt;&lt;STRONG&gt;retry failed requests&lt;/STRONG&gt;&lt;/FONT&gt;, even in the absence of explicit retry guidance from the server. This makes pipelines significantly more resilient to transient service disruptions and recoverable error conditions that would otherwise cause tasks to stall indefinitely.&lt;/P&gt;
&lt;P&gt;The&amp;nbsp;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;parameter is available with&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;driver version 2.9.1+&lt;/FONT&gt;&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Why does setting&amp;nbsp;EnableRetryWithoutRetryAfterHeader matter?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;The Default Retry Behavior&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;The Databricks ODBC driver includes built-in retry logic to handle transient failures. However, by default, this logic only activates when the server includes a &lt;STRONG&gt;Retry-After&lt;/STRONG&gt; header in the error response (the standard HTTP signal that tells a client how long to wait before retrying).&lt;/P&gt;
&lt;P&gt;In practice, not all Databricks server error responses include this header. When it is absent:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;The driver has no retry signal to act on&lt;/LI&gt;
&lt;LI&gt;The failure is treated as terminal rather than transient&lt;/LI&gt;
&lt;LI&gt;The request is abandoned entirely&lt;/LI&gt;
&lt;LI&gt;Tables dependent on that connection enter a &lt;STRONG&gt;queued state&lt;/STRONG&gt; with no further progress&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This gap between intent (retry on recoverable errors) and behavior (skip retry without the header) is the source of a class of pipeline failures that can be difficult to diagnose because the driver produces no additional retry activity.&amp;nbsp;It simply stops.&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Retry behavior with&amp;nbsp;&lt;/STRONG&gt;&lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;Setting&amp;nbsp;&lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader=1&lt;/STRONG&gt; closes the retry gap. The driver no longer requires the &lt;STRONG&gt;Retry-After &lt;/STRONG&gt;header to be present before retrying. Instead, it applies its retry logic to all eligible failures, using a built-in backoff strategy, regardless of whether the server explicitly instructs it to do so.&lt;/P&gt;
&lt;P&gt;The practical benefits are:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;STRONG&gt;Transient 503 errors are recovered automatically&lt;/STRONG&gt;: temporary service unavailability no longer causes immediate task failure&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Recoverable Delta read errors are retried&lt;/STRONG&gt;: failures that would succeed on a subsequent attempt are allowed to do so&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Queue buildup is prevented&lt;/STRONG&gt;: tables are not left stranded in a queued state due to a single unretried failure&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Pipeline stability improves&lt;/STRONG&gt; without changes to data architecture or retention policies&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;When to apply EnableRetryWithoutRetryAfterHeader&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;This parameter should be considered a &lt;STRONG&gt;standard configuration&lt;/STRONG&gt; for any Databricks ODBC connection where pipeline reliability is a priority, particularly in environments that:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Process high volumes of tables or run long-duration tasks&lt;/LI&gt;
&lt;LI&gt;Are subject to Delta Lake log retention policies&lt;/LI&gt;
&lt;LI&gt;Connect to Databricks endpoints that may return 503 responses during maintenance windows or high-load periods&lt;/LI&gt;
&lt;LI&gt;Have previously experienced unexplained queued states or stalled tasks&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;How to enable&amp;nbsp;EnableRetryWithoutRetryAfterHeader&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Prerequisites&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;Databricks ODBC Driver &lt;STRONG&gt;version 2.9.1 or higher&lt;/STRONG&gt; (parameter is not available in earlier versions)&lt;/LI&gt;
&lt;LI&gt;Recommended: upgrade to &lt;STRONG&gt;version 2.9.2&lt;/STRONG&gt; or later for the most stable behavior&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Configuration&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;Add the following to the Databricks Delta endpoint connection using the following internal parameter:&lt;/P&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;PRE&gt;&lt;CODE&gt;additionalConnectionProperties=EnableRetryWithoutRetryAfterHeader=1&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;No other changes to the connection string or data architecture are required.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Errors addressed by&amp;nbsp;EnableRetryWithoutRetryAfterHeader&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;The following errors are direct indicators that the driver encountered a failure without retry-header guidance. Both have been observed to be resolved by enabling the parameter.&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;HTTP 503 with No Retry-After Header (SqlState: 08S01)&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;RetCode: SQL_ERROR&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;SqlState: 08S01&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NativeError: 124&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Message: [Simba][Hardy] (124) A 503 response was returned but no Retry-After header was provided. Original error: HTTP Response code 503,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;TEMPORARILY_UNAVAILABLE: HTTP Response code: 503 [1022502]&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;Alternative:&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;RetCode: SQL_ERROR SqlState: 08S01 NativeError: 124 Message: [Simba][Hardy] (124) A 503 response was returned but no Retry-After header was provided. Original error: Unknown&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What is happening&lt;/STRONG&gt;: The Databricks service returned an HTTP 503 Service Unavailable, a standard, transient condition signaling that the server is temporarily unable to handle the request. The correct behavior is to wait briefly and retry.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why it fails without the parameter&lt;/STRONG&gt;: The driver's retry mechanism is waiting for a &lt;STRONG&gt;Retry-After&lt;/STRONG&gt; header that was not included in the response. Without it, the driver takes no retry action and the connection is treated as a hard failure.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How the parameter helps&lt;/STRONG&gt;: With &lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader=1&lt;/STRONG&gt;, the driver retries the request using its internal backoff strategy, allowing the pipeline to recover transparently from the temporary service disruption.&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Delta Transaction Log Truncation (SqlState: 42K03)&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;RetCode: SQL_ERROR&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;SqlState: 42K03&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NativeError: 35&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Message: [Simba][Hardy] (35) Error from server: error code: '0'error message: 'org.apache.hive.service.cli.HiveSQLException:Error running query: [DELTA_TRUNCATED_TRANSACTION_LOG]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;com.databricks.sql.transaction.tahoe.DeltaFileNotFoundException:[DELTA_TRUNCATED_TRANSACTION_LOG]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Unable to reconstruct state at version 16 as the transaction log has been truncated due to manual deletion or the log retention policy (delta.logRetentionDuration=30 days) and checkpoint retention policy&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;(delta.checkpointRetentionDuration=2 days)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What is happening:&lt;/STRONG&gt; Delta Lake could not reconstruct the table state because the transaction log had been truncated, either through manual deletion or by the log retention policy (&lt;EM&gt;delta.logRetentionDuration=30 days&lt;/EM&gt;) and checkpoint retention policy (&lt;EM&gt;delta.checkpointRetentionDuration=2 days&lt;/EM&gt;). The required log file (&lt;EM&gt;00000000000000000000.json&lt;/EM&gt;) was no longer present, preventing reconstruction of the state at version 16.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why it fails without the parameter&lt;/STRONG&gt;: When the driver encounters a server-side error response without a &lt;STRONG&gt;Retry-After&lt;/STRONG&gt; header, it does not retry. Conditions that may be transiently recoverable, such as a momentary log unavailability, are never reattempted, and the task stalls.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How the parameter helps&lt;/STRONG&gt;: Enabling retries allows the driver to reattempt the read operation, recovering from transient log access issues that do not persist beyond the initial attempt.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="4" color="#339966"&gt;&lt;STRONG&gt;Environment&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Qlik Replicate&lt;/LI&gt;
&lt;/UL&gt;</description>
    <pubDate>Tue, 12 May 2026 12:53:37 GMT</pubDate>
    <dc:creator>shashi_holla</dc:creator>
    <dc:date>2026-05-12T12:53:37Z</dc:date>
    <item>
      <title>Qlik Replicate: Improving Databricks ODBC resilience with EnableRetryWithoutRetryAfterHeader</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-Improving-Databricks-ODBC-resilience-with/ta-p/2548937</link>
      <description>&lt;P&gt;This article documents how to improve&amp;nbsp;Databricks ODBC resilience with the&amp;nbsp;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader&lt;/STRONG&gt; &lt;/FONT&gt;parameter.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Content&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-TOC indent="15" liststyle="none" maxheadinglevel="4"&gt;&lt;/LI-TOC&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Databricks ODBC driver parameter &lt;FONT color="#339966"&gt;&lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader&lt;/STRONG&gt; &lt;/FONT&gt;is a connection-level setting that controls how the driver responds to server-side failures when the server does not include a Retry-After HTTP header in its response.&lt;/P&gt;
&lt;P&gt;By default, this parameter is &lt;FONT color="#339966"&gt;&lt;STRONG&gt;disabled&lt;/STRONG&gt; &lt;/FONT&gt;(&lt;FONT face="courier new,courier"&gt;0&lt;/FONT&gt;). When &lt;FONT color="#339966"&gt;&lt;STRONG&gt;enabled&lt;/STRONG&gt; &lt;/FONT&gt;(&lt;FONT face="courier new,courier"&gt;1&lt;/FONT&gt;), it instructs the driver to &lt;FONT color="#339966"&gt;&lt;STRONG&gt;retry failed requests&lt;/STRONG&gt;&lt;/FONT&gt;, even in the absence of explicit retry guidance from the server. This makes pipelines significantly more resilient to transient service disruptions and recoverable error conditions that would otherwise cause tasks to stall indefinitely.&lt;/P&gt;
&lt;P&gt;The&amp;nbsp;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader&amp;nbsp;&lt;/STRONG&gt;&lt;/FONT&gt;parameter is available with&amp;nbsp;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;driver version 2.9.1+&lt;/FONT&gt;&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Why does setting&amp;nbsp;EnableRetryWithoutRetryAfterHeader matter?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;The Default Retry Behavior&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;The Databricks ODBC driver includes built-in retry logic to handle transient failures. However, by default, this logic only activates when the server includes a &lt;STRONG&gt;Retry-After&lt;/STRONG&gt; header in the error response (the standard HTTP signal that tells a client how long to wait before retrying).&lt;/P&gt;
&lt;P&gt;In practice, not all Databricks server error responses include this header. When it is absent:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;The driver has no retry signal to act on&lt;/LI&gt;
&lt;LI&gt;The failure is treated as terminal rather than transient&lt;/LI&gt;
&lt;LI&gt;The request is abandoned entirely&lt;/LI&gt;
&lt;LI&gt;Tables dependent on that connection enter a &lt;STRONG&gt;queued state&lt;/STRONG&gt; with no further progress&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This gap between intent (retry on recoverable errors) and behavior (skip retry without the header) is the source of a class of pipeline failures that can be difficult to diagnose because the driver produces no additional retry activity.&amp;nbsp;It simply stops.&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Retry behavior with&amp;nbsp;&lt;/STRONG&gt;&lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;Setting&amp;nbsp;&lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader=1&lt;/STRONG&gt; closes the retry gap. The driver no longer requires the &lt;STRONG&gt;Retry-After &lt;/STRONG&gt;header to be present before retrying. Instead, it applies its retry logic to all eligible failures, using a built-in backoff strategy, regardless of whether the server explicitly instructs it to do so.&lt;/P&gt;
&lt;P&gt;The practical benefits are:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;&lt;STRONG&gt;Transient 503 errors are recovered automatically&lt;/STRONG&gt;: temporary service unavailability no longer causes immediate task failure&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Recoverable Delta read errors are retried&lt;/STRONG&gt;: failures that would succeed on a subsequent attempt are allowed to do so&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Queue buildup is prevented&lt;/STRONG&gt;: tables are not left stranded in a queued state due to a single unretried failure&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Pipeline stability improves&lt;/STRONG&gt; without changes to data architecture or retention policies&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;When to apply EnableRetryWithoutRetryAfterHeader&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;This parameter should be considered a &lt;STRONG&gt;standard configuration&lt;/STRONG&gt; for any Databricks ODBC connection where pipeline reliability is a priority, particularly in environments that:&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Process high volumes of tables or run long-duration tasks&lt;/LI&gt;
&lt;LI&gt;Are subject to Delta Lake log retention policies&lt;/LI&gt;
&lt;LI&gt;Connect to Databricks endpoints that may return 503 responses during maintenance windows or high-load periods&lt;/LI&gt;
&lt;LI&gt;Have previously experienced unexplained queued states or stalled tasks&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;How to enable&amp;nbsp;EnableRetryWithoutRetryAfterHeader&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Prerequisites&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;Databricks ODBC Driver &lt;STRONG&gt;version 2.9.1 or higher&lt;/STRONG&gt; (parameter is not available in earlier versions)&lt;/LI&gt;
&lt;LI&gt;Recommended: upgrade to &lt;STRONG&gt;version 2.9.2&lt;/STRONG&gt; or later for the most stable behavior&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Configuration&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;Add the following to the Databricks Delta endpoint connection using the following internal parameter:&lt;/P&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;PRE&gt;&lt;CODE&gt;additionalConnectionProperties=EnableRetryWithoutRetryAfterHeader=1&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;No other changes to the connection string or data architecture are required.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Errors addressed by&amp;nbsp;EnableRetryWithoutRetryAfterHeader&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;The following errors are direct indicators that the driver encountered a failure without retry-header guidance. Both have been observed to be resolved by enabling the parameter.&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;HTTP 503 with No Retry-After Header (SqlState: 08S01)&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;RetCode: SQL_ERROR&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;SqlState: 08S01&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NativeError: 124&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Message: [Simba][Hardy] (124) A 503 response was returned but no Retry-After header was provided. Original error: HTTP Response code 503,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;TEMPORARILY_UNAVAILABLE: HTTP Response code: 503 [1022502]&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;Alternative:&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;RetCode: SQL_ERROR SqlState: 08S01 NativeError: 124 Message: [Simba][Hardy] (124) A 503 response was returned but no Retry-After header was provided. Original error: Unknown&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What is happening&lt;/STRONG&gt;: The Databricks service returned an HTTP 503 Service Unavailable, a standard, transient condition signaling that the server is temporarily unable to handle the request. The correct behavior is to wait briefly and retry.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why it fails without the parameter&lt;/STRONG&gt;: The driver's retry mechanism is waiting for a &lt;STRONG&gt;Retry-After&lt;/STRONG&gt; header that was not included in the response. Without it, the driver takes no retry action and the connection is treated as a hard failure.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How the parameter helps&lt;/STRONG&gt;: With &lt;STRONG&gt;EnableRetryWithoutRetryAfterHeader=1&lt;/STRONG&gt;, the driver retries the request using its internal backoff strategy, allowing the pipeline to recover transparently from the temporary service disruption.&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Delta Transaction Log Truncation (SqlState: 42K03)&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;RetCode: SQL_ERROR&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;SqlState: 42K03&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;NativeError: 35&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Message: [Simba][Hardy] (35) Error from server: error code: '0'error message: 'org.apache.hive.service.cli.HiveSQLException:Error running query: [DELTA_TRUNCATED_TRANSACTION_LOG]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;com.databricks.sql.transaction.tahoe.DeltaFileNotFoundException:[DELTA_TRUNCATED_TRANSACTION_LOG]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;Unable to reconstruct state at version 16 as the transaction log has been truncated due to manual deletion or the log retention policy (delta.logRetentionDuration=30 days) and checkpoint retention policy&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;(delta.checkpointRetentionDuration=2 days)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What is happening:&lt;/STRONG&gt; Delta Lake could not reconstruct the table state because the transaction log had been truncated, either through manual deletion or by the log retention policy (&lt;EM&gt;delta.logRetentionDuration=30 days&lt;/EM&gt;) and checkpoint retention policy (&lt;EM&gt;delta.checkpointRetentionDuration=2 days&lt;/EM&gt;). The required log file (&lt;EM&gt;00000000000000000000.json&lt;/EM&gt;) was no longer present, preventing reconstruction of the state at version 16.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why it fails without the parameter&lt;/STRONG&gt;: When the driver encounters a server-side error response without a &lt;STRONG&gt;Retry-After&lt;/STRONG&gt; header, it does not retry. Conditions that may be transiently recoverable, such as a momentary log unavailability, are never reattempted, and the task stalls.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How the parameter helps&lt;/STRONG&gt;: Enabling retries allows the driver to reattempt the read operation, recovering from transient log access issues that do not persist beyond the initial attempt.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="4" color="#339966"&gt;&lt;STRONG&gt;Environment&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Qlik Replicate&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Tue, 12 May 2026 12:53:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Replicate-Improving-Databricks-ODBC-resilience-with/ta-p/2548937</guid>
      <dc:creator>shashi_holla</dc:creator>
      <dc:date>2026-05-12T12:53:37Z</dc:date>
    </item>
  </channel>
</rss>

