Radeity commented on issue #11262:
URL: 
https://github.com/apache/dolphinscheduler/issues/11262#issuecomment-1256380005

   @rickchengx 
   
   Thanks for your detailed explanation.
   
   Compared with the tag way, aop can handle shell task, in addition, not 
invade into DS task definition code. Also, an additional jar package is 
required, you're right, however, this temporary appInfo log file is just for 
fetching applicationId in time, when the task is done, appId will be written 
into TaskExecutionContext as same as original way.
   
   Moreover, extra maintenance is only need when compute engines change their 
supported way to add configuration like java-opts or yarn client change its 
submit function which i really think not a big deal, cuz they have remained 
unchanged for many years. Think of, for example, Wechat pay has been used for 
many years and we can scan QR code to pay for something, it's already in widely 
use and will not suffer a sudden change. Anyway, i have to say, yarn client may 
update, new compute engine will come out,  but for this aop way in DS, the cost 
of potential maintenance is relatively smaller enough than other code part, 
such as generated command line to submit spark task.
   
   For the last point, i agree with you, stability is worth considering.  For 
smooth transmition, my opinion is to keep both original and new aop way, 
provide extra configuration for user to choose how to fetch applicationId. If 
the aop way is stable enough, we can then consider whether to complete replace 
the original way.
   
   What do you think of it? I'll be appreciated if you have any more elegant 
idea!


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