asterixdb

Clone Tools
  • last updated 26 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[ASTERIXDB-2188] Ensure recovery of component ids

- user model changes: no

- storage format changes: yes.

Flush log record format changes.

- interface changes: no

Details:

- Add flush component ids to the flush log record. Upon

seeing a flush log record during recovery, schedule

a flush to all indexes in this partition s.t. LSN>maxDiskLSN

to ensure component ids are properly maintained upon

failed flushes.

- Add a test case to ensure the correctness of the recovery logic

of component ids

Change-Id: I8c1fc2b209cfb9d3dafa216771d2b7032eb99e75

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

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: abdullah alamoudi <bamousaa@gmail.com>

  1. … 3 more files in changeset.
[ASTERIXDB-2227][ING] Enabling filitering incoming data in feed

- user model changes: yes

Add syntax support for specifying predicate in connect feed

- storage format changes: no

- interface changes: no

Details:

In some use cases, a user may want to filter the incombing data with

certain attributes. One example can be only store the incoming tweets

with geo locations. This patch enables the <WHERE> clause in connect

feed statement. User can subset the incoming data using following

syntax:

connect feed feeds.TweetFeed to dataset Tweets3 using policy `Basic`

WHERE id NOT LIKE 'nc1:10%' OR username = 'BronsonMike';

Change-Id: I0b3cc6fe9d7fb5f5645dd9c759da448bfe1e88f1

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

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: abdullah alamoudi <bamousaa@gmail.com>

[NO ISSUE] Fix template, again

The template and LICENSE change got reverted more or less,

because the template change for the LICENSE was not added,

and the LICENSE was reverted because it didn't match that

unchanged template.

Change-Id: Iaac1c2df7b2f1c2d70e869a47d4fc4ab90d5f5f2

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

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

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

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

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

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

[ASTERIXDB-2296][COMP] proper handling of an optional subfield type

- user-model changes: no

- storage format changes: no

- interface changes: no

Details:

- Handle an optional subfield type properly in

AbstractIntroduceAccessMethodRule.getFieldNameFromSubTree()

Change-Id: Ia80b6dbf549b77295f310b7c6f3a3f3f5a323114

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

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

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

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

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

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

[ASTERIXDB-2291][FUN] Implement if_inf,if_nan,if_nan_or_inf

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement functions: if_inf(), if_nan(), if_nan_or_inf()

- Add testcases and documentation

- INF to string conversion should produce "INF" instead of "Infinity"

- Move if_missing(), if_null() testcases to 'null-missing' folder

Change-Id: I12dccd848a1d6b4ba102bea3b7602c2cbd8aaef5

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

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

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

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

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

  1. … 23 more files in changeset.
[NO ISSUE][STO] Move the IO threads from BufferCache to IOManager

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

Move the IO threads from BufferCache to IOManager to cover all

IO uses that go through the IOManager.

Change-Id: Ic02b456826ae7abc2619a7eec3f90b48717b0adb

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

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 Blow <mblow@apache.org>

  1. … 3 more files in changeset.
[NO ISSUE][NET] Networking Improvements

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Set keep alive and no TCP delay options

on socket channels.

- Cancel key and close IPC handle on failed

read/writes to avoid getting the same failures

with every NetworkThread loop.

Change-Id: I60c1f9cfe2ea577fca14cd2e98c6461c49df011a

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

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

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

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

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

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

[ASTERIXDB-2294][FUN] Implement is_atomic()

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Implement is_atomic() function with aliases isatomic(), isatom()

- Add testcases and documentation

Change-Id: Ib979f4fe2fdce7575d13a259ac241d58d9fc6ae2

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

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

Integration-Tests: 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>

[NO ISSUE] Add Invoke.runUninterruptible

Add helper method to clear interruption and restore around invocation of an

action

Change-Id: I2f0a5dcb36bfc43168498b9a0a2a4afccedfc4f6

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

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

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

Integration-Tests: Murtadha Hubail <mhubail@apache.org>

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

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

[NO ISSUE][RT] Ensure an inverted list cursor.close()

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- Ensure to always execute an inverted list cursor.close().

Change-Id: I78c7908830be810b1d40abffffbd5f1978818869

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

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

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

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

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

Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>

[ASTERIXDB-2287][SQL] Support SELECT variable.* in SQL++

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Support SELECT variable.* in SQL++

- Include variables defined by LET clauses in the

output record created by SELECT *

- Add object_concat() function

- Add tests for these new features

- Fail testcase if its source directory is missing

- Fix testcases that did not run previously because

their source directories were incorrectly specified

Change-Id: I058dc0f45072a1398f6431e0c73ce680c4d8cdc7

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

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>

  1. … 126 more files in changeset.
[NO ISSUE][TXN] Prevent deadlock in Metadata transactions

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Flushes in metadata datasets are triggerred by entity update

logs, unlike regular transactions where flushes are triggerred

by entity commit logs.

- Because entity update logs can be writting to disk before the

operation completes, there is a chance that an operation that

caused the component to be full exits after the log is flushed

and so, a flush operation is not scheduled.

- This change proposes a simple fix. The fix is that metadata

operation will also check if a flush is needed and will schedule

one if needed.

Change-Id: I07a18840dc54fe052b7bd294595f816f6d8a4d2f

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

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

Reviewed-by: Murtadha Hubail <mhubail@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>

[NO ISSUE] Make NodeManager.remove() idempotent

Change-Id: I0e2b14526be49c9817c0d64836fcf57647ac59b2

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

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

Integration-Tests: Michael Blow <mblow@apache.org>

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

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

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

[NO ISSUE][REPL] Exclude Non-Replicated Datasets From Delta Recovery

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Exclude non-replicated datasets files from

delta recovery.

- Fix used read buffer for large replication

requests.

Change-Id: Ic734af7becf26082e79fae52bd2c01ba567c1c99

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

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

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

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

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

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

[NO ISSUE][STO] Fix deadlock in buffer cache

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- When two threads concurrently attempt to pin a page,

one as a new page, the other as an existing page, a deadlock

might happen.

- The deadlock is caused by the reader as a new page setting the

valid flag before the ReaderThread attempts to read the page.

- The fix is to have the reader thread ignore the read request

and have the reader as a new page notify all the other readers

that the page is valid.

Change-Id: I50cf18d96228a1ad78ce11f5258252e8d0107d86

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

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

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

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

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

[NO ISSUE][TEST] Avoid NPE on empty result from cleanup query

Change-Id: Ic645b0f2c5ff29a6178cfd784fcbffb331386e90

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

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: abdullah alamoudi <bamousaa@gmail.com>

[NO ISSUE][OTH] Enable adding request channel close listener

- user model changes: no

- storage format changes: no

- interface changes: yes

- Introduce IChannelCloseHandler.handle that gets called when

the request channel is closed.

- Add HttpServer.getChannelCloseHandler

- Add IServlet.getChannelCloseHandler

details:

- Previously, we didn't know that an Http client closed the

connection until we try to write and find that the channel has

been closed.

- After this change, the moment the channel is closed, the http

channel close handler is called.

- A test is added with a handler that interrupts the execution.

Change-Id: I42f1857c0158af6f447282cab8fbd600767b08d5

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

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

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

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

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

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

[NO ISSUE][ING] Prevent duplicate active runtimes in NCs

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- Previously, when an active runtime is registered, we ignore

if the runtime id is already registered.

- After this change, such operation will throw an exception.

Change-Id: Id7065625537f930394fa7387af2fd1e851582c86

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

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

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

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

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

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

[NO ISSUE][OTH] Remove logs for legal destroy calls

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- Previously, we logged when a cursor was destroyed multiple times.

- Since this is a legal call, we don't log this anymore.

Change-Id: I8fc5c4ad165e44d5259446aad8e64826a672fd77

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

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: Murtadha Hubail <mhubail@apache.org>

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

[NO ISSUE][REPL] Ensure Thread Safety of ReplicaManager

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Ensure thread safety of ReplicaManager to eliminate

possible concurrent modifications between reading

and modifying current replicas.

Change-Id: Ied7549436f7d721341c6699231a202545bac6252

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

Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>

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

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

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

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

[NO ISSUE][CLUS] Synchronize restoration of IPC connection

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- When an IPC connection is dead, then only a single sender

will revive the connection.

Change-Id: I1ec58d7fbc96d7352882e6588ef2ce12dc66511e

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

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

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

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

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

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

[NO ISSUE][CLUS] Unify Code Path of Requesting Startup Tasks

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Remove special case of requesting startup tasks on

NC startup complete.

- Handle case where CC might fail before sending startup

tasks to NC.

Change-Id: Ieb89d6f293b0e958c3f141afc6f1db372cee7c91

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

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

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

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

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

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

[ASTERIXDB-2083][COMP][RT][IDX][SITE] Budget-Constrained Inverted index search

- user-model changes: add text.searchmemory parameter

- storage format changes: no

- interface changes: IInvertedIndexSearcher, IInPlaceInvertedIndex,

IInvertedIndexAccessor, IInvertedListCursor

IObjectFactory, IPartitionedInvertedIndex,

IIndexAccessor

Details:

- Introduce text.searchmemory parameter in the configuration

to conduct budget-constrained inverted index search to prevent

a possible OOM exception

- Remove non-standard hyracks task context from the inverted-index-search

Change-Id: Ib2b2ef7c0b8c55ef66a5322be5d97ebbbf287bf5

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

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

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

Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>

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

    • -0
    • +20000
    /asterixdb/asterix-app/data/csv/fragile_sample.csv
  1. … 86 more files in changeset.
[NO ISSUE][RT] follow IFrameWriter protocol in SplitOperatorDescriptor

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- Previously, the SplitOperatorDescriptor didn't follow the

IFrameWriter protocol in case of failure which lead to having

some open resources after the job.

- This caused so many failures in Cancellation tests.

- This change also increases the rate of cancellation during the

cancellation tests to ensure that similar problems are found.

Change-Id: I3166895589e1ab7355d689397f676f7da5c9809f

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

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

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

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

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

[NO ISSUE] Correct import of InvokeUtil in BufferCache

- user-model changes: no

- storage format changes: no

- interface changes: no

Details:

- InvokeUtil was moved just when the previous change was submitted.

- That broke the build, this fixes it.

Change-Id: I4c9c1829db05ac691f7b0e6dc459d7646496ab6b

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

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

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

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

[ASTERIXDB-1972][COMP][RT][TX] index-only plan

- user model changes: no

- storage format changes: no

- interface changes: IAccessMethod, ILSMIndexOperationContext,

IIndexAccessor

Details:

- Implement an index-only plan

- Add a SET option that disables the index-only plan

Change-Id: Ifd5c9ab1cf2e4bedb7d8db582441919875e74d51

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

Integration-Tests: 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>

  1. … 410 more files in changeset.
[NO ISSUE] += helper to ensure exception handling on cleanup

Change-Id: I912ccef43c498e09fc9df4dbd5a3b6961d90aa33

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

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: Murtadha Hubail <mhubail@apache.org>

    • -4
    • +0
    /asterixdb/asterix-transactions/pom.xml
[NO ISSUE] Add support for NodeGroup upsert, etc.

Also, enable resource id generation when only pending removal nodes are absent

from the cluster

Change-Id: I15cfb74bc345680102cedafa99f7ff4f144860bc

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

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

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

Integration-Tests: Murtadha Hubail <mhubail@apache.org>

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

[ASTERIXDB-2282][HTTP] Revive HTTP server on unexpected channel drops

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- Previously, when the http server channel drops unexpectedly, we

did nothing.

- After this change, the http server will log the event and try

to re-bind to the port until it either succeeds or

server.stop() is invoked.

Change-Id: I7da75a9e34795c94518aca243b4cef387221d8fd

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

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

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

[NO ISSUE][STO] Perform IO reads in uninterruptible threads

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- Previously, IO reads are performed on the task threads.

- Task threads can be interrupted which can cause deadlocks

due to a JDK synchronization bug.

- After this change, 2 IO read threads are there per IO device.

- Threads will receive IO read requests and process them.

- Such threads are never interrupted and are killed through

the use of a poison pill.

Change-Id: Id28d57a222f42962284b24296cb9b91658e5dc77

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

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

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

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

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