Hanging conversion profile job in batch

i am having issue with conversion profile batch process, Even after all flavors are in ready status the conversion profile batch job status is almost done.
Here is the detail what i am doing, i have created a conversion profile which only has source flavor in it. when i create entry i use that transcoding profile and i upload the source flavor from url. when i make api call to add flavor it creates a import batch job when import is finished it creates conversion profile batch job (this conversion profile does not any flavor other than source), then this batch creates another child process called extract media when extract media job is finished it creates another child process storage export (i am using s3 storage to store). when storage is finished it sets flavor status ready and media gets exported to s3 correctly, i can play video and everything seems fine, but if i look at in-progress tasks in admin console i can see lots of hanging conversion profile jobs with status almost done.

shouldn’t the storage export job close root job once its finished?

Any errors in the batch log?

no there is not any error in batch logs.
Looks like if you upload other flavour before storage export job is finished for source flavour from url which does not belong to that conversion profile then it can not close the root job. i looked at this function kBusinessPostConvertDL::handleConvertFinished which gets triggered by kflowmanager when export job is finished it tries to look in to sibling flavours for the profile, since in my case sibling flavours does not belong to conversion profile getReadyBehavior function returns flavorParamsConversionProfile::READY_BEHAVIOR_NO_IMPACT value but in condition it looks for flavorParamsConversionProfile::READY_BEHAVIOR_IGNORE value to ignore the flavour. And there are sibling flavours which are not ready it does not close the root job and there is no other function that can close convert profile job it keeps hanging in batch at almost done status.

As solution now i will try to return flavorParamsConversionProfile::READY_BEHAVIOR_IGNORE from getReadyBehavior function if the flavour_params_output does not have any value for that flavour and the flavour does not belong to the profile.
i will update if this works.