You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by "kevinjqliu (via GitHub)" <gi...@apache.org> on 2026/09/25 04:08:53 UTC

[PR] Use RustFS readiness healthcheck and drop redundant settings [iceberg-python]

kevinjqliu opened a new pull request, #4017:
URL: https://github.com/apache/iceberg-python/pull/4017

   # Rationale for this change
   
   Follow up to apache/iceberg#18246. This brings the RustFS setup here in line with the other Iceberg repos (iceberg, iceberg-rust, iceberg-go, iceberg-cpp) so they all behave the same way.
   
   - Healthcheck on `/health/ready` instead of `/health`. `/health` is just liveness and can return 200 before storage/IAM are ready, so the `aws-cli` bucket creation can race it.
   - Set `RUSTFS_OBS_LOG_STDOUT_ENABLED=true`. It defaults to false and the image logs to `/logs`, so `docker logs` is empty otherwise, which makes CI failures hard to debug.
   - Drop `RUSTFS_VOLUMES`, `RUSTFS_ADDRESS`, `RUSTFS_CONSOLE_ENABLE`, and `RUSTFS_CONSOLE_ADDRESS`. They're already the defaults in 1.0.0.
   
   ## Are these changes tested?
   
   Tested with `docker compose config` and by running `rustfs/rustfs:1.0.0` with this config: `/health/ready` returns 200 and logs show up in `docker logs`.
   
   ## Are there any user-facing changes?
   
   No.
   
   ---
   **AI Disclosure**
   - Model: Claude Opus 5.5
   - Platform/Tool: GitHub Copilot
   - Human Oversight: [unknown - human to fill in]
   - Prompt Summary: Align RustFS docker compose config with the other Iceberg repos


-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [PR] Infra: Standardize RustFS setup across Iceberg repos [iceberg-python]

Posted by "kevinjqliu (via GitHub)" <gi...@apache.org>.
kevinjqliu merged PR #4017:
URL: https://github.com/apache/iceberg-python/pull/4017


-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [PR] Infra: Standardize RustFS setup across Iceberg repos [iceberg-python]

Posted by "rambleraptor (via GitHub)" <gi...@apache.org>.
rambleraptor commented on PR #4017:
URL: https://github.com/apache/iceberg-python/pull/4017#issuecomment-6372103132

   @Fokko @kevinjqliu - kicked out of merge queue. which is strange, because it's showing that the merge queue passed all the checks?
   


-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [PR] Infra: Standardize RustFS setup across Iceberg repos [iceberg-python]

Posted by "kevinjqliu (via GitHub)" <gi...@apache.org>.
kevinjqliu commented on code in PR #4017:
URL: https://github.com/apache/iceberg-python/pull/4017#discussion_r4328594381


##########
dev/docker-compose-integration.yml:
##########
@@ -62,27 +62,24 @@ services:
       - CATALOG_S3_ENDPOINT=http://object-store:9000
       - CATALOG_JDBC_STRICT__MODE=true
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     networks:
       iceberg_net:
         aliases:
           - warehouse.object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001
+      - RUSTFS_OBS_LOG_STDOUT_ENABLED=true
+      - RUSTFS_CONSOLE_ENABLE=false

Review Comment:
   removes console port 9001, we dont need it



##########
dev/docker-compose-integration.yml:
##########
@@ -62,27 +62,24 @@ services:
       - CATALOG_S3_ENDPOINT=http://object-store:9000
       - CATALOG_JDBC_STRICT__MODE=true
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     networks:
       iceberg_net:
         aliases:
           - warehouse.object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001
+      - RUSTFS_OBS_LOG_STDOUT_ENABLED=true

Review Comment:
   show logs in CI



##########
dev/docker-compose-integration.yml:
##########
@@ -62,27 +62,24 @@ services:
       - CATALOG_S3_ENDPOINT=http://object-store:9000
       - CATALOG_JDBC_STRICT__MODE=true
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     networks:
       iceberg_net:
         aliases:
           - warehouse.object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001
+      - RUSTFS_OBS_LOG_STDOUT_ENABLED=true
+      - RUSTFS_CONSOLE_ENABLE=false
       # Resolves virtual-hosted-style `warehouse.object-store` to the warehouse
       # bucket.
       - RUSTFS_SERVER_DOMAINS=object-store
     healthcheck:
-      test: ["CMD-SHELL", "curl --fail http://127.0.0.1:9000/health"]
+      test: ["CMD-SHELL", "curl --fail http://127.0.0.1:9000/health/ready"]

Review Comment:
   The RustFS [Status Check docs](https://docs.rustfs.com/en/operations/status-check) define the two endpoints differently:
   
   - `/health` is a liveness check. It returns 200 "as long as the process is up".
   
   - `/health/ready` is a readiness check. It returns 200 "only when storage, IAM, and peer health are ready", and 503 otherwise.



##########
dev/docker-compose-integration.yml:
##########
@@ -62,27 +62,24 @@ services:
       - CATALOG_S3_ENDPOINT=http://object-store:9000
       - CATALOG_JDBC_STRICT__MODE=true
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     networks:
       iceberg_net:
         aliases:
           - warehouse.object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001

Review Comment:
   these are all defaults, can remove



##########
dev/docker-compose.yml:
##########
@@ -17,20 +17,17 @@
 
 services:
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001

Review Comment:
   these are all defaults, can remove



##########
dev/docker-compose.yml:
##########
@@ -17,20 +17,17 @@
 
 services:
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001
+      - RUSTFS_OBS_LOG_STDOUT_ENABLED=true
+      - RUSTFS_CONSOLE_ENABLE=false

Review Comment:
   removes console port 9001, we dont need it



##########
dev/docker-compose.yml:
##########
@@ -17,20 +17,17 @@
 
 services:
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001
+      - RUSTFS_OBS_LOG_STDOUT_ENABLED=true
+      - RUSTFS_CONSOLE_ENABLE=false
     healthcheck:
-      test: ["CMD-SHELL", "curl --fail http://127.0.0.1:9000/health"]
+      test: ["CMD-SHELL", "curl --fail http://127.0.0.1:9000/health/ready"]

Review Comment:
   The RustFS [Status Check docs](https://docs.rustfs.com/en/operations/status-check) define the two endpoints differently:
   
   - `/health` is a liveness check. It returns 200 "as long as the process is up".
   
   - `/health/ready` is a readiness check. It returns 200 "only when storage, IAM, and peer health are ready", and 503 otherwise.



##########
dev/docker-compose.yml:
##########
@@ -17,20 +17,17 @@
 
 services:
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001
+      - RUSTFS_OBS_LOG_STDOUT_ENABLED=true

Review Comment:
   show logs in CI



-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [PR] Infra: Standardize RustFS setup across Iceberg repos [iceberg-python]

Posted by "kevinjqliu (via GitHub)" <gi...@apache.org>.
kevinjqliu commented on code in PR #4017:
URL: https://github.com/apache/iceberg-python/pull/4017#discussion_r4328594431


##########
dev/docker-compose.yml:
##########
@@ -17,20 +17,17 @@
 
 services:
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001

Review Comment:
   these are all defaults, can remove



##########
dev/docker-compose.yml:
##########
@@ -17,20 +17,17 @@
 
 services:
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001
+      - RUSTFS_OBS_LOG_STDOUT_ENABLED=true
+      - RUSTFS_CONSOLE_ENABLE=false
     healthcheck:
-      test: ["CMD-SHELL", "curl --fail http://127.0.0.1:9000/health"]
+      test: ["CMD-SHELL", "curl --fail http://127.0.0.1:9000/health/ready"]

Review Comment:
   The RustFS [Status Check docs](https://docs.rustfs.com/en/operations/status-check) define the two endpoints differently:
   
   - `/health` is a liveness check. It returns 200 "as long as the process is up".
   
   - `/health/ready` is a readiness check. It returns 200 "only when storage, IAM, and peer health are ready", and 503 otherwise.



-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [PR] Infra: Standardize RustFS setup across Iceberg repos [iceberg-python]

Posted by "kevinjqliu (via GitHub)" <gi...@apache.org>.
kevinjqliu commented on code in PR #4017:
URL: https://github.com/apache/iceberg-python/pull/4017#discussion_r4328594398


##########
dev/docker-compose.yml:
##########
@@ -17,20 +17,17 @@
 
 services:
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001
+      - RUSTFS_OBS_LOG_STDOUT_ENABLED=true

Review Comment:
   show logs in CI



##########
dev/docker-compose.yml:
##########
@@ -17,20 +17,17 @@
 
 services:
   object-store:
-    image: rustfs/rustfs:1.0.0
+    image: rustfs/rustfs:1.0.3
     container_name: pyiceberg-object-store
     ports:
-      - 9001:9001
       - 9000:9000
     environment:
       - RUSTFS_ACCESS_KEY=admin
       - RUSTFS_SECRET_KEY=password
-      - RUSTFS_VOLUMES=/data
-      - RUSTFS_ADDRESS=:9000
-      - RUSTFS_CONSOLE_ENABLE=true
-      - RUSTFS_CONSOLE_ADDRESS=:9001
+      - RUSTFS_OBS_LOG_STDOUT_ENABLED=true
+      - RUSTFS_CONSOLE_ENABLE=false

Review Comment:
   removes console port 9001, we dont need it



-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org