dstandish commented on code in PR #26509:
URL: https://github.com/apache/airflow/pull/26509#discussion_r978437183


##########
airflow/models/dag.py:
##########
@@ -1189,11 +1195,25 @@ def relative_fileloc(self) -> pathlib.Path:
         """File location of the importable dag 'file' relative to the 
configured DAGs folder."""
         path = pathlib.Path(self.fileloc)
         try:
-            return path.relative_to(settings.DAGS_FOLDER)
+            rel_path = path.relative_to(self.dag_processor_dags_folder or 
settings.DAGS_FOLDER)
+            if rel_path == pathlib.Path('.'):
+                return path
+            else:
+                return rel_path
         except ValueError:
             # Not relative to DAGS_FOLDER.
             return path
 
+    @property
+    def dag_processor_dags_folder(self):

Review Comment:
   > I see that name may be a little confusing, but --subdir just points to the 
dag folder - the value can be absolute path and two different processors may 
point ot complete different locations.
   
   what do you mean "just points to the dag folder"? i have looked at the code 
and it does not seem that there's any logic e.g. to make the subdir agree with 
configured dags folder.  e.g. setting subdir on dag processor command does not 
force dags_folder to agree.  so fundamentally, they are two different things 
right?  the dag processor can run without them agreeing, no?  
   
   if they are in completely different locations, i.e. not a "subdir" of the 
dags folder, then the concept of "relative location" of a dag file becomes kind 
of meaningless, and if you can't use relative loc, then the worker can't really 
rely on ser dag to know where a dag is located.
   
   



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