When we drag first source into a joiner, Integration services treat them as detail, later source when dragged into the joiner, it is treated as master, There is one more check may b we can consider.
Integration service can calculate the least number of records that should be in a master