This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/polaris.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 51ea96d19 deploy: 3d2a42aa1ecf1d1a4e43de8387b665451ea24bb6
51ea96d19 is described below

commit 51ea96d1978ae8c658fd457f83b3c322c71f312c
Author: singhpk234 <singhpk...@users.noreply.github.com>
AuthorDate: Tue May 13 23:52:50 2025 +0000

    deploy: 3d2a42aa1ecf1d1a4e43de8387b665451ea24bb6
---
 .../system/data-compaction/2025-02-03.json         | 39 +++++++++++++++++
 .../system/metadata-compaction/2025-02-03.json     | 37 ++++++++++++++++
 .../system/orphan-file-removal/2025-02-03.json     | 50 ++++++++++++++++++++++
 .../system/snapshot-expiry/2025-02-03.json         | 39 +++++++++++++++++
 4 files changed, 165 insertions(+)

diff --git a/schemas/policies/system/data-compaction/2025-02-03.json 
b/schemas/policies/system/data-compaction/2025-02-03.json
new file mode 100644
index 000000000..f222d7c19
--- /dev/null
+++ b/schemas/policies/system/data-compaction/2025-02-03.json
@@ -0,0 +1,39 @@
+{
+  "license": "Licensed under the Apache License, Version 2.0 
(http://www.apache.org/licenses/LICENSE-2.0)",
+  "$id": 
"https://polaris.apache.org/schemas/policies/system/data-compaction/2025-02-03.json";,
+  "title": "Data Compaction Policy",
+  "description": "Inheritable Polaris policy schema for Iceberg table data 
compaction",
+  "type": "object",
+  "properties": {
+    "version": {
+      "type": "string",
+      "const": "2025-02-03",
+      "description": "Schema version"
+    },
+    "enable": {
+      "type": "boolean",
+      "description": "Enable or disable data compaction."
+    },
+    "config": {
+      "type": "object",
+      "description": "A map containing custom configuration properties. Please 
note that interoperability is not guaranteed.",
+      "additionalProperties": {
+        "type": ["string", "number", "boolean"]
+      }
+    }
+  },
+  "required": ["enable"],
+  "additionalProperties": false,
+  "examples": [
+    {
+      "version": "2025-02-03",
+      "enable": true,
+      "config": {
+        "target_file_size_bytes": 134217728,
+        "compaction_strategy": "bin-pack",
+        "max-concurrent-file-group-rewrites": 5,
+        "key1": "value1"
+      }
+    }
+  ]
+}
diff --git a/schemas/policies/system/metadata-compaction/2025-02-03.json 
b/schemas/policies/system/metadata-compaction/2025-02-03.json
new file mode 100644
index 000000000..d99dc396c
--- /dev/null
+++ b/schemas/policies/system/metadata-compaction/2025-02-03.json
@@ -0,0 +1,37 @@
+{
+  "license": "Licensed under the Apache License, Version 2.0 
(http://www.apache.org/licenses/LICENSE-2.0)",
+  "$id": 
"https://polaris.apache.org/schemas/policies/system/metadata-compaction/2025-02-03.json";,
+  "title": "Metadata Compaction Policy",
+  "description": "Inheritable Polaris policy schema for Iceberg table metadata 
compaction",
+  "type": "object",
+  "properties": {
+    "version": {
+      "type": "string",
+      "const": "2025-02-03",
+      "description": "Schema version"
+    },
+    "enable": {
+      "type": "boolean",
+      "description": "Enable or disable metadata compaction."
+    },
+    "config": {
+      "type": "object",
+      "description": "A map containing custom configuration properties. Please 
note that interoperability is not guaranteed.",
+      "additionalProperties": {
+        "type": ["string", "number", "boolean"]
+      }
+    }
+  },
+  "required": ["enable"],
+  "additionalProperties": false,
+  "examples": [
+    {
+      "version": "2025-02-03",
+      "enable": true,
+      "config": {
+        "spec_id": 1,
+        "key1": "value1"
+      }
+    }
+  ]
+}
diff --git a/schemas/policies/system/orphan-file-removal/2025-02-03.json 
b/schemas/policies/system/orphan-file-removal/2025-02-03.json
new file mode 100644
index 000000000..f7b00d1e4
--- /dev/null
+++ b/schemas/policies/system/orphan-file-removal/2025-02-03.json
@@ -0,0 +1,50 @@
+{
+  "license": "Licensed under the Apache License, Version 2.0 
(http://www.apache.org/licenses/LICENSE-2.0)",
+  "$id": 
"https://polaris.apache.org/schemas/policies/system/orphan-file-removal/2025-02-03.json";,
+  "title": "Orphan File Removal Policy",
+  "description": "Inheritable Polaris policy schema for Iceberg table orphan 
file removal",
+  "type": "object",
+  "properties": {
+    "version": {
+      "type": "string",
+      "const": "2025-02-03",
+      "description": "Schema version"
+    },
+    "enable": {
+      "type": "boolean",
+      "description": "Enable or disable orphan file removal."
+    },
+    "max_orphan_file_age_in_days": {
+      "type": "number",
+      "description": "Specifies the maximum age (in days) for orphaned files 
before they are eligible for removal."
+    },
+    "locations": {
+      "type": "array",
+      "items": {
+        "type": "string"
+      },
+      "description": "Specifies a list of custom directories to search for 
files instead of the default table location. Use with caution—if set to a broad 
location (e.g., s3://my-bucket instead of s3://my-bucket/my-table-location), 
all unreferenced files in that path may be permanently deleted, including files 
from other tables. Following best practices, tables should be stored in 
separate locations to avoid accidental data loss."
+    },
+    "config": {
+      "type": "object",
+      "description": "A map containing custom configuration properties. Note 
that interoperability is not guaranteed.",
+      "additionalProperties": {
+        "type": ["string", "number", "boolean"]
+      }
+    }
+  },
+  "required": ["enable"],
+  "additionalProperties": false,
+  "examples": [
+    {
+      "version": "2025-02-03",
+      "enable": true,
+      "max_orphan_file_age_in_days": 30,
+      "locations": ["s3://my-bucket/my-table-location"],
+      "config": {
+        "prefix_mismatch_mode": "ignore",
+        "key1": "value1"
+      }
+    }
+  ]
+}
diff --git a/schemas/policies/system/snapshot-expiry/2025-02-03.json 
b/schemas/policies/system/snapshot-expiry/2025-02-03.json
new file mode 100644
index 000000000..488e45b31
--- /dev/null
+++ b/schemas/policies/system/snapshot-expiry/2025-02-03.json
@@ -0,0 +1,39 @@
+{
+  "license": "Licensed under the Apache License, Version 2.0 
(http://www.apache.org/licenses/LICENSE-2.0)",
+  "$id": 
"https://polaris.apache.org/schemas/policies/system/snapshot-expiry/2025-02-03.json";,
+  "title": "Snapshot Expiry Policy",
+  "description": "Inheritable Polaris policy schema for managing Iceberg table 
snapshot expiry. This policy allows a table (or its parent) to indicate that 
snapshot expiry is enabled. It also defines how snapshots should be expired. 
Engines or clients can use this policy to safely remove expired snapshots and 
delete associated files, helping maintain a clean and efficient table state.",
+  "type": "object",
+  "properties": {
+    "version": {
+      "type": "string",
+      "const": "2025-02-03",
+      "description": "Schema version"
+    },
+    "enable": {
+      "type": "boolean",
+      "description": "Enable or disable snapshot expiry."
+    },
+    "config": {
+      "type": "object",
+      "description": "A map containing custom configuration properties. Please 
note that interoperability is not guaranteed.",
+      "additionalProperties": {
+        "type": ["string", "number", "boolean"]
+      }
+    }
+  },
+  "required": ["enable"],
+  "additionalProperties": false,
+  "examples": [
+    {
+      "version": "2025-02-03",
+      "enable": true,
+      "config": {
+        "min_snapshot_to_keep": 1,
+        "max_snapshot_age_days": 2,
+        "max_ref_age_days": 3,
+        "key1": "value1"
+      }
+    }
+  ]
+}

Reply via email to