From 70c8e015db931576273eb9b61dc517262d760c2e Mon Sep 17 00:00:00 2001 From: Pat Whelan Date: Thu, 9 Oct 2025 12:31:30 -0400 Subject: [PATCH] [Transform] Specify use_point_in_time in settings (#5322) use_point_in_time has been in the docs since before 8.18 Resolve elastic/elasticsearch#134841 (cherry picked from commit 9fe24d15ae7841b87f6e2d2c745374b08d2e55c4) # Conflicts: # specification/_doc_ids/table.csv --- output/schema/schema.json | 23 +++++++++++++++++---- output/typescript/types.ts | 1 + specification/_doc_ids/table.csv | 2 +- specification/transform/_types/Transform.ts | 10 +++++++++ 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/output/schema/schema.json b/output/schema/schema.json index 051da2e8cf..9d0f462eaf 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -258814,6 +258814,21 @@ } } }, + { + "description": "Specifies whether the transform checkpoint will use the Point In Time API while searching over the source index.\nIn general, Point In Time is an optimization that will reduce pressure on the source index by reducing the amount\nof refreshes and merges, but it can be expensive if a large number of Point In Times are opened and closed for a\ngiven index. The benefits and impact depend on the data being searched, the ingest rate into the source index, and\nthe amount of other consumers searching the same source index.", + "extDocId": "point-in-time-api", + "extDocUrl": "https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-open-point-in-time", + "name": "use_point_in_time", + "required": false, + "serverDefault": true, + "type": { + "kind": "instance_of", + "type": { + "name": "boolean", + "namespace": "_builtins" + } + } + }, { "availability": { "serverless": {}, @@ -258834,7 +258849,7 @@ } } ], - "specLocation": "transform/_types/Transform.ts#L98-L144" + "specLocation": "transform/_types/Transform.ts#L98-L154" }, { "kind": "interface", @@ -258886,7 +258901,7 @@ } } ], - "specLocation": "transform/_types/Transform.ts#L146-L165" + "specLocation": "transform/_types/Transform.ts#L156-L175" }, { "kind": "interface", @@ -258908,7 +258923,7 @@ } } ], - "specLocation": "transform/_types/Transform.ts#L169-L175", + "specLocation": "transform/_types/Transform.ts#L179-L185", "variants": { "kind": "container" } @@ -258946,7 +258961,7 @@ } } ], - "specLocation": "transform/_types/Transform.ts#L177-L189" + "specLocation": "transform/_types/Transform.ts#L187-L199" }, { "kind": "request", diff --git a/output/typescript/types.ts b/output/typescript/types.ts index ed74e63aad..bbed84b81d 100644 --- a/output/typescript/types.ts +++ b/output/typescript/types.ts @@ -21992,6 +21992,7 @@ export interface TransformSettings { deduce_mappings?: boolean docs_per_second?: float max_page_search_size?: integer + use_point_in_time?: boolean unattended?: boolean } diff --git a/specification/_doc_ids/table.csv b/specification/_doc_ids/table.csv index cf34e67a58..02fbd5a648 100644 --- a/specification/_doc_ids/table.csv +++ b/specification/_doc_ids/table.csv @@ -495,7 +495,7 @@ painless-contexts,https://www.elastic.co/docs/reference/scripting-languages/pain painless-execute-api,https://www.elastic.co/docs/reference/scripting-languages/painless/painless-api-examples,, pipeline-processor,https://www.elastic.co/docs/reference/enrich-processor/pipeline-processor,, pki-realm,https://www.elastic.co/docs/deploy-manage/users-roles/cluster-or-deployment-auth/pki,, -point-in-time-api,https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-open-point-in-time,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/point-in-time-api.html, +point-in-time-api,https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-open-point-in-time,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/point-in-time-api.html,Open a point in time API prevalidate-node-removal,https://www.elastic.co/docs/api/doc/elasticsearch/v9/group/endpoint-cluster,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/cluster.html, preview-dfanalytics,https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-ml-preview-data-frame-analytics,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/preview-dfanalytics.html, preview-transform,https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-transform-preview-transform,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/preview-transform.html, diff --git a/specification/transform/_types/Transform.ts b/specification/transform/_types/Transform.ts index ed11e0bcb1..f363aa5ac0 100644 --- a/specification/transform/_types/Transform.ts +++ b/specification/transform/_types/Transform.ts @@ -130,6 +130,16 @@ export class Settings { * @server_default 500 */ max_page_search_size?: integer + /** + * Specifies whether the transform checkpoint will use the Point In Time API while searching over the source index. + * In general, Point In Time is an optimization that will reduce pressure on the source index by reducing the amount + * of refreshes and merges, but it can be expensive if a large number of Point In Times are opened and closed for a + * given index. The benefits and impact depend on the data being searched, the ingest rate into the source index, and + * the amount of other consumers searching the same source index. + * @ext_doc_id point-in-time-api + * @server_default true + */ + use_point_in_time?: boolean /** * If `true`, the transform runs in unattended mode. In unattended mode, the transform retries indefinitely in case