Clone Tools
  • last updated 15 mins ago
Constraints: committers
Constraints: files
Constraints: dates
Add Asterix Extension Manager

More extension support is added. A user can now provide implementations

for the IExtension interface which will give them more control over

the behavior of the system and give them the ability to add custom


Initial customizations include:

1. Metadata Tuple Translators

2. Metadata Datasets

3. Query Translators

4. Statement Handlers

5. Lang Compilation Provider

Change-Id: I280268495cc3aad00f898cba21f7299f7120ce5c


Tested-by: Jenkins <>

Reviewed-by: Till Westmann <>

Integration-Tests: Jenkins <>

Reviewed-by: Yingyi Bu <>

  1. … 232 more files in changeset.
Implement EXPLAIN for SQL++

- move some code from static methods in ResultUtils to a stateful

ResultPrinter to facilitate reuse (we create one ResultWriter per request)

- tiny cleanup in LogicalOperatorPrettyPrintVisitor

Change-Id: I7b7028fb243d494150cac525c73b2d77b0068646


Tested-by: Jenkins <>

Integration-Tests: Jenkins <>

Reviewed-by: Yingyi Bu <>

  1. … 17 more files in changeset.
Add Maven Plugin for Grammar Extension

This change introduces a new asterix maven plugin for grammar

extension. The plugin takes a base grammar file and an extension

file and combine them to generate an extended grammar. A base

grammar can be extended by overriding production nodes, adding

extending existing nodes, or introducing new terminals and

non terminals.

In addition, a mvn verify goal was added to generate the parser

java files from the grammar generated by the test.

Change-Id: Iaa2d11782d43dd8f27d69e347ed0fc8797d79dad


Tested-by: Jenkins <>

Integration-Tests: Jenkins <>

Reviewed-by: Michael Blow <>

  1. … 56 more files in changeset.
Refactor General Active Classes

This change is the first of a series of changes aiming to refactor

feed related classes into generic active and feed specific.

In this change, we introduce asterix-active which will be one level

below asterix-external-data. The ultimate goal is to have a very

flexible framewrok for long running activities within asterix.

Change-Id: I0a8f33ee5b45c5e090b08c24a102e369aae43c04


Tested-by: Jenkins <>

Integration-Tests: Jenkins <>

Reviewed-by: abdullah alamoudi <>

  1. … 130 more files in changeset.
ASTERIXDB-1494: refactor ExternalLibraryManager and make it non-static.

Change-Id: I5c287a35ff90c3aea639d3069d5a842e28c5e508


Reviewed-by: abdullah alamoudi <>

Tested-by: Jenkins <>

Integration-Tests: Jenkins <>

  1. … 31 more files in changeset.
QueryService API updates

- API returns non-JSON results (ADM/CSV) as arrays of (escaped) strings

- fix encoding and content-length of response

- run SQL++ query tests through QueryService API

- fix tests/expected errors

- correct execution times in the case of errors

- re-structure printing of CSV headers

- improve parameter handling

- small API cleanup

Change-Id: Ie67ad4ea31699400726c8c026c4a91edc698f2b5


Tested-by: Jenkins <>

Reviewed-by: Yingyi Bu <>

  1. … 11 more files in changeset.
Fix Indexing on Open fields and Meta fields

This change fix the following cases:

1. Build a secondary index on a meta field: success

2. Build an open index on a meta field: failure

3. Build a secondary index on an open field in record part: success

Testing ingestion and querying are working correctly for these cases.

Change-Id: I6195149940f150250a65f2515e9ac9d6de2a33f9


Tested-by: Jenkins <>

Reviewed-by: Yingyi Bu <>

  1. … 78 more files in changeset.
Improve External Data

This change enable an adapter to specify its data parser and not have

the user specify it and pass it as part of the adapter configurations.

In addition, it introduces a new parameter "parser-factory" that can be

used to specifies a parser factory instead of using parser to specify

a parser factory.

Change-Id: Iae2560c73fa63e9454f731b8e893ae779a2ac7d9


Reviewed-by: Jenkins <>

Tested-by: Jenkins <>

Reviewed-by: abdullah alamoudi <>

  1. … 35 more files in changeset.
ASTERIXDB-1477 Fix Drop Feed If Not Exists

Change-Id: I9ce76ff5fd6611df5060a1de77742aba9d146ab5


Tested-by: Jenkins <>

Reviewed-by: abdullah alamoudi <>

  1. … 6 more files in changeset.
Cleanup Feed CodeBase

In order to expedite cleaning feeds up and reaching a maintainable

state, we disabled the following:

1. Policies (At least once, throttling, discarding, elasticity).

2. Statistics Reporting.

3. Load management.

4. Feed re-activation upon System reboot.

Right now on master, none of these features work reliably.

We will re-introduce them one feature at a time.

The rules followed in this change:

1. Keep X if X is tested in a test case.

2. Remove X if X is not used in test cases.

After a few meetings with Mike and Till, the policies

1. Buffering

2. Spill

3. Discard

4. Throttle

have been fixed and unit tests have been added.

Change-Id: I545bc4f8560564e4c868a80d27c77a4edd97a8b8


Tested-by: Jenkins <>

Reviewed-by: abdullah alamoudi <>

  1. … 141 more files in changeset.
Asterix-1389 Fix Deadlocks in Feed Connections

This change ensures the completion of the Feed connect and feed

disconnect statement each as an atomic operation.

Previously, we assumed that with the intake ready on all nodes

and the connect started, the connect is complete. That is not

true. In order for the connect to be complete, we need to ensure

that the connect subscribe to the intake in all intake nodes.

Likewise, the disconnect shouldn't return until the connect

job terminates.

Change-Id: Ib2778b4d7f156c7e06ac9f561a26783c4933a22c


Tested-by: Jenkins <>

Reviewed-by: Murtadha Hubail <>

  1. … 11 more files in changeset.