public JoinUtil.JoinResult doLookup(byte[] keyBytes, int keyOffset, int keyLength,
          BytesBytesMultiHashMap.Result bytesBytesMultiHashMapResult,
          VectorMapJoinHashTableResult hashTableResult, MatchTracker matchTracker) {

    hashTableResult.forget();

    JoinUtil.JoinResult joinResult =
            adapterDirectAccess.setDirect(keyBytes, keyOffset, keyLength,
                bytesBytesMultiHashMapResult, matchTracker);
    if (joinResult == JoinUtil.JoinResult.SPILL) {
      hashTableResult.setSpillPartitionId(adapterDirectAccess.directSpillPartitionId());
    }

    hashTableResult.setJoinResult(joinResult);

    return joinResult;
  }
Root interface for a vector map join hash table (which could be a hash map, hash multi-set, or
hash set).
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/optimized/VectorMapJoinOptimizedHashTable.java