Add gutil to thirdparty

Change-Id: Ic7bf4c0faef6b11ef3a0cfff68af845127ff21e9
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1025
Reviewed-by: Henry Robinson <henry@cloudera.com>
Tested-by: Henry Robinson <henry@cloudera.com>
Bump version to 1.2.3-INTERNAL.

Change-Id: I2baf2aa41587ccf24331da7cba399cedb296a2e0
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1132
Reviewed-by: Lenni Kuff <lskuff@cloudera.com>
Tested-by: jenkins
Add Google-util library to the build

This patch incorporates the gutil library in thirdparty/gutil into the
build, and uses strings::Substitute in one place as a proof-of-concept.

Some other cleanups for $IMPALA_HOME/CMakeLists.txt are included.

Change-Id: I851bf6f130c2f4039f3df3c6d60f842a5661e5da
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1026
Reviewed-by: Henry Robinson <henry@cloudera.com>
Tested-by: jenkins
IMPALA-514: Add time-series for HDFS and HBase IO (bytes read)

Adds a time series for the existing scanner bytes read counter.

Change-Id: If67920e9af8becf91379bd22e20157fdf10da9d8
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1002
Tested-by: jenkins
Reviewed-by: Matthew Jacobs <mj@cloudera.com>
Tested-by: Matthew Jacobs <mj@cloudera.com>
Add -gdb flag to start-impalad.sh to start Impala under gdb

Change-Id: I19f027680cfbf6a7cbc4b311e07f244d67ff683d
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1125
Reviewed-by: Henry Robinson <henry@cloudera.com>
Tested-by: jenkins
Prevent hang in ThreadPool::DrainAndShutdown()

It was possible for WorkerThread() to call notify() between
DrainAndShutdown() checking its condition and calling wait(), causing
the notify to have no effect and DrainAndShutdown() to wait
forever. We saw this in thread-pool-test.

Change-Id: Id8917a14819b3bfe6b8c90d7a4ba5da6f8caa61e
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1134
Reviewed-by: Skye Wanderman-Milne <skye@cloudera.com>
Tested-by: jenkins
IMPALA-688: Fix column stats computation for HBase row key. Use regex to fix flaky tests.

Change-Id: I1d3fb915921bbc5366da0ee51608fd54aa237777
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1135
Tested-by: jenkins
Reviewed-by: Alex Behm <alex.behm@cloudera.com>
Execute HBase insert tests serially.

Change-Id: I7d218194d92da99753c1a521c12b3827261c1e86
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1137
Reviewed-by: Lenni Kuff <lskuff@cloudera.com>
Tested-by: jenkins
Cleanup: '_' suffix for member variables in package planner

Change-Id: Iaa126336c157be44bd0e92313ca1990844665b82
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1128
Reviewed-by: Marcel Kornacker <marcel@cloudera.com>
Tested-by: jenkins
IMPALA-114: Add support for custom date/time formats

This change set adds support for dealing with custom date/time formats in Impala.  The following date/time tokens are supported:

y – Year
M – Month
d – Day
H – Hour
m – Minute
s – second
S – Fractional second

The token names and usage have been modeled on the SimpleDateFormat class used in Java. This allows the use of repeating tokens to indicate zero padding for an output scenario (TS -> String) and a guide for reading data to a given length in a parsing scenario. Representing literals months is achieved by specifying three repeating tokens e.g. yyyy-MMM-dd -> 2013-Nov-21.

Formatting character groups can appear in any order along with any separators e.g.

yyyy/MM/dd
dd-MMM-yy
(dd)(MM)(yyyy)  HH:mm:sss
..etc..

The following features are not supported with this patch:

    - Long literal months e.g. MMMM
    - Nested strings e.g. “Year: “ yyyy “Month: “ mm “Day: “ dd
    - Lazy formatting

Change-Id: Ibba2eaed366fd736b921b31b8d0d517ac1248bca
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1001
Reviewed-by: Christopher Channing <cchanning@cloudera.com>
Tested-by: Christopher Channing <cchanning@cloudera.com>
cleanup: '_' suffix for packages analysis and common

Change-Id: I20bde73655de736d22bb82d5377ce52e8d9e95b4
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1138
Tested-by: jenkins
Reviewed-by: Marcel Kornacker <marcel@cloudera.com>
Address some simple TODOs.

Change-Id: I8e63f25d3540697a2516772b332a0751ec2f9f44
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1122
Reviewed-by: Nong Li <nong@cloudera.com>
Tested-by: jenkins
IMPALA-672: Add time-series for network IO

Change-Id: Ia20787fda7679e7dabcd8e08a1f88df5f6cb719d
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1054
Reviewed-by: Matthew Jacobs <mj@cloudera.com>
Tested-by: Matthew Jacobs <mj@cloudera.com>
Tested-by: jenkins
Make workload runner logging more concise and readable.

This patch makes the workload runner's logging concise and more informative. Specifically,
it
 - logs the time taken for each iteration of a query.
 - changes the default log level to INFO.
 - The output is less verbose.

Change-Id: I5f964cf76269fd64ce127b9e4c51fe1deafd1d1b
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1076
Reviewed-by: Ishaan Joshi <ishaan@cloudera.com>
Tested-by: Ishaan Joshi <ishaan@cloudera.com>
Remove nonblocking server (and dependencies) from build

Goodnight, sweet non-blocking prince. We didn't support, or test, this
configuration, and it doesn't work with security or sessions and brings
in some annoying dependencies that are a pain to build.

We have other RPC-stack options to investigate; we may wind up re-adding
the non-blocking server but only in a way that supports all required
features more regularly.

Change-Id: Ifbcabc5014441f6d31c342c4e288dd7fc6201443
IMPALA-640: ExecNodes should close their children as early as possible

We can close some nodes before the entire fragment is closed in order to
release resources that are no longer needed. However, we must be careful
and ensure that we do not close nodes if they own memory that is still
referenced. In order to ensure we acquire all resources that we need, we
will only call Close() on nodes for which we have consumed all of the
row batches and acquired their resources. There are a number of cases
where this is OK: blocking nodes that consume all input in Open(), the
right child of a BlockingJoinNode (which is fully consumed in Open()),
children of a MergeNode that are fully consumed (but not the child that
is still open if a LIMIT is reached).
Because some nodes will be closed early, the Close() method has been made
idempotent.

Change-Id: I4424fe07ab874342fb20390c70328c31238d27ed
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1020
Reviewed-by: Alex Behm <alex.behm@cloudera.com>
Tested-by: jenkins
Cleanup: '_' suffix for member variables in package catalog and service

Change-Id: I68723dca654c02b3f27bc7344f12918a21acc4ab
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1142
Reviewed-by: Lenni Kuff <lskuff@cloudera.com>
Tested-by: jenkins
Update buildall to not format by default, use positive logic for cmd line args

Generally you want to build everything and run the tests and you don't want to
format the metastore/hdfs. This changes the defaults to match the common case.
It also changes the cmd lines args so in more cases you can select what you want
rather than what you don't want.

Change-Id: I9ff01410e7994d636ac4eac53eb087b0b10bebfd
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1131
Reviewed-by: Lenni Kuff <lskuff@cloudera.com>
Tested-by: Lenni Kuff <lskuff@cloudera.com>
Remove benign log message regarding the presence/absence of the HBase Cell class.

Change-Id: I9d780356b219d00346542865dfb9f9563d030671
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1144
Reviewed-by: Marcel Kornacker <marcel@cloudera.com>
Tested-by: jenkins
Add common tasks to buildall help

Change-Id: I5a221e4f60113827eaad0826de4385e7dbd13cd9
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1146
Reviewed-by: Lenni Kuff <lskuff@cloudera.com>
Tested-by: Lenni Kuff <lskuff@cloudera.com>