eric-maynard commented on code in PR #945:
URL: https://github.com/apache/polaris/pull/945#discussion_r1943763775


##########
polaris-core/src/main/resources/schemas/policies/system/data-compaction/2025-02-03.json:
##########
@@ -0,0 +1,41 @@
+{
+  "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."
+    },
+    "target_file_size_bytes": {
+      "type": "number",
+      "description": "Target data file size in bytes."
+    },
+    "config": {
+      "type": "object",
+      "description": "A map containing custom configuration properties. Please 
note that interoperability is not guaranteed.",

Review Comment:
   To me this is where the whole thing sort of falls apart. If TMS X and TMS Y 
will have different interpretations of the same policy, what's the point of 
defining a policy's schema so strictly?
   
   And what if I want to implement TMS Z, which has some new policy type that's 
not known by the service. Do I have to fork Polaris and add a new policy 
schema? What will other TMSs do when they see this unknown policy?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to