md.reset();
md.update(buf, setOffset, setLen);
md.update(buf, keyOffset, keyLen);
byte[] digest = md.digest();
long partitionId = CLBuffer.get_ntohl_intel(digest, 0);
// Can't use mod directly - mod will give negative numbers. First
// bitwise-and determines positive/negative correctly, then mod.
partitionId = (partitionId & 0xFFFF) %