* Left semi join means that the left side is the FROM side table, and the right side is the IN side table.
*/
private PhysicalExec createRightSemiJoinPlan(TaskAttemptContext context, JoinNode plan,
PhysicalExec leftExec, PhysicalExec rightExec) throws IOException {
Enforcer enforcer = context.getEnforcer();
EnforceProperty property = getAlgorithmEnforceProperty(enforcer, plan);
if (property != null) {
JoinAlgorithm algorithm = property.getJoin().getAlgorithm();
switch (algorithm) {
case IN_MEMORY_HASH_JOIN:
LOG.info("Left Semi Join (" + plan.getPID() +") chooses [In Memory Hash Join].");
return new HashLeftSemiJoinExec(context, plan, rightExec, leftExec);