jedcunningham commented on code in PR #58814:
URL: https://github.com/apache/airflow/pull/58814#discussion_r2577956514


##########
airflow-core/src/airflow/config_templates/config.yml:
##########
@@ -712,6 +712,20 @@ database:
       type: integer
       example: ~
       default: "10000"
+    metadata_indexes:
+      description: |
+        JSON list of additional indexes to create on the metadata database at 
API server startup.
+
+        Each item must be a string specifying the table and one or more 
columns:
+        - "table(column1, column2, ...)"
+
+        Existing indexes are detected and skipped. On PostgreSQL, indexes are 
created
+        CONCURRENTLY to avoid locking tables. Other databases attempt 
non-blocking creation
+        where supported, otherwise fallback to standard index creation.
+      version_added: 3.2.0
+      type: string
+      example: "task_instance(dag_id, task_id, 
run_id)|log(dttm)|dag_run(dag_id, run_id)"

Review Comment:
   I'm not sure we should expose this as config. I'd suggest we instead build a 
way to provision these indexes we've identified at component startup, but _not_ 
expose it to users and require (or even allow them) to step in here.
   
   Having this exposed isn't that "helpful" - if someone knows what indexes to 
add, they can just add them... This feels like a footgun.



-- 
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