<?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>topic Calls to databricks api taking more than 60 seconds to complete in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/calls-to-databricks-api-taking-more-than-60-seconds-to-complete/m-p/156364#M54408</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;since April 1st (2026) we are having problems calling the databricks&amp;nbsp;/api/2.2/jobs/runs/list and the /api/2.0/sql/history/queries endpoint. Calls to these endpoints sometimes seem to take longer than 60 seconds now using the databricks python sdk which leads to our script being killed.&lt;/P&gt;&lt;P&gt;What we do explicitly is implementing monitoring with Icinga2 for our job runs and queries, looking for runtime issues. This means that for the jobs we have our Icinga query the databricks jobs api for each of our jobs (which are 48 in one workspace at the moment) every 3 minutes. As far as I understand the&amp;nbsp;&lt;A href="https://docs.databricks.com/gcp/en/resources/limits#limits-api-rate-limits" target="_self"&gt;documentation&lt;/A&gt;, the rate limit for the&amp;nbsp;&lt;STRONG&gt;/jobs/runs/list&lt;/STRONG&gt; is 30 calls per second per workspace so my understanding is that we should not run into rate limits.&lt;/P&gt;&lt;P&gt;Extending the Icinga timeout also shows, that the databricks api does not return any error, its just that establishing a connection apparently takes a really long time sometimes. What I find curious about this is that we only started having problems after the 1st of April without doing any changes in our setup. So I was wondering if there maybe were some changes done to the api?&lt;/P&gt;&lt;P&gt;Or could there be another explanation for this behaviour? We are running our workspaces on gcp in the zone "europe-west1".&lt;/P&gt;</description>
    <pubDate>Thu, 07 May 2026 08:46:51 GMT</pubDate>
    <dc:creator>MiriamHundemer</dc:creator>
    <dc:date>2026-05-07T08:46:51Z</dc:date>
    <item>
      <title>Calls to databricks api taking more than 60 seconds to complete</title>
      <link>https://community.databricks.com/t5/data-engineering/calls-to-databricks-api-taking-more-than-60-seconds-to-complete/m-p/156364#M54408</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;since April 1st (2026) we are having problems calling the databricks&amp;nbsp;/api/2.2/jobs/runs/list and the /api/2.0/sql/history/queries endpoint. Calls to these endpoints sometimes seem to take longer than 60 seconds now using the databricks python sdk which leads to our script being killed.&lt;/P&gt;&lt;P&gt;What we do explicitly is implementing monitoring with Icinga2 for our job runs and queries, looking for runtime issues. This means that for the jobs we have our Icinga query the databricks jobs api for each of our jobs (which are 48 in one workspace at the moment) every 3 minutes. As far as I understand the&amp;nbsp;&lt;A href="https://docs.databricks.com/gcp/en/resources/limits#limits-api-rate-limits" target="_self"&gt;documentation&lt;/A&gt;, the rate limit for the&amp;nbsp;&lt;STRONG&gt;/jobs/runs/list&lt;/STRONG&gt; is 30 calls per second per workspace so my understanding is that we should not run into rate limits.&lt;/P&gt;&lt;P&gt;Extending the Icinga timeout also shows, that the databricks api does not return any error, its just that establishing a connection apparently takes a really long time sometimes. What I find curious about this is that we only started having problems after the 1st of April without doing any changes in our setup. So I was wondering if there maybe were some changes done to the api?&lt;/P&gt;&lt;P&gt;Or could there be another explanation for this behaviour? We are running our workspaces on gcp in the zone "europe-west1".&lt;/P&gt;</description>
      <pubDate>Thu, 07 May 2026 08:46:51 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/calls-to-databricks-api-taking-more-than-60-seconds-to-complete/m-p/156364#M54408</guid>
      <dc:creator>MiriamHundemer</dc:creator>
      <dc:date>2026-05-07T08:46:51Z</dc:date>
    </item>
    <item>
      <title>Re: Calls to databricks api taking more than 60 seconds to complete</title>
      <link>https://community.databricks.com/t5/data-engineering/calls-to-databricks-api-taking-more-than-60-seconds-to-complete/m-p/156366#M54409</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/155481"&gt;@MiriamHundemer&lt;/a&gt;&amp;nbsp; !&lt;/P&gt;&lt;P&gt;I don't think this is a rate limit issue because it is indeed 30 req/sec per workspace&amp;nbsp;but that only tells you when some throttling may happen and it does not guarantee that every call returns within 60 sec. Also don't forget that the pthon SDK has a default http_timeout_seconds of 60 sec&amp;nbsp;which matches the failure boundary you are seeing and it also has retry behavior for safe failures.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why don't you try to avoid one api call per job if possible ? because/jobs/runs/list can list runs across all jobs if job_id is omitted and for monitoring you can call it once per workspace with active_only=True or with start_time_from for the last monitoring window then filter by job id.&lt;/P&gt;&lt;P&gt;The api also supports limit, page_token, active_only, completed_only, start_time_from&amp;nbsp;and start_time_to.&lt;/P&gt;&lt;P&gt;You have also the possibility to add timeout and rate limit explicitly in the SDK :&lt;/P&gt;&lt;PRE&gt;from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
    http_timeout_seconds=30,
    retry_timeout_seconds=50,
    rate_limit=5
)&lt;/PRE&gt;&lt;P&gt;then set the Icinga plugin timeout slightly above the SDK retry timeout and this way you avoid Icinga killing the process while the SDK is still waiting/retrying.&lt;BR /&gt;One last thing for monitoring, system.lakeflow.job_run_timeline tracks job runs and metadata and system.query.history stores SQL warehouse or serverless query history and I think they are good in your case but don't forget that they are not real time, so I would still use the API for immediate active run checks.&lt;/P&gt;</description>
      <pubDate>Thu, 07 May 2026 09:12:39 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/calls-to-databricks-api-taking-more-than-60-seconds-to-complete/m-p/156366#M54409</guid>
      <dc:creator>amirabedhiafi</dc:creator>
      <dc:date>2026-05-07T09:12:39Z</dc:date>
    </item>
  </channel>
</rss>

