def add_test_dimensions(cls):
   super(TestSpillingNoDebugActionDimensions, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.clear_constraints()
   cls.ImpalaTestMatrix.add_dimension(create_parquet_dimension('tpch'))
   # Tests are calibrated so that they can execute and spill with this page size.
   cls.ImpalaTestMatrix.add_dimension(
       create_exec_option_dimension_from_dict({'default_spillable_buffer_size' : ['256k']}))
Exemple #2
0
 def add_test_dimensions(cls):
     super(TestSpillingDebugActionDimensions, cls).add_test_dimensions()
     cls.ImpalaTestMatrix.clear_constraints()
     cls.ImpalaTestMatrix.add_dimension(create_parquet_dimension('tpch'))
     debug_action_dims = CORE_DEBUG_ACTION_DIMS
     if cls.exploration_strategy() == 'exhaustive':
         debug_action_dims = CORE_DEBUG_ACTION_DIMS + EXHAUSTIVE_DEBUG_ACTION_DIMS
     # Tests are calibrated so that they can execute and spill with this page size.
     cls.ImpalaTestMatrix.add_dimension(
         create_exec_option_dimension_from_dict({
             'default_spillable_buffer_size': ['256k'],
             'debug_action':
             debug_action_dims,
             'mt_dop': [0, 1]
         }))
     # Pare down the combinations of mt_dop and debug_action that run to reduce test time.
     # The MT code path for joins is more complex, so focus testing there.
     if cls.exploration_strategy() == 'exhaustive':
         debug_action_dims = CORE_DEBUG_ACTION_DIMS + EXHAUSTIVE_DEBUG_ACTION_DIMS
         cls.ImpalaTestMatrix.add_constraint(lambda v: v.get_value(
             'exec_option')['mt_dop'] == 1 or v.get_value('exec_option')[
                 'debug_action'] in CORE_DEBUG_ACTION_DIMS)
     elif cls.exploration_strategy() == 'core':
         cls.ImpalaTestMatrix.add_constraint(
             lambda v: v.get_value('exec_option')['mt_dop'] == 1 or v.
             get_value('exec_option')['debug_action'] is None)
 def add_test_dimensions(cls):
   super(TestSpillingNoDebugActionDimensions, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.clear_constraints()
   cls.ImpalaTestMatrix.add_dimension(create_parquet_dimension('tpch'))
   # Tests are calibrated so that they can execute and spill with this page size.
   cls.ImpalaTestMatrix.add_dimension(
       create_exec_option_dimension_from_dict({'default_spillable_buffer_size' : ['256k']}))
Exemple #4
0
 def add_test_dimensions(cls):
   super(TestUdfExecution, cls).add_test_dimensions()
   cls.TestMatrix.add_dimension(
       create_exec_option_dimension_from_dict({"disable_codegen" : [False, True],
         "exec_single_node_rows_threshold" : [0,100],
         "enable_expr_rewrites" : [False, True]}))
   # There is no reason to run these tests using all dimensions.
   cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
Exemple #5
0
 def add_test_dimensions(cls):
   super(TestCodegen, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.add_dimension(create_exec_option_dimension_from_dict({
       'exec_single_node_rows_threshold' : [0]}))
   # No need to run this on all file formats. Run it on text/none, which has stats
   # computed.
   cls.ImpalaTestMatrix.add_constraint(
             lambda v: v.get_value('table_format').file_format == 'text' and
                       v.get_value('table_format').compression_codec == 'none')
 def add_test_dimensions(cls):
   cls.ImpalaTestMatrix = ImpalaTestMatrix()
   cls.ImpalaTestMatrix.add_dimension(ImpalaTestDimension('decimal_type',
       *TestDecimalCasting.DECIMAL_TYPES_MAP[cls.exploration_strategy()]))
   cls.ImpalaTestMatrix.add_dimension(
       ImpalaTestDimension('cast_from', *TestDecimalCasting.CAST_FROM))
   cls.ImpalaTestMatrix.add_dimension(create_exec_option_dimension_from_dict(
       {'decimal_v2': ['false','true']}))
   cls.iterations = 1
Exemple #7
0
 def add_test_dimensions(cls):
     super(TestPartitionKeyScans, cls).add_test_dimensions()
     cls.ImpalaTestMatrix.add_constraint(lambda v: v.get_value(
         'table_format').file_format not in ('kudu', 'hbase'))
     cls.ImpalaTestMatrix.add_dimension(
         create_exec_option_dimension_from_dict({
             'mt_dop': [0, 1],
             'exec_single_node_rows_threshold': [0]
         }))
 def add_test_dimensions(cls):
   super(TestCodegen, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.add_dimension(create_exec_option_dimension_from_dict({
       'exec_single_node_rows_threshold' : [0]}))
   # No need to run this on all file formats. Run it on text/none, which has stats
   # computed.
   cls.ImpalaTestMatrix.add_constraint(
             lambda v: v.get_value('table_format').file_format == 'text' and
                       v.get_value('table_format').compression_codec == 'none')
 def add_test_dimensions(cls):
     super(TestNestedTArraysInSelectList, cls).add_test_dimensions()
     cls.ImpalaTestMatrix.add_constraint(lambda v: v.get_value(
         'table_format').file_format in ['parquet', 'orc'])
     cls.ImpalaTestMatrix.add_dimension(ImpalaTestDimension('mt_dop', 0, 2))
     cls.ImpalaTestMatrix.add_dimension(
         create_exec_option_dimension_from_dict(
             {'disable_codegen': ['False', 'True']}))
     cls.ImpalaTestMatrix.add_dimension(create_client_protocol_dimension())
 def add_test_dimensions(cls):
   super(TestSpillingDebugActionDimensions, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.clear_constraints()
   cls.ImpalaTestMatrix.add_dimension(create_parquet_dimension('tpch'))
   debug_action_dims = CORE_DEBUG_ACTION_DIMS
   if cls.exploration_strategy() == 'exhaustive':
     debug_action_dims = CORE_DEBUG_ACTION_DIMS + EXHAUSTIVE_DEBUG_ACTION_DIMS
   # Tests are calibrated so that they can execute and spill with this page size.
   cls.ImpalaTestMatrix.add_dimension(
       create_exec_option_dimension_from_dict({'default_spillable_buffer_size' : ['256k'],
         'debug_action' : debug_action_dims}))
Exemple #11
0
 def add_test_dimensions(cls):
   super(TestSpillingDebugActionDimensions, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.clear_constraints()
   cls.ImpalaTestMatrix.add_dimension(create_parquet_dimension('tpch'))
   debug_action_dims = CORE_DEBUG_ACTION_DIMS
   if cls.exploration_strategy() == 'exhaustive':
     debug_action_dims = CORE_DEBUG_ACTION_DIMS + EXHAUSTIVE_DEBUG_ACTION_DIMS
   # Tests are calibrated so that they can execute and spill with this page size.
   cls.ImpalaTestMatrix.add_dimension(
       create_exec_option_dimension_from_dict({'default_spillable_buffer_size' : ['256k'],
         'debug_action' : debug_action_dims}))
 def add_test_dimensions(cls):
   super(TestScannersFuzzing, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.add_dimension(
       create_exec_option_dimension_from_dict({
         'abort_on_error' : cls.ABORT_ON_ERROR_VALUES,
         'num_nodes' : cls.NUM_NODES_VALUES,
         'mem_limit' : cls.MEM_LIMITS}))
   # TODO: enable for more table formats once they consistently pass the fuzz test.
   cls.ImpalaTestMatrix.add_constraint(lambda v:
       v.get_value('table_format').file_format in ('avro', 'parquet') or
       (v.get_value('table_format').file_format == 'text' and
         v.get_value('table_format').compression_codec in ('none', 'lzo')))
 def add_test_dimensions(cls):
   super(TestScannersFuzzing, cls).add_test_dimensions()
   cls.TestMatrix.add_dimension(
       create_exec_option_dimension_from_dict({
         'abort_on_error' : cls.ABORT_ON_ERROR_VALUES,
         'num_nodes' : cls.NUM_NODES_VALUES,
         'mem_limit' : cls.MEM_LIMITS}))
   # TODO: enable for more table formats once they consistently pass the fuzz test.
   cls.TestMatrix.add_constraint(lambda v:
       v.get_value('table_format').file_format in ('avro', 'parquet') or
       (v.get_value('table_format').file_format == 'text' and
         v.get_value('table_format').compression_codec in ('none', 'lzo')))
Exemple #14
0
 def add_test_dimensions(cls):
     cls.ImpalaTestMatrix = ImpalaTestMatrix()
     cls.ImpalaTestMatrix.add_dimension(
         ImpalaTestDimension(
             'decimal_type', *TestDecimalCasting.DECIMAL_TYPES_MAP[
                 cls.exploration_strategy()]))
     cls.ImpalaTestMatrix.add_dimension(
         ImpalaTestDimension('cast_from', *TestDecimalCasting.CAST_FROM))
     cls.ImpalaTestMatrix.add_dimension(
         create_exec_option_dimension_from_dict(
             {'decimal_v2': ['false', 'true']}))
     cls.iterations = 1
 def add_test_dimensions(cls):
   super(TestDecimalQueries, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.add_dimension(
     create_exec_option_dimension_from_dict({
       'decimal_v2' : ['false', 'true'],
       'batch_size' : [0, 1]}))
   # Hive < 0.11 does not support decimal so we can't run these tests against the other
   # file formats.
   # TODO: Enable them on Hive >= 0.11.
   cls.ImpalaTestMatrix.add_constraint(lambda v:\
       (v.get_value('table_format').file_format == 'text' and
        v.get_value('table_format').compression_codec == 'none') or
        v.get_value('table_format').file_format == 'parquet')
Exemple #16
0
 def add_test_dimensions(cls):
   super(TestSpillingBroadcastJoins, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.clear_constraints()
   # Use Kudu because it has 9 input splits for lineitem, hence can have a
   # higher effective dop than parquet, which only has 3 splits.
   cls.ImpalaTestMatrix.add_dimension(create_kudu_dimension('tpch'))
   debug_action_dims = CORE_DEBUG_ACTION_DIMS
   if cls.exploration_strategy() == 'exhaustive':
     debug_action_dims = CORE_DEBUG_ACTION_DIMS + EXHAUSTIVE_DEBUG_ACTION_DIMS
   # Tests are calibrated so that they can execute and spill with this page size.
   cls.ImpalaTestMatrix.add_dimension(
       create_exec_option_dimension_from_dict({'default_spillable_buffer_size': ['256k'],
         'debug_action': debug_action_dims, 'mt_dop': [3]}))
Exemple #17
0
  def add_test_dimensions(cls):
    super(TestDistinctAggregation, cls).add_test_dimensions()

    cls.ImpalaTestMatrix.add_dimension(
      create_exec_option_dimension_from_dict({
        'disable_codegen': [False, True],
        'shuffle_distinct_exprs': [False, True]
      }))

    if cls.exploration_strategy() == 'core':
      cls.ImpalaTestMatrix.add_constraint(
        lambda v: v.get_value('table_format').file_format == 'text' and
        v.get_value('table_format').compression_codec == 'none')
  def add_test_dimensions(cls):
    super(TestDistinctAggregation, cls).add_test_dimensions()

    cls.ImpalaTestMatrix.add_dimension(
      create_exec_option_dimension_from_dict({
        'disable_codegen': [False, True],
        'shuffle_distinct_exprs': [False, True]
      }))

    if cls.exploration_strategy() == 'core':
      cls.ImpalaTestMatrix.add_constraint(
        lambda v: v.get_value('table_format').file_format == 'text' and
        v.get_value('table_format').compression_codec == 'none')
 def add_test_dimensions(cls):
     super(TestDecimalQueries, cls).add_test_dimensions()
     cls.ImpalaTestMatrix.add_dimension(
         create_exec_option_dimension_from_dict({
             'decimal_v2': ['false', 'true'],
             'batch_size': [0, 1]
         }))
     # Hive < 0.11 does not support decimal so we can't run these tests against the other
     # file formats.
     # TODO: Enable them on Hive >= 0.11.
     cls.ImpalaTestMatrix.add_constraint(lambda v:\
         (v.get_value('table_format').file_format == 'text' and
          v.get_value('table_format').compression_codec == 'none') or
          v.get_value('table_format').file_format == 'parquet')
 def add_test_dimensions(cls):
   super(TestScannersFuzzing, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.add_dimension(
       create_exec_option_dimension_from_dict({
         'abort_on_error' : cls.ABORT_ON_ERROR_VALUES,
         'num_nodes' : cls.NUM_NODES_VALUES,
         'mem_limit' : cls.MEM_LIMITS,
         'debug_action' : cls.DEBUG_ACTION_VALUES}))
   # TODO: enable for more table formats once they consistently pass the fuzz test.
   # TODO(IMPALA-6772): enable for ORC formats once a new version after release-1.4.3
   # of ORC library is released.
   cls.ImpalaTestMatrix.add_constraint(lambda v:
       v.get_value('table_format').file_format in ('avro', 'parquet') or
       (v.get_value('table_format').file_format == 'text' and
         v.get_value('table_format').compression_codec in ('none', 'lzo')))
Exemple #21
0
 def add_test_dimensions(cls):
   super(TestScannersFuzzing, cls).add_test_dimensions()
   cls.ImpalaTestMatrix.add_dimension(
       create_exec_option_dimension_from_dict({
         'abort_on_error' : cls.ABORT_ON_ERROR_VALUES,
         'num_nodes' : cls.NUM_NODES_VALUES,
         'mem_limit' : cls.MEM_LIMITS,
         'debug_action' : cls.DEBUG_ACTION_VALUES}))
   # TODO: enable for more table formats once they consistently pass the fuzz test.
   # TODO(IMPALA-6772): enable for ORC formats once a new version after release-1.4.3
   # of ORC library is released.
   cls.ImpalaTestMatrix.add_constraint(lambda v:
       v.get_value('table_format').file_format in ('avro', 'parquet') or
       (v.get_value('table_format').file_format == 'text' and
         v.get_value('table_format').compression_codec in ('none', 'lzo')))
Exemple #22
0
  def add_test_dimensions(cls):
    super(TestDateQueries, cls).add_test_dimensions()
    cls.ImpalaTestMatrix.add_dimension(
      create_exec_option_dimension_from_dict({
        'batch_size': [0, 1],
        'disable_codegen': ['false', 'true'],
        'disable_codegen_rows_threshold': [0]}))
    # DATE type is only supported for text fileformat on HDFS and HBASE.
    cls.ImpalaTestMatrix.add_constraint(lambda v:
        v.get_value('table_format').file_format in ('text', 'hbase'))

    # Run these queries through both beeswax and HS2 to get coverage of date returned
    # via both protocols.
    cls.ImpalaTestMatrix.add_dimension(create_beeswax_hs2_dimension())
    cls.ImpalaTestMatrix.add_constraint(hs2_parquet_constraint)
Exemple #23
0
  def add_test_dimensions(cls):
    super(TestDecimalQueries, cls).add_test_dimensions()
    cls.ImpalaTestMatrix.add_dimension(
      create_exec_option_dimension_from_dict({
        'decimal_v2' : ['false', 'true'],
        'batch_size' : [0, 1],
        'disable_codegen' : ['false', 'true'],
        'disable_codegen_rows_threshold' : [0]}))
    # Hive < 0.11 does not support decimal so we can't run these tests against the other
    # file formats.
    # TODO: Enable them on Hive >= 0.11.
    cls.ImpalaTestMatrix.add_constraint(lambda v:\
        (v.get_value('table_format').file_format == 'text' and
         v.get_value('table_format').compression_codec == 'none') or
         v.get_value('table_format').file_format in ['parquet', 'orc', 'kudu'])

    # Run these queries through both beeswax and HS2 to get coverage of decimals returned
    # via both protocols.
    cls.ImpalaTestMatrix.add_dimension(create_client_protocol_dimension())
    cls.ImpalaTestMatrix.add_constraint(hs2_parquet_constraint)
  def add_test_dimensions(cls):
    super(TestDecimalQueries, cls).add_test_dimensions()
    cls.ImpalaTestMatrix.add_dimension(
      create_exec_option_dimension_from_dict({
        'decimal_v2' : ['false', 'true'],
        'batch_size' : [0, 1],
        'disable_codegen' : ['false', 'true'],
        'disable_codegen_rows_threshold' : [0]}))
    # Hive < 0.11 does not support decimal so we can't run these tests against the other
    # file formats.
    # TODO: Enable them on Hive >= 0.11.
    cls.ImpalaTestMatrix.add_constraint(lambda v:\
        (v.get_value('table_format').file_format == 'text' and
         v.get_value('table_format').compression_codec == 'none') or
         v.get_value('table_format').file_format in ['parquet', 'orc', 'kudu'])

    # Run these queries through both beeswax and HS2 to get coverage of decimals returned
    # via both protocols.
    cls.ImpalaTestMatrix.add_dimension(create_beeswax_hs2_dimension())
    cls.ImpalaTestMatrix.add_constraint(hs2_parquet_constraint)