asterixdb

Clone Tools
  • last updated 22 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[ASTERIXDB-2286][COMP][FUN][HYR] Parallel Sort Optimization

- user model changes: yes

- storage format changes: no

- interface changes: yes

details:

- new plan for sort operation which includes sampling and

replicating the stream of data to be sorted. Sort-merge connector

is removed from the plan. The sorted result now is in multiple partitions.

- new optimization rule to check whether full parallel sort is applicable.

- new Forward operator to read the replicated sort input stream and

to receive the ouput of the sampling.

- new sequential merge connector to merge a globally ordered result residing

in multiple partitions (in addition to the connector's partition computer).

- "asterix-lang-aql/pom.xml" is changed as a result of refactoring

code related to the range map handling.

- new private sampling function to generate the range map object

(local & global functions) & their type computers.

user model changes:

- new compiler property is added to enable and disable parallel sort.

interface changes:

- "ILogicalOperatorVisitor.java" includes Forward Operator.

- "ITuplePartitionComputer.java" includes initialize() to enable partitioner

to do some initialization. FieldRangePartitionComputerFactory uses it to

pick a range map.

- "ITuplePartitionComputerFactory.java". createPartitioner() is changed to

createPartitioner(IHyracksTaskContext hyracksTaskContext). Context is needed

for transferring the range map throught the context.

Change-Id: I73e128029a46f45e6b68c23dfb9310d5de10582f

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2393

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

  1. … 343 more files in changeset.
[ASTERIXDB-2461][FUN] Fix LocalAvgTypeComputer

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

1. Changed the type of count from INT32 to INT64 because AVG uses a long

to store count

commit 7cfdaf0b8fb452ead4183a8f24a5b5dd21354fa0

Author: James Fang <jfang003@ucr.edu>

Change-Id: Ic693d027190b43fa3deaaf83ebf73f62c77d5a76

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2996

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

[ASTERIXDB-2459][FUN] Add sttdev() aggregate function

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

1. Added stddev aggregation function and test cases

2. Added stddev to documentation and fixed some typos

3. Added serializable aggregate optimizer test

4. Change IncompatibleTypeException in aggregates to be deterministic

commit 26edb576f55a3d2308996f054a58ad43ab910f9b

Author: James Fang <jfang003@ucr.edu>

Date: Fri Oct 5 15:10:37 2018 -0700

Change-Id: Ia709669a9d20358f11ad28f453ae8ad8551f6334

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2990

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

  1. … 457 more files in changeset.
[ASTERIXDB-2264][ING] Introduce Http Feed Adapter

- user-model changes: add http_adapter for feed.

- storage format changes: no

- interface changes: no

Details:

1. Added http feed. User may use following syntax to create a http feed:

create feed TweetFeed with {

"adapter-name" : "http_adapter",

"addresses" : "asterix_nc2:10002,asterix_nc1:10001",

"address-type" : "NC",

"type-name" : "TweetMessageType",

"format" : "adm"

};

2. Refactored insert-feed test case to avoid waiting for 10s.

3. Refactored some constants in feeds.

Change-Id: I3c197a3df557ecc01f07f0907688c4ea81379e40

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2994

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

    • -0
    • +8
    /asterixdb/asterix-external-data/pom.xml
  1. … 8 more files in changeset.
[NO ISSUE][COMP][RT] Enable multiway similarity joins

- Enable the FuzzyJoinRule that transforms

a nested-loop-similarity-join plan to a three-stage-similarity join.

- Modify FuzzyJoinRuleCollections.

- Add the ExtractCommonExpressionRule to extract common expressions

in the star-like multiple similarity join substitutions.

- Add the InlineSubplanInputForNestedTupleSourceRule to translate

the generated subplan from the similarity function-derived

substitution into join in case of nested schemas.

- Use similarity-jaccard-prefix to enable the pp+ join strategy.

- Use the right side to build the heavy hash join on

the prefix tokens from both sides.

- Add RemoveAssign/Variables/AggRules to iteratively remove unused

assign/vars once FuzzyJoinRule is applied in each round.

- Add three new optimization cases for multiway similarity joins.

- link-like multiway similarity joins

- star-like multiway similarity joins

- hybrid multiway similarity joins with the both styles of similarity joins.

- Add a check whether a similarity function is on

a select over an existing similarity join.

- Change the inverted-index-based similarity join to the three-stage-similarity join

due to efficiency considerations.

Change-Id: I8736f104905eeda763d39709e002c2b9629278cc

Reviewed-on: https://asterix-gerrit.ics.uci.edu/1076

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

Reviewed-by: Taewoo Kim <wangsaeu@gmail.com>

    • -0
    • +100
    /asterixdb/asterix-app/data/dblp-small/csx-small-multi-id.txt
    • -0
    • +100
    /asterixdb/asterix-app/data/dblp-small/dblp-small-multi-id.txt
    • -0
    • +100
    /asterixdb/asterix-app/data/pub-small/csx-small-multi-id.txt
    • -0
    • +196
    /asterixdb/asterix-app/data/pub-small/csxauthors.adm
    • -0
    • +100
    /asterixdb/asterix-app/data/pub-small/dblp-small-multi-id.txt
    • -0
    • +194
    /asterixdb/asterix-app/data/pub-small/dblpauthors.adm
  1. … 246 more files in changeset.
[NO ISSUE][DOC] Documentation improvements

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add variable.* to SELECT clause

- Add section and example for variable scope in JOIN subclauses

Change-Id: I654fb35f3632cb46fc0ecdce3f12af72c2356091

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2993

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

[NO ISSUE][TEST] Allow Requests To NC Endpoints By Port

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Currently, the test framework allows sending requests to

NC endpoints that are referenced by name if that name was

added to the list of available NC endpoints. This change

allows a request to be sent to any endpoint by specifying

the endpoint port in the test file.

- Modify a test case to utilize port-based NC endpoints.

Change-Id: If0ad80bed625c45da01aa018e4267409c329be9e

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2991

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

[NO ISSUE][COMP] allow optimization rule to inspect other functions + fixes

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

1. allow the optimization rule "InjectTypeCastForSwitchCaseRule"

(renamed to "InjectTypeCastForFunctionArgumentsRule" now) to consider other

functions specified by the user in addition to the ones already considered

by the rule.

2. fix an issue related to ConstantFoldingRule that affects some existing

functions where the rule would have the function compute the value but fail

to deserialize it (read it) back due to differences in compile-time type

and runtime type.

3. fix static casting of a list constructor function which fails to cast

open its items when the item is a function that returns a closed derived

type.

Change-Id: I65679e934a41e00b04bc3fd479ed404af293eb21

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2980

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

Merge release-0.9.4 into master

Change-Id:Ied2b685f015e0f35563ebd0510231a5d663494f4

    • -1
    • +1
    /asterixdb/asterix-external-data/pom.xml
    • -1
    • +1
    /asterixdb/asterix-lang-common/pom.xml
    • -1
    • +1
    /asterixdb/asterix-test-framework/pom.xml
  1. … 24 more files in changeset.
[NO ISSUE] Enable Build/Run w/ Java 11

- upgrade hadoop libraries (2.2.0 -> 2.8.5)

Change-Id: I04377b91ea7535bd358c396fbd9fcb019c734814

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2986

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-on: https://asterix-gerrit.ics.uci.edu/3030

Reviewed-by: Till Westmann <tillw@apache.org>

    • -5
    • +9
    /asterixdb/asterix-external-data/pom.xml
    • -0
    • +8
    /asterixdb/asterix-test-framework/pom.xml
  1. … 3 more files in changeset.
[NO ISSUE] Enable Build/Run w/ Java 11

- upgrade hadoop libraries (2.2.0 -> 2.8.5)

Change-Id: I04377b91ea7535bd358c396fbd9fcb019c734814

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2986

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

    • -5
    • +9
    /asterixdb/asterix-external-data/pom.xml
    • -0
    • +8
    /asterixdb/asterix-test-framework/pom.xml
  1. … 3 more files in changeset.
[ASTERIXDB-2456][DOC] Re-add insert to primer

Change-Id: I404246ea4a8568e28190cd2371356175db1471cc

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2983

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Michael Carey <dtabass@gmail.com>

[NO ISSUE][FUN] Add more data types for external library

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

1. Added more types for external library.

2. Added test case for data types.

3. Fixed minor bug where the parameter type is not trimmed in UDF.

Change-Id: I6ce73e791533b0617074536e0d841242d9e0ee31

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2871

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

[NO ISSUE][FUN][COMP] fix ifnan(), ifnanorinf(), ifinf()

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

This patch is to fix the mentioned functions. The fix is

to make ifnan() & ifnanorinf() skip the argument being

inspected if it's a missing value and check the next one.

For ifinf(), it should return missing if the argument

being inspected is a missing value. Also, number of args

is checked now.

Change-Id: Ib7cc3d18ca0443857ae271b6e14f2c9e920f1c1f

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2981

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

[NO ISSUE][LOG] Ensure NC logDir ends with separator

- user model changes: no

- storage format changes: no

- interface changes: no

Change-Id: I492428fdbf84ed6f1c4afd136dce33ac84aea3c0

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2982

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Till Westmann <tillw@apache.org>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Ian Maxon <imaxon@apache.org>

[NO ISSUE] User-defined Function Documentation update

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

1. Updated the UDF documentation to be consisten with current master.

2. Cleaned default UDF package to remove useless UDFs.

3. Added the example in documentation as a test case for IT.

4. Reorganized the documentation to keep up with the new structure.

5. Minor changes to other documentation pages to keep style consistent.

Change-Id: I17b1b4d639ca38689298ce88145257e794eb90e1

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2804

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Taewoo Kim <wangsaeu@gmail.com>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

    • -0
    • +358
    /asterixdb/asterix-doc/src/main/data_ingestion/feeds.md
  1. … 13 more files in changeset.
[ASTERIXDB-2453] Add Improved Constant Merge Policy

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- The current constant merge policy is unsuable because of its high

merge cost, i.e., O(N*N) where N is the number of flushes. This patch

replaces the previous constant merge policy with a more efficient policy

that still enforces a maximum number of components but greatly lowers

the merge cost.

- Extend AbstractLSMIndex with a method to return the total number of

flushes, based on the file name sequencer. This is required by the new

policy.

Change-Id: Ie5f83a4d5fdd3f036b823c906df1760f5110ae0a

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2971

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

[NO ISSUE][NET] Avoid Sleeping The Network Thread on Failures

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- We currently sleep the networking thread incrementally with

every failure. This sleep was added to avoid CPU spinning

back when failures on pending networking operations were not

handled properly which led to processing the same networking

message that caused the failure over and over. This sleep is

not needed anymore since every failed read/write/send/connect

network operations will not be attempted again.

Change-Id: I9f7ddc088868f8cf4d0a15ec5349021af8ccae36

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2978

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Michael Blow <mblow@apache.org>

[ASTERIXDB-2455][DOC] Deprecate AQL documentations

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- Create [Deprecated] section and move AQL docs to there.

- Move some docs from /aql directory to /sqlpp directory.

Change-Id: I677dd7a8d114197eaa2ae93e0405184526b31a03

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2977

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Ian Maxon <imaxon@apache.org>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

    • -0
    • +147
    /asterixdb/asterix-doc/src/site/markdown/sqlpp/filters.md
    • -0
    • +114
    /asterixdb/asterix-doc/src/site/markdown/sqlpp/fulltext.md
    • -0
    • +227
    /asterixdb/asterix-doc/src/site/markdown/sqlpp/similarity.md
    • -11
    • +11
    /asterixdb/asterix-doc/src/site/site.xml
[NO ISSUE][TEST] Add Test Case For Chunked Http Requests

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Add test case for chunked HTTP requests to ensure

the HTTP server can handle requests from clients

sending chunked requests.

Change-Id: I64ad01ca5ca322fb3efd4e86f053b70eb74e1079

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2975

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Michael Blow <mblow@apache.org>

[ASTERIXDB-2437][COMP] Ensure the index-only plan on a composite index

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Ensure the proper build of an index-only plan on a composite index

where both fields are used in the SELECT condition and only one field

is returned.

Change-Id: Idcc4cbe08323e0c6edb4a01637b2017128da1ab5

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2854

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

Merge commit 'bd728afe' from stabilization-f69489

Change-Id: Ic382adcb9e6f0a084a029206a0785d979a45faad

[NO ISSUE][REPL] Ensure Valid Component ID is Initialized On Replica Sync

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

- Currently, the first time a replica is synchronized from master,

the valid component id on each replicated index's initial checkpoint

will be the initial value of a component id (-1). This value is

fixed when the the replica receives a flushed component from

the index. However, if the master fails before any component is

flushed to a replica and that replica is promoted to master, it

will start from an invalid component id. This change ensures that

the initial checkpoint of replicated indexes is initialized to

the maximum component id that appears on master. This will ensure

that if the replica is promoted, it will at least start from

a component that wasn't previously used on master.

- Replace assertion of component ids validation by illegal state.

Change-Id: I85395ad823a630725c4cab4bead1c61546dc61ae

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2973

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Michael Blow <mblow@apache.org>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

[NO ISSUE] Don't close Keep-Alive connections on non-200/401

Change-Id: Ia39f8f9030be5a738a71de4c336a98e326ee896f

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2972

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

[NO ISSUE][STO] Ensure Files From Failed Bulkload Are Deleted

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- If a bulkload is interrupted at the end-stage (i.e. after all

tuples have been added but before the component is added to

the index's disk components), then the bulkload operation will

fail but the files from the failed operation are not deleted.

This change ensures that if a bulkload fails in such stage,

the files of the generated component are deleted to avoid

file is already mapped exception if the bulkload is attempted

again.

- Ensure disk component is only destroyed once in case of

bulkload cleanup.

- Stop attempting to write a checkpoint early if the failure was

due to the thread being interrupted.

Change-Id: I7f63054ac72a9482e779e49eb4da658a08fe7e9d

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2970

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Michael Blow <mblow@apache.org>

[NO ISSUE][OTH] Ensure Stats Refresh is Thread Safe

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Make variables used in determining the need to refresh

stats volatile to ensure refresh won't be called by

multiple thread if not needed.

Change-Id: I07d76e53d193f93e0aaf08715e3f4c82b3b1524e

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2969

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Murtadha Hubail <mhubail@apache.org>

[ASTERIXDB-2174] Use ListSet when clone partition property

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Use ListSet instead of HashSet when cloning partitioning properties

to ensure it has the consistent behavior as before.

Change-Id: Ib2b8c1715d75b387a73504f4709524d9ab9ce123

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2968

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

[ASTERIXDB-2452] Recompute type env after ListifyUnnestingFunctionRule

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

-Recompute type env of the parent operator after firing

ListifyUnnestingFunctionRule. Otherwise the type env of the parent operator

would still point to the old operator, which is not correct.

Change-Id: I97bf721cb7fc9f36ec14214677d5545ae4aa1d2a

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2967

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

[ASTERIXDB-2174] Fix partitioning improvement of group by

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Fix the improvement of partitioning propagation of group by

introduced by https://asterix-gerrit.ics.uci.edu/#/c/2176/.

- The problem is that we cannot modify the partitioning property of the

input operator directly, since that property is owned by the input.

Otherwise, the property of the child operator would be modified even

before the group by operator, and this caused some tests regarding

common sub operator extration to fail (introducing REPLICATE).

Change-Id: I81a74ab1242772c790175414281e3f200537b386

Reviewed-on: https://asterix-gerrit.ics.uci.edu/2966

Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>

Reviewed-by: Dmitry Lychagin <dmitry.lychagin@couchbase.com>

Merge commit '142aad08' from stabilization-f69489

Change-Id: I7ebe1f339fa27fc269f56f4e394622b452310638