Why does Gitlab on_failure only works if allow_failure is set to false?

,

Hi Team,
I’m trying to set up a GitLab Pipeline which has two stages A and B.

B should execute on_failure but whenever I set allow_failure: true for job A.
it doesn’t execute job B. If I set the allow_failure: false, then my job B gets executed.

Is it the default mechanism of GitLab?

Can anyone please help me with this?
Thanks.

Can you add more details about your usecase please ?

Why are you setting allow_failure: true ?