Skip to content
Permalink
Branch: cdh5-2.7.0_5.1…
Commits on Jan 20, 2017
  1. IMPALA-4033: Treat string-partition key values as case sensitive.

    amosbird authored and Alexander Behm committed Dec 16, 2016
    This commit makes ADD PARTITION operations treat string partition-key
    values as case sensitive in consistent with other related partition DDL
    operations.
    
    Change-Id: I6fbe67d99df8a50a16a18456fde85d03d622c7a1
    Reviewed-on: http://gerrit.cloudera.org:8080/5535
    Reviewed-by: Alex Behm <alex.behm@cloudera.com>
    Tested-by: Internal Jenkins
    Reviewed-on: http://gerrit.sjc.cloudera.com:8080/19167
    Reviewed-by: Dimitris Tsirogiannis <dtsirogiannis@cloudera.com>
    Tested-by: Alexander Behm <alex.behm@cloudera.com>
Commits on Jan 19, 2017
  1. Revert "IMPALA-4172/IMPALA-3653: Improvements to block metadata loading"

    bharathv committed Jan 17, 2017
    This reverts commit 3b751a9.
    
    Change-Id: I50001976eae1cabdf7c325979485b8ebde5b4b48
    Reviewed-on: http://gerrit.sjc.cloudera.com:8080/19100
    Reviewed-by: Jim Apple <jbapple@cloudera.com>
    Reviewed-by: Alexander Behm <alex.behm@cloudera.com>
    Reviewed-by: Bharath Vissapragada <bharathv@cloudera.com>
    Tested-by: Bharath Vissapragada <bharathv@cloudera.com>
Commits on Jan 17, 2017
  1. IMPALA-4768: Improve logging of table loading.

    Alex Behm
    Alex Behm committed Jan 13, 2017
    - Improves the logging for several important events,
      in particular, during table loading.
    - Uses LOG.info() for such messages to clarify their
      intent.
    
    The goal is to improve supportability without having
    to turn on trace debugging which can generate a
    significant log volume.
    
    Change-Id: I8de96d0cb6d09b2272b1925d42cb059367fe7196
    Reviewed-on: http://gerrit.sjc.cloudera.com:8080/18997
    Reviewed-by: Alexander Behm <alex.behm@cloudera.com>
    Tested-by: Alexander Behm <alex.behm@cloudera.com>
Commits on Jan 16, 2017
  1. IMPALA-4765: Avoid using several loading threads on one table.

    Alex Behm
    Alex Behm committed Jan 13, 2017
    When there are multiple concurrent requests to the catalogd to
    prioritize loading the same table, then several catalog loading
    threads may end up waiting for that single table to be loaded,
    effectively reducing the number of catalog loading threads. In
    extreme examples, this might degrade to serial loading of tables.
    
    This patch augments the existing data structures and code to
    prevent using several loading threads for the same table.
    Some of the existing data structures and code could be
    consolidated/simplified but this patch does not try to address
    that issue to minimize the risk of this change.
    
    Testing: I could easily reproduce the bug locally with the steps
    described in the JIRA. After this patch, I could not observe threads
    being wasted anymore.
    
    Change-Id: Idba5f1808e0b9cbbcf46245834d8ad38d01231cb
    Reviewed-on: http://gerrit.cloudera.org:8080/5707
    Reviewed-by: Alex Behm <alex.behm@cloudera.com>
    Tested-by: Impala Public Jenkins
    Reviewed-on: http://gerrit.sjc.cloudera.com:8080/18975
    Reviewed-by: Silvius Rus <srus@cloudera.com>
    Tested-by: Alexander Behm <alex.behm@cloudera.com>
Commits on Jan 12, 2017
  1. IMPALA-4739: ExprRewriter fails on HAVING clauses

    Marcel Kornacker Harrison Sheinblatt
    Marcel Kornacker authored and Harrison Sheinblatt committed Jan 10, 2017
    The bug was that expr rewrite rules such as ExtractCommonConjunctRule
    analyzed their own output, which doesn't work for syntactic elements
    that allow column aliases, such as the HAVING clause.
    The fix was to remove the analysis step (the re-analysis happens anyway
    in AnalysisCtx).
    
    Change-Id: Ife74c61f549f620c42f74928f6474e8a5a7b7f00
    Reviewed-on: http://gerrit.cloudera.org:8080/5662
    Reviewed-by: Marcel Kornacker <marcel@cloudera.com>
    Tested-by: Impala Public Jenkins
Commits on Jan 10, 2017
  1. IMPALA-4751: Remove blank line from raw_text template

    lekv authored and Harrison Sheinblatt committed Jan 10, 2017
    The additional blank line can break tooling which uses the
    /query_profile_encoded endpoint and has been erroneously introduced in
    the fix for IMPALA-3918.
    
    Change-Id: I9b688aa9e2423b0271c8891a983e5b22707d8dbc
    Reviewed-on: http://gerrit.cloudera.org:8080/5664
    Reviewed-by: Jim Apple <jbapple-impala@apache.org>
    Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
    Tested-by: Impala Public Jenkins
Commits on Dec 28, 2016
  1. Bump Kudu version to latest 5.10.0 build

    timarmstrong committed Dec 28, 2016
    Kudu tag is kudu5.10.0-rc4
    
    Change-Id: Ia67082421b0dfb09f9b115af60789ca67bd85197
    Reviewed-on: http://gerrit.sjc.cloudera.com:8080/18605
    Reviewed-by: Silvius Rus <srus@cloudera.com>
    Tested-by: Tim Armstrong <tarmstrong@cloudera.com>
Commits on Dec 21, 2016
  1. IMPALA-4654: KuduScanner must return when ReachedLimit()

    Matthew Jacobs Harrison Sheinblatt
    Matthew Jacobs authored and Harrison Sheinblatt committed Dec 13, 2016
    Fixes a bug in the KuduScanner where the scan node's limit
    was not respected and thus the scanner thread would
    continue executing until the scan range was fully consumed.
    This could result in completed queries leaving fragments
    running and those threads could be using significant CPU and
    memory.
    
    For example, the query 'select * from tpch_kudu.lineitem
    limit 90' when running in the minicluster and lineitem is
    partitioned into 3 hash partitions would end up leaving a
    scanner thread running for ~60 seconds. In real world
    scenarios this can cause unexpected resource consumption.
    This could build up over time leading to query failures if
    these queries are submitted frequently.
    
    The fix is to ensure KuduScanner::GetNext() returns with
    eos=true when it finds ReachedLimit=true. An unnecessary and
    somewhat confusing flag 'batch_done' was being returned by a
    helper function DecodeRowsIntoRowBatch, which isn't
    necessary and was removed in order to make it more clear how
    the code in GetNext() should behave.
    
    Change-Id: Iaddd51111a1b2647995d68e6d37d0500b3a322de
    Reviewed-on: http://gerrit.cloudera.org:8080/5493
    Reviewed-by: Alex Behm <alex.behm@cloudera.com>
    Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
    Reviewed-by: Dan Hecht <dhecht@cloudera.com>
    Tested-by: Internal Jenkins
Commits on Dec 20, 2016
  1. IMPALA-4636: Correct Suse Linux distro string

    dknupp authored and Harrison Sheinblatt committed Dec 15, 2016
    The string should be suselinux12, not sles12.
    
    I tested this by sourcing the config script on a SLES12 SP1 instance.
    Before the change, KUDU_IS_SUPPORTED == false. With the change, the
    value is set to true.
    
    Change-Id: I28897eb4e0bbac77e1e542c3db4834a987348f7a
    Reviewed-on: http://gerrit.cloudera.org:8080/5519
    Reviewed-by: Jim Apple <jbapple-impala@apache.org>
    Reviewed-by: Michael Brown <mikeb@cloudera.com>
    Tested-by: Impala Public Jenkins
Commits on Dec 16, 2016
  1. Bump Kudu version for latest cdh5-1.2.0_5.10.0 build

    Matthew Jacobs authored and dhecht committed Dec 15, 2016
    Kudu release branch tag kudu5.10.0-rc3-p1
    
    Change-Id: I0b591450b86e2fa2766fcd458768c6d1f7ac2498
    Reviewed-on: http://gerrit.sjc.cloudera.com:8080/18390
    Reviewed-by: Daniel Hecht <dhecht@cloudera.com>
    Tested-by: Matthew Jacobs <mj@cloudera.com>
Commits on Dec 15, 2016
  1. IMPALA-4633: Change broken gflag default for Kudu client mem

    Matthew Jacobs Harrison Sheinblatt
    Matthew Jacobs authored and Harrison Sheinblatt committed Dec 9, 2016
    We discovered that the current Kudu client defaults in the
    KuduTableSink are causing a large number of queries to
    timeout, failing the query. The current default value of the
    'mutation buffer size' is 100MB which results in higher
    write throughput than Kudu can currently handle on large
    clusters.  By decreasing the value of this flag, more RPCs
    will be sent for the same amount of data, i.e. throttling
    the load on Kudu. We found tests to be more successful on
    200 nodes with a 10MB buffer size than the previous 100MB
    value where most queries couldn't complete due to timeouts.
    These queries were not timing out with the 10MB value. This
    appears to work well on 9 node stress tests as well.
    
    Change-Id: I0b3544f9a93c82e347f6e97540d6b561c30d09fd
    Reviewed-on: http://gerrit.cloudera.org:8080/5503
    Reviewed-by: Dan Hecht <dhecht@cloudera.com>
    Tested-by: Internal Jenkins
  2. Update thirdparty dependencies

    Jenkins
    Jenkins committed Dec 15, 2016
  3. IMPALA-4659: fuzz test fixes

    timarmstrong authored and Harrison Sheinblatt committed Dec 14, 2016
    * Apply a 512m mem_limit to all fuzz tests. This limits aggregate memory
      consumption to ~5GB per daemon(assuming 10 concurrent tests).
    * Refactor the exec option handling to use the exec_option dimension.
      This avoids executing the test multiple times redundantly
    * Remove the xfails to reduce noise, since there is no immediate plan to
      fix the product bugs. Instead just pass the tests.
    
    Testing:
    Ran in a loop for ~1h to flush out flakiness.
    
    Change-Id: Ie1942ceef252ec3e6171a0a54722b66a7d9abbd7
    Reviewed-on: http://gerrit.cloudera.org:8080/5502
    Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
    Tested-by: Impala Public Jenkins
Commits on Dec 14, 2016
  1. Bump Kudu version for cdh5-1.2.0_5.10.0-rc2

    Matthew Jacobs Harrison Sheinblatt
    Matthew Jacobs authored and Harrison Sheinblatt committed Dec 10, 2016
    Change-Id: Iefd28dcf44822aee3b80d4c0b514c8a2f27ac0f9
    Reviewed-on: http://gerrit.sjc.cloudera.com:8080/18281
    Reviewed-by: Harrison Sheinblatt <hsheinblatt@cloudera.com>
    Tested-by: Matthew Jacobs <mj@cloudera.com>
  2. Update thirdparty dependencies

    Jenkins
    Jenkins committed Dec 14, 2016
Commits on Dec 13, 2016
  1. IMPALA-4636: Add support for SLES12 for Kudu integration

    Matthew Jacobs Harrison Sheinblatt
    Matthew Jacobs authored and Harrison Sheinblatt committed Dec 10, 2016
    Enables SLES12 support for Kudu. Assumes that the toolchain
    Kudu contains a SLES12 build.
    
    Change-Id: I2ae6da393df8bf6658a7dbf4def7d403cdc83397
    Reviewed-on: http://gerrit.cloudera.org:8080/5463
    Reviewed-by: Matthew Jacobs <mj@cloudera.com>
    Tested-by: Internal Jenkins
  2. IMPALA-4642: Fix TestFragmentLifecycle failures; kudu test must wait

    Matthew Jacobs Harrison Sheinblatt
    Matthew Jacobs authored and Harrison Sheinblatt committed Dec 12, 2016
    Fixes test failures in TestFragmentLifecycle when it runs
    after TestKuduMemLimits which takes some time for all
    fragments to finish closing, even though the query is
    finished. TestFragmentLifecycle checks that there are no
    fragments in flight. For now, this fixes the tests by
    forcing TestKuduMemLimits to wait for all 'in flight'
    fragments to complete before continuing. We still need to
    understand why the KuduScanNode/KuduScanner is taking so
    long to Close() (see IMPALA-4654).
    
    Change-Id: Ia655a37ff06e92cc55ba05f01d5e94fe39447c65
    Reviewed-on: http://gerrit.cloudera.org:8080/5481
    Reviewed-by: Sailesh Mukil <sailesh@cloudera.com>
    Reviewed-by: Henry Robinson <henry@cloudera.com>
    Tested-by: Internal Jenkins
Commits on Dec 12, 2016
  1. IMPALA-4638: Run queries with MT_DOP through admission control.

    Alex Behm Harrison Sheinblatt
    Alex Behm authored and Harrison Sheinblatt committed Dec 9, 2016
    The bug was a simple oversight: A TODO that was not addressed.
    
    Testing: I examined query profiles before and after this
    change with and without MT_DOP set. After this patch all
    queries (with and without MT_DOP) go through admission control.
    
    Change-Id: I3e05697a59e14617fb6a13ce8e0410820823fd3a
    Reviewed-on: http://gerrit.cloudera.org:8080/5447
    Reviewed-by: Alex Behm <alex.behm@cloudera.com>
    Tested-by: Internal Jenkins
Commits on Dec 10, 2016
  1. Update thirdparty dependencies

    Jenkins
    Jenkins committed Dec 10, 2016
  2. IMPALA-4403: Implement SHOW RANGE PARTITIONS for Kudu tables

    lekv authored and Harrison Sheinblatt committed Dec 6, 2016
    Change-Id: Idf5b2fdd02938a42fa59ec98884e4ac915dd1f65
    Reviewed-on: http://gerrit.cloudera.org:8080/5390
    Reviewed-by: Lars Volker <lv@cloudera.com>
    Reviewed-by: Matthew Jacobs <mj@cloudera.com>
    Tested-by: Internal Jenkins
  3. IMPALA-4566: Kudu client glog contention can cause timeouts

    twmarshall authored and Harrison Sheinblatt committed Dec 2, 2016
    Under stressful workloads, there appears to be significant contention
    in glog resulting from Kudu logging, causing timeouts and failed
    queries.
    
    An easy solution for now is to downgrade Kudu WARNINGs to INFOs as
    WARNINGs grab a lock to flush the log. This is appropriate as Kudu
    logs WARNINGs much more frequently than Impala and for things that
    Impala would normally consider INFO-level.
    
    Testing: Manually verified that the patch redirects Kudu WARNINGs
    to the INFO log. Not tested under stress to verify if this actually
    solves the contention problem.
    
    Change-Id: Ie535d89ec2525232d4f6a29dd44f51cd6e18a0d2
    Reviewed-on: http://gerrit.cloudera.org:8080/5334
    Reviewed-by: Matthew Jacobs <mj@cloudera.com>
    Tested-by: Internal Jenkins
  4. IMPALA-2057: Better error message for incorrect avro decimal column

    anujphadke authored and Harrison Sheinblatt committed Nov 29, 2016
    declaration
    
    Adding a better error message when logical type is specified at a wrong
    level or is not not specified in an avro decimal column declaration.
    
    Change-Id: Iad23706128223b6537d565471ef5d8faa91b0b5a
    Reviewed-on: http://gerrit.cloudera.org:8080/5255
    Reviewed-by: Bharath Vissapragada <bharathv@cloudera.com>
    Tested-by: Internal Jenkins
  5. Bump Kudu server version to latest master (a70c905006)

    lekv authored and Harrison Sheinblatt committed Dec 8, 2016
    This also re-enabled kudu_alter.test, which was disabled in IMPALA-4628.
    
    Change-Id: Ie5acdeffea7ed9a68ce0f48d1f68c6c922044704
    Reviewed-on: http://gerrit.cloudera.org:8080/5427
    Reviewed-by: Matthew Jacobs <mj@cloudera.com>
    Tested-by: Internal Jenkins
  6. IMPALA-4630: remove debug webpage easter egg

    timarmstrong authored and Harrison Sheinblatt committed Dec 8, 2016
    Change-Id: Ic2b1eb876dcec71a56bf76ea5f045818c6cd9a78
    Reviewed-on: http://gerrit.cloudera.org:8080/5429
    Tested-by: Impala Public Jenkins
    Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
  7. IMPALA-4609: prefix thread counters in fragment profile

    timarmstrong authored and Harrison Sheinblatt committed Dec 7, 2016
    This adds a prefix to the counter names so that it's more obvious that
    the thread counters are aggregates across all fragment threads.
    
    Example output for "select * from tpch_parquet.lineitem where l_orderkey < 0":
    
     Averaged Fragment F00:(Total: 102.949ms, non-child: 0.000ns, % non-child: 0.00%)
          split sizes:  min: 55.70 MB, max: 69.10 MB, avg: 64.54 MB, stddev: 6.25 MB
          completion times: min:4s629ms  max:5s542ms  mean: 5s197ms  stddev:404.911ms
          execution rates: min:12.03 MB/sec  max:12.69 MB/sec  mean:12.40 MB/sec  stddev:281.88 KB/sec
          num instances: 3
           - AverageThreadTokens: 2.00
           - BloomFilterBytes: 0
           - PeakMemoryUsage: 88.46 MB (92753209)
           - PerHostPeakMemUsage: 88.46 MB (92755940)
           - RowsProduced: 0 (0)
           - TotalNetworkReceiveTime: 0.000ns
           - TotalNetworkSendTime: 307.000ns
           - TotalStorageWaitTime: 414.738ms
           - TotalThreadsInvoluntaryContextSwitches: 62 (62)
           - TotalThreadsTotalWallClockTime: 10s228ms
             - TotalThreadsSysTime: 118.666ms
             - TotalThreadsUserTime: 4s630ms
           - TotalThreadsVoluntaryContextSwitches: 174 (174)
    
    Change-Id: Icb8cfbddc758d06b25a14343310bfd9a932ad1f0
    Reviewed-on: http://gerrit.cloudera.org:8080/5392
    Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
    Tested-by: Impala Public Jenkins
  8. IMPALA-3126: Conservative assignment of inner-join On-clause predicates.

    Alex Behm Harrison Sheinblatt
    Alex Behm authored and Harrison Sheinblatt committed Nov 7, 2016
    Implements the following conservative but correct policy for assigning
    predicates from the On-clause of an inner join:
    If the predicate references an outer-joined tuple, then evaluate it at
    the inner join that the On-clause belongs to.
    
    Cleans up Analyzer.canEvalPredicate().
    
    Change-Id: Idf45323ed9102ffb45c9d94a130ea3692286f215
    Reviewed-on: http://gerrit.cloudera.org:8080/4982
    Reviewed-by: Alex Behm <alex.behm@cloudera.com>
    Tested-by: Internal Jenkins
Commits on Dec 9, 2016
  1. Update thirdparty dependencies

    Jenkins
    Jenkins committed Dec 9, 2016
  2. IMPALA-4608: Fix fragment completion times for INSERTs

    Henry Robinson Harrison Sheinblatt
    Henry Robinson authored and Harrison Sheinblatt committed Dec 6, 2016
    Fix a bug where completion times weren't computed if the query was an
    INSERT, because the code presumed that instance 0 was always the
    coordinator fragment and skipped completion time computation.
    
    It may be that the special-casing can be removed entirely, but needs
    further investigation to make sure that wouldn't trigger any div-by-0 bugs.
    
    Change-Id: I3ce56f70d30c9e398b14b32520c815d87f81f893
    Reviewed-on: http://gerrit.cloudera.org:8080/5418
    Reviewed-by: Henry Robinson <henry@cloudera.com>
    Tested-by: Impala Public Jenkins
  3. IMPALA-4628: Disable broken kudu test to unblock GVOs

    lekv authored and Harrison Sheinblatt committed Dec 8, 2016
    Change-Id: I30d45acb26eb3e709a1994a89e8444ca9530d8cc
    Reviewed-on: http://gerrit.cloudera.org:8080/5428
    Reviewed-by: Alex Behm <alex.behm@cloudera.com>
    Tested-by: Alex Behm <alex.behm@cloudera.com>
  4. IMPALA-4594: WriteSlot and CodegenWriteSlot handle escaped NULL slots…

    smukil authored and Harrison Sheinblatt committed Dec 6, 2016
    … differently
    
    CodegenWriteSlot() receives negative length values for the lengths of
    the slots passed to it if the slots contain escape characters. (This
    is currently only for non-string types, as we do not codegen string
    types with escaped characters). The DelimitedTextParser is responsible
    for identifying escape characters and assigning the negative lengths
    appropriately. CodegenWriteCompleteTuple() passes this length to
    CodegenWriteSlot() as it is. This differs from the behavior of
    WriteSlot() where the length passed to it is always positive, as all
    the callers of WriteSlot() make sure of that (including
    WriteCompleteTuple()).
    
    The IrIsNullString() and IrGenericIsNullString() functions are
    responsibe for checking if the given data contains a NULL pattern.
    They are called by CodegenWriteSlot(). A NULL pattern usually contains
    an escaped character which means that the length of that slot will be
    a negative length. However, the IrIsNullString() and
    IrGenericIsNullString() that take the same length argument from
    CodegenWriteSlot() always expect a positive length argument. So, no
    slots were ever marked as NULL by these NULL-checking functions when
    codegen was enabled.
    
    NULL slots were still detected accidentally because of some incorrect
    code in CodegenWriteSlot() that marked invalid slots and NULL slots as
    NULL. Therefore, due to this code, even invalid slots were not marked
    as invalid and did not return an error. Instead they were just
    sliently marked as NULL.
    
    This patch makes sure that only positive lengths are passed to
    CodegenWriteSlot() so that NULL checking is correct and it also
    makes sure that invalid slots are not silently marked as NULL.
    
    Testing: Re-enabled an older hdfs-scan-node-errors test. Formatted
    it to fit new error message format after IMPALA-3859 and IMPALA-3895.
    
    Change-Id: I858e427ad7c2b2da8c2bb657be06b7443655781f
    Reviewed-on: http://gerrit.cloudera.org:8080/5377
    Reviewed-by: Sailesh Mukil <sailesh@cloudera.com>
    Tested-by: Internal Jenkins
  5. IMPALA-4586: don't constant fold in backend

    timarmstrong authored and Harrison Sheinblatt committed Dec 6, 2016
    This patch ensures that setting the query option
    enable_expr_rewrites=false will disable both constant folding in the
    frontend (which it did already) and constant caching in the backend
    (which is enabled in this patch). This gives a way for users to revert
    to the old behaviour of non-deterministic UDFs before these
    optimisations were added in Impala 2.8.
    
    Before this patch, the backend would cache values based on IsConstant().
    This meant that there was no way to override caching of values of
    non-deterministic UDFs, e.g. with enable_expr_rewrites.
    
    After this patch, we only cache literal values in the backend. This
    offers the same performance as before in the common case where the
    frontend will constant fold the expressions anyway.
    
    Also rename some functions to more cleanly separate the backend concepts
    of "constant" expressions and expressions that can be evaluated without
    a TupleRow. In a future change (IMPALA-4617) we should remove the
    IsConstant() analysis logic from the backend entirely and pass the
    information from the frontend. We should also fix isConstant() in the
    frontend so that it only returns true when it is safe to constant-fold
    the expression (IMPALA-4606). Once that is done, we could revert back
    to using IsConstant() instead of IsLiteral().
    
    Testing:
    Added targeted test to test constant folding of UDFs: we expect
    different results depending on whether constant folding is enabled.
    
    Also run TestUdfs with expr rewrites enabled and disabled, since this
    can exercise different code paths. Refactored test_udfs somewhat to
    avoid running uninteresting combinations of query options for
    targeted tests and removed some 'drop * if not exists' statements
    that aren't necessary when using unique_database.
    
    This change revealed flakiness in test_mem_limit, which seems
    to have only worked by coincidence. Updated TrackAllocation() to
    actually set the query status when a memory limit is exceeded.
    Looped this test for a while to make sure it isn't flaky any
    more.
    
    Also fix other test bugs where the vector argument is modified
    in-place, which can leak out to other tests.
    
    Change-Id: I0c76e3c8a8d92749256c312080ecd7aac5d99ce7
    Reviewed-on: http://gerrit.cloudera.org:8080/5391
    Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
    Tested-by: Impala Public Jenkins
  6. IMPALA-4619: Allow NULL as default value in Kudu tables

    dtsirogiannis authored and Harrison Sheinblatt committed Dec 7, 2016
    This commit fixes an issue where an error is thrown if the default value
    for a Kudu column is set to NULL.
    
    Change-Id: Ida27ce56f1dd7603485a69c680db3bcea6702aff
    Reviewed-on: http://gerrit.cloudera.org:8080/5405
    Reviewed-by: Dimitris Tsirogiannis <dtsirogiannis@cloudera.com>
    Tested-by: Internal Jenkins
  7. IMPALA-4539: fix bug when scratch batch references I/O buffers

    timarmstrong authored and Harrison Sheinblatt committed Dec 7, 2016
    The bug occurs when scanning uncompressed plain-encoded Parquet
    string data.
    
    Testing:
    I could manually reproduce it reliably with ASAN and
    --disable_mem_pools=true using the following steps:
    
      # The repro is more predictable when there is no row batch queue.
      set mt_dop=1;
      # A unique string column should switch to plain encoding
      set compression_codec=none;
      create table big_uuids stored as parquet as select uuid() from tpch_20_parquet.lineitem;
      # The repro requires that some rows are filtered out, so that we end
      # up in a state where the output batch is full before all rows are
      # copied from the scratch batch
      select ndv(_c0) from big_uuids where substring(_c0, 1, 2) != 'a1' limit 10;
    
    After the fix it no longer reproduces.
    
    I do not yet have a practical test case that triggers the bug on a
    normal ASAN setup. I will continue to try to create one.
    
    Change-Id: Ic27e7251e0f633cb694b506f6eb62beed6e66ad9
    Reviewed-on: http://gerrit.cloudera.org:8080/5406
    Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
    Tested-by: Impala Public Jenkins
  8. IMPALA-4614: Set eval cost of timestamp literals.

    Alex Behm Harrison Sheinblatt
    Alex Behm authored and Harrison Sheinblatt committed Dec 7, 2016
    The main issue was that the eval cost was not set for
    timestamp literals, so a preconditions check was hit
    when trying to order a list of conjuncts by cost.
    
    Another subtle issue made the bug only reproducible by
    a specific query against a Kudu table in our tests,
    although the bug is not Kudu specific: The eval cost
    of Exprs was not recomputed in analyze(), even after
    resetting an Expr, e.g., during a substitution. As a
    result, the bug was only reproducible for a list
    of conjuncts that contained an inferred predicate
    with a timestamp literal.
    This patch does not contain a fix for that issue due
    to its complexity/risk. It is tracked in IMPALA-4620.
    
    Testing: Ran planner tests locally. Ran query_test.py
    locally. A private core/hdfs run passed.
    
    Change-Id: Ife30420bafbd1c64a5e3385e5755909110b4b354
    Reviewed-on: http://gerrit.cloudera.org:8080/5404
    Reviewed-by: Alex Behm <alex.behm@cloudera.com>
    Tested-by: Impala Public Jenkins
  9. IMPALA-3788: Fix Kudu ReadMode flag checking

    Matthew Jacobs Harrison Sheinblatt
    Matthew Jacobs authored and Harrison Sheinblatt committed Dec 7, 2016
    Commit 0d4bdc1 to add flag --kudu_read_mode wasn't checking
    the value properly; so the behavior was reversed. This
    became apparent immediately in stress testing, though there
    isn't a good way to validate this in EE or unit tests. I
    added some logging which I used to verify the correct
    behavior manually in the minicluster.
    
    Change-Id: I843842560844732505af53ea360a3a9ccbab04a9
    Reviewed-on: http://gerrit.cloudera.org:8080/5402
    Reviewed-by: Matthew Jacobs <mj@cloudera.com>
    Tested-by: Internal Jenkins
Older
You can’t perform that action at this time.