IMPALA-2470: Enable quadratic probing on hash tables.
IMPALA-2470: Enable quadratic probing on hash tables.

This fixes a performance regression in TPCH Q13 that was caused by
secondary clustering in hash tables with linear probing. It can be
reproduced on my desktop machine by:

1. Create a parquet table with one int column and 13 million rows,
numbered sequentially starting from 0.

2. Run this query mmokhtar identified: "select count(distinct(i)) as
ndv from (select i from jbappletest.counter13 group by i) a"

The numbers I'm getting are:

165 seconds for 2.3 HEAD

82 seconds for removing CRC but keeping linear probing.

15 seconds for keeping CRC but switching to quadratic probing.

15 seconds for removing CRC and switching to quadratic probing.

In the long run, it may be worth considering changing the hash
function and switching to a different collision resolution strategy
like linear-probing or cuckoo hashing. See also IMPALA-2277:
Investigate alternative hash functions.

Change-Id: I7812e47834ffde6ffd77bce4b408851d21e9f6c7
Reviewed-on: http://gerrit.cloudera.org:8080/1158
Reviewed-by: Dan Hecht <20ebd99959f0f6e5dcb0fc319b4d8ef53a16b5fb@cloudera.com>
Tested-by: Internal Jenkins

cloudera/recordservice,cloudera/recordservice,cloudera/recordservice,cloudera/recordservice,cloudera/recordservice,cloudera/recordservice,cloudera/recordservice