diff --git a/docs/src/namespace/operations/models/RefreshMaterializedViewRequest.md b/docs/src/namespace/operations/models/RefreshMaterializedViewRequest.md index 94cd4d3d..e93fca4a 100644 --- a/docs/src/namespace/operations/models/RefreshMaterializedViewRequest.md +++ b/docs/src/namespace/operations/models/RefreshMaterializedViewRequest.md @@ -13,6 +13,7 @@ |**maxRowsPerFragment** | **Integer** | Optional maximum rows per fragment | [optional] | |**concurrency** | **Integer** | Optional concurrency override | [optional] | |**intraApplierConcurrency** | **Integer** | Optional intra-applier concurrency override | [optional] | +|**sourceTaskSize** | **Integer** | Optional number of source row ids per work item during expansion. Bounds per-actor memory for chunker materialized views. | [optional] | |**cluster** | **String** | Optional cluster name (operational override) | [optional] | |**outputLimit** | **Integer** | Post-trim cap on view row count after expansion. Valid only for chunker materialized views; returns 400 if set on other kinds. | [optional] | |**manifest** | **String** | Optional inline JSON-serialized GenevaManifest. Operational override for this refresh only; does not mutate the view's snapshotted manifest. When omitted, the manifest stored in the view's metadata is used. | [optional] | diff --git a/docs/src/spec.yaml b/docs/src/spec.yaml index 03f94a56..1a94b0fe 100644 --- a/docs/src/spec.yaml +++ b/docs/src/spec.yaml @@ -5503,6 +5503,13 @@ components: - integer - "null" description: Optional intra-applier concurrency override + source_task_size: + type: + - integer + - "null" + description: | + Optional number of source row ids per work item during expansion. + Bounds per-actor memory for chunker materialized views. cluster: type: - string diff --git a/python/lance_namespace_urllib3_client/docs/RefreshMaterializedViewRequest.md b/python/lance_namespace_urllib3_client/docs/RefreshMaterializedViewRequest.md index 0c47a9ab..2504f39f 100644 --- a/python/lance_namespace_urllib3_client/docs/RefreshMaterializedViewRequest.md +++ b/python/lance_namespace_urllib3_client/docs/RefreshMaterializedViewRequest.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **max_rows_per_fragment** | **int** | Optional maximum rows per fragment | [optional] **concurrency** | **int** | Optional concurrency override | [optional] **intra_applier_concurrency** | **int** | Optional intra-applier concurrency override | [optional] +**source_task_size** | **int** | Optional number of source row ids per work item during expansion. Bounds per-actor memory for chunker materialized views. | [optional] **cluster** | **str** | Optional cluster name (operational override) | [optional] **output_limit** | **int** | Post-trim cap on view row count after expansion. Valid only for chunker materialized views; returns 400 if set on other kinds. | [optional] **manifest** | **str** | Optional inline JSON-serialized GenevaManifest. Operational override for this refresh only; does not mutate the view's snapshotted manifest. When omitted, the manifest stored in the view's metadata is used. | [optional] diff --git a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/refresh_materialized_view_request.py b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/refresh_materialized_view_request.py index 5ba51b26..4874730c 100644 --- a/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/refresh_materialized_view_request.py +++ b/python/lance_namespace_urllib3_client/lance_namespace_urllib3_client/models/refresh_materialized_view_request.py @@ -33,10 +33,11 @@ class RefreshMaterializedViewRequest(BaseModel): max_rows_per_fragment: Optional[StrictInt] = Field(default=None, description="Optional maximum rows per fragment") concurrency: Optional[StrictInt] = Field(default=None, description="Optional concurrency override") intra_applier_concurrency: Optional[StrictInt] = Field(default=None, description="Optional intra-applier concurrency override") + source_task_size: Optional[StrictInt] = Field(default=None, description="Optional number of source row ids per work item during expansion. Bounds per-actor memory for chunker materialized views. ") cluster: Optional[StrictStr] = Field(default=None, description="Optional cluster name (operational override)") output_limit: Optional[StrictInt] = Field(default=None, description="Post-trim cap on view row count after expansion. Valid only for chunker materialized views; returns 400 if set on other kinds. ") manifest: Optional[StrictStr] = Field(default=None, description="Optional inline JSON-serialized GenevaManifest. Operational override for this refresh only; does not mutate the view's snapshotted manifest. When omitted, the manifest stored in the view's metadata is used. ") - __properties: ClassVar[List[str]] = ["identity", "id", "src_version", "max_rows_per_fragment", "concurrency", "intra_applier_concurrency", "cluster", "output_limit", "manifest"] + __properties: ClassVar[List[str]] = ["identity", "id", "src_version", "max_rows_per_fragment", "concurrency", "intra_applier_concurrency", "source_task_size", "cluster", "output_limit", "manifest"] model_config = ConfigDict( populate_by_name=True, @@ -100,6 +101,11 @@ def to_dict(self) -> Dict[str, Any]: if self.intra_applier_concurrency is None and "intra_applier_concurrency" in self.model_fields_set: _dict['intra_applier_concurrency'] = None + # set to None if source_task_size (nullable) is None + # and model_fields_set contains the field + if self.source_task_size is None and "source_task_size" in self.model_fields_set: + _dict['source_task_size'] = None + # set to None if cluster (nullable) is None # and model_fields_set contains the field if self.cluster is None and "cluster" in self.model_fields_set: @@ -133,6 +139,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "max_rows_per_fragment": obj.get("max_rows_per_fragment"), "concurrency": obj.get("concurrency"), "intra_applier_concurrency": obj.get("intra_applier_concurrency"), + "source_task_size": obj.get("source_task_size"), "cluster": obj.get("cluster"), "output_limit": obj.get("output_limit"), "manifest": obj.get("manifest") diff --git a/python/lance_namespace_urllib3_client/test/test_refresh_materialized_view_request.py b/python/lance_namespace_urllib3_client/test/test_refresh_materialized_view_request.py index 4126acdd..f857f570 100644 --- a/python/lance_namespace_urllib3_client/test/test_refresh_materialized_view_request.py +++ b/python/lance_namespace_urllib3_client/test/test_refresh_materialized_view_request.py @@ -45,6 +45,7 @@ def make_instance(self, include_optional) -> RefreshMaterializedViewRequest: max_rows_per_fragment = 56, concurrency = 56, intra_applier_concurrency = 56, + source_task_size = 56, cluster = '', output_limit = 56, manifest = '' diff --git a/rust/lance-namespace-reqwest-client/docs/RefreshMaterializedViewRequest.md b/rust/lance-namespace-reqwest-client/docs/RefreshMaterializedViewRequest.md index b18db78a..c5d0e92f 100644 --- a/rust/lance-namespace-reqwest-client/docs/RefreshMaterializedViewRequest.md +++ b/rust/lance-namespace-reqwest-client/docs/RefreshMaterializedViewRequest.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **max_rows_per_fragment** | Option<**i32**> | Optional maximum rows per fragment | [optional] **concurrency** | Option<**i32**> | Optional concurrency override | [optional] **intra_applier_concurrency** | Option<**i32**> | Optional intra-applier concurrency override | [optional] +**source_task_size** | Option<**i32**> | Optional number of source row ids per work item during expansion. Bounds per-actor memory for chunker materialized views. | [optional] **cluster** | Option<**String**> | Optional cluster name (operational override) | [optional] **output_limit** | Option<**i32**> | Post-trim cap on view row count after expansion. Valid only for chunker materialized views; returns 400 if set on other kinds. | [optional] **manifest** | Option<**String**> | Optional inline JSON-serialized GenevaManifest. Operational override for this refresh only; does not mutate the view's snapshotted manifest. When omitted, the manifest stored in the view's metadata is used. | [optional] diff --git a/rust/lance-namespace-reqwest-client/src/models/refresh_materialized_view_request.rs b/rust/lance-namespace-reqwest-client/src/models/refresh_materialized_view_request.rs index 540fc7f0..b7f7edca 100644 --- a/rust/lance-namespace-reqwest-client/src/models/refresh_materialized_view_request.rs +++ b/rust/lance-namespace-reqwest-client/src/models/refresh_materialized_view_request.rs @@ -30,6 +30,9 @@ pub struct RefreshMaterializedViewRequest { /// Optional intra-applier concurrency override #[serde(rename = "intra_applier_concurrency", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub intra_applier_concurrency: Option>, + /// Optional number of source row ids per work item during expansion. Bounds per-actor memory for chunker materialized views. + #[serde(rename = "source_task_size", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] + pub source_task_size: Option>, /// Optional cluster name (operational override) #[serde(rename = "cluster", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")] pub cluster: Option>, @@ -50,6 +53,7 @@ impl RefreshMaterializedViewRequest { max_rows_per_fragment: None, concurrency: None, intra_applier_concurrency: None, + source_task_size: None, cluster: None, output_limit: None, manifest: None,