Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
[NO ISSUE][COMP] Refactor locking in the compiler

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Introduce interface IMetadataLockUtil for methods in

MetadataLockUtil

- Make MetadataLockUtil overridable by product extensions

- Refactor dataverse and dataset creation methods in

QueryTranslator for better extensibility

Change-Id: I479be18ae68d9b8d42050e74968816767a454eb3

Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/4424

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

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

Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>

  1. … 9 more files in changeset.
[NO ISSUE] Make MetadataProvider extensible

- user model changes: yes

- storage format changes: no

- interface changes: no

Details:

- Allow product extensions to provide custom

implementation of MetadataProvider

- Modify 'async-deferred' testcases to

request 'Clean-JSON' output

Change-Id: I485073e6a9ec7e36083da6f50a8df63a37b2668b

Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/4224

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

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

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

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

  1. … 34 more files in changeset.
[NO ISSUE] Support multipart dataverse names

- user model changes: yes

- storage format changes: no

- interface changes: yes

Details:

- Support dataverse names that consist of multiple parts

- Introduce DataverseName class and adopt it throughout the system

- Add testcases for multipart dataverse names

Change-Id: I1313b2dc0e8df6a9b0ded48dea122afc3ba5dbe7

Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/4004

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

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

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

  1. … 283 more files in changeset.
[NO ISSUE][OTH] Make Active Recovery Task Extensible

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Allow active entity listeners to create their own

recovery tasks.

- Make lock acquisition in recovery task extensible.

Change-Id: I801eec74f7c1723e8243fe0f36db6148638bde35

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

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

Contrib: 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>

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

[NO ISSUE][OTH] Fix ActiveEntityEventsListener toString

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Return proper JSON from ActiveEntityEventsListener toString.

Change-Id: Ifd31bfa71eb79cf4f292c3453cb66523dfba261e

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

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: Ali Alsuliman <ali.al.solaiman@gmail.com>

[NO ISSUE][ING] Refactor Active Suspend/Resume Logic

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

- Refactor the logic for checking DDLs on connected datasets.

- Refactor suspend listener API to allow for suspend for a DDL

on a dataset.

- Allow suspended active listeners to be unregistered. This is

done to support removing suspended listeners on active entities

that were dropped.

Change-Id: I38254582e08d97951a949f7327c8c3d7cf2ab51d

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

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>

    • -40
    • +51
    ./ActiveNotificationHandler.java
  1. … 3 more files in changeset.
[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>

[NO ISSUE][ING] Fix race between active recovery and rebalance

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- In certain cases, a rebalance active suspend starts before

recovery of an active job starts.

- When that happens, sometimes, the recovery task exists and

the active job is not resumed after rebalance.

Change-Id: I66edb73950bb82baa1a1dfd892cb4b23bb7046be

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

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

[NO ISSUE][OTH] Remove Unnecessary Null Checks

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Remove unnecessary null checks before instanceof.

Change-Id: I870df76623f5f983a90b5437abf7e3993a54c744

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

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

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

  1. … 15 more files in changeset.
[NO ISSUE][ING] Halt on active suspend or resume failures

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Failures during active handler suspend or resume leaves the

system in an inconsistent state.

- When that happens, we halt and rely on the recovery to go

back to a consistent state.

Change-Id: I00d31f704f2fa22a5e14c711b6771345ca7d000a

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

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

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

    • -28
    • +39
    ./ActiveNotificationHandler.java
  1. … 1 more file in changeset.
[NO ISSUE][OTH] Log Level Fixes

- user model changes: no

- storage format changes: no

- interface changes: no

Change-Id: Ib5fb7e3140bf36cf4ba5857b9fda8e6cc4bdfa20

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

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

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

  1. … 13 more files in changeset.
[NO ISSUE][OTH] Log Level Fixes

- user model changes: no

- storage format changes: no

- interface changes: no

Change-Id: Icbf7a3ee1c358a40918be7badc4bd00ac5d492a4

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

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

    • -14
    • +38
    ./ActiveEntityEventsListener.java
    • -27
    • +68
    ./ActiveNotificationHandler.java
  1. … 6 more files in changeset.
[ASTERIXDB-2065][ING] Make stop timeout configurable

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Make timeout of a graceful stop of an active job

configurable.

Change-Id: Id8d0c205a6959967dbce2b7223061ffa2f26059c

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

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>

  1. … 6 more files in changeset.
[NO ISSUE][ING] Set JobId in thread waiting for job to complete

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- When stopping an active job, set the job Id in the thread to enable

debugging if the job gets stuck.

Change-Id: Ic19d11f150aa404522133d4d7227c758dbf0de6a

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

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

  1. … 2 more files in changeset.
[NO ISSUE][ING] Increase timeout for stopping ingestion

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- To allow systems under high load enough time to push

accumulated data to storage, we increased the default

timeout for stopping active entities to 5 minutes.

Change-Id: I3e590b1c7fdc0eb9be34d82b4b2ac1b2a2eef515

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

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

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>

[NO ISSUE] Improve logging for Http server

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Reduce logging level for failures in HttpServerHandler.

- Log as an error failures during active jobs.

Change-Id: I7474a93e869df1cbf5dbb00d16acbe2d4bfaa6e0

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

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>

  1. … 1 more file in changeset.
[NO ISSUE] Allow MetadataProvider config to store non String values

- user model changes: no

- storage format changes: no

- interface changes: yes

Details:

- In many cases, we would like to associate a value with a key

in MetadataProvider to be accessed during the compilation

of jobs. However, currently, there is no place to store

such values, so we ended up storing them in the config

map.

- The config map is a <String, String> map and so, we would

write our values as a string and then parse them when needed.

- To avoid this, and to avoid introducing a new map, we simply

change the config stored in MetadataProvider from <String,String>

to <String, Object>.

Change-Id: I55b392ad199d74b0f3cffdc38b54593b12ec1a06

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

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

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

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

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

  1. … 23 more files in changeset.
[NO ISSUE][ING] Add timeout to stop active message

Change-Id: Ie0416d76670e945cb958f5a1c235201a3e016009

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

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. … 9 more files in changeset.
[NO ISSUE][ING] Set state to stop on failure of recovery

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Before this change, if a rebalance comes at the time when

an active recovery retry policy decides to give up, then

the recovery task would finish while the entity is in the

suspended state. When the rebalance completes, the resume

will set the entity back to the temp failure state but

recovery has given up already.

- To fix this, recovery task doesn't return in case of suspend and

wait for the resume call to set the state to stopped.

Change-Id: I5a60a4f547a5b7f2c4c5199d48bcc83f5a2e9ccd

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

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][ING] Cleanup active listener

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Merge STOPPED and PERMANENT_FAILURE into a single

state since they are equivalent.

- Allow timeout of start and stop of active entities.

- Add test cases for timeout scenarios.

- Refactor common code into the abstract listener class.

Change-Id: I7f3b14aec46728fbe8b256b915d0e30992b2fe47

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

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>

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

    • -50
    • +146
    ./ActiveEntityEventsListener.java
  1. … 12 more files in changeset.
[NO ISSUE] Improve Span

Change-Id: I4378332af6b18720f5abc60259bb9af81f22219b

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

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

  1. … 15 more files in changeset.
[NO ISSUE][ING] Improvements to active retry policy

- user model changes: no

- storage format changes: no

- interface changes: yes

- IRetryPolicy.retry now takes a Throwable parameter

Details:

- This change improves the retry policy for active

entities by providing the failure causing the last

failure.

- The change also removes the lock over the active

notification handler on the recover call.

Change-Id: I4246e2a276e1f80569a07630e182aab8f49dd115

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

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

Contrib: Michael Blow <mblow@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>

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

  1. … 8 more files in changeset.
[NOISSUE][ING] Leave permanently failed actives during recovery

Change-Id: I4cbeae666b1e5d5a9b29a33bac141d60244283ab

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

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

[ASTERIXDB-2229][OTR] Restore Thread Names in Thread Pool

- user model changes: no

- storage format changes: no

- interface changes: no

- Restore thread names to their original names

before returning them to the pool of the NC

app.

- Remove explicit thread name resets.

- Delete unused ThreadExecutor class.

Change-Id: I3bda1b65e7aefd35d2b8cfa814f73369c3bf5a18

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

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. … 9 more files in changeset.
[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>

  1. … 1 more file in changeset.
[NO ISSUE][ING] Ensure Active recovery is triggerred

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- Previously, when the cluster recovers and tries to notify the

active events handler to resume recovery tasks, the notification

is performed on the listener but the task waits on itself.

- After this change, the task waits on the listener and so

the notification wakes up the recovery task correctly.

Change-Id: I5fe3a2013a4cb92313648fd04ff2ef3c417270fb

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

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>

  1. … 2 more files in changeset.
[ASTERIXDB-2256] Reformat sources using code format template

Change-Id: I4faa141c1a8c9700d5e9ac50b839acc9d1eede73

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

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

  1. … 983 more files in changeset.
[NO ISSUE][ING] Stop Succeeds When Feed Fails

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Before this change, if a feed fails after stop is issued, it

goes to a failure state and the stop request will be stuck

waiting for the feed to go to a stopped state.

- With this change, a failure in the feed will cause it to go

to a stopped state if a stop request was issued.

- Test case is added

Change-Id: I486e11a339c1dfadc6a2a357c95a83dfc05772a1

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

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

  1. … 4 more files in changeset.
[ASTERIXDB-1564][CONF] Consistently Use Log4j2

- user model changes: no

- storage format changes: no

- interface changes: no

Details:

- Replace java.util.logging by Log4j2.

- Excluded classes due to their tests:

- IoUtil

- Tracer

Change-Id: Ic137571292f45de1f1994c61d328b97185012197

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

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

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

    • -12
    • +13
    ./ActiveEntityEventsListener.java
  1. … 388 more files in changeset.
[NO ISSUE][TX] Fix DatasetLock for Multiple Index Builds

- user model changes: no

- storage format changes: no

- interface changes: no

details:

- The mechanism used for allowing multiple concurrent index

builds does not work if the first index build finishes

before other index builds. It relied on a write lock

obtained by the first index builder and released by

the last index builder. This is not allowed when using

ReentrantReadWriteLock and will lead to an

IllegalMonitorStateException since the last thread to exit

did not hold the lock.

- Potential Deadlock between modify and exclusive modify can

happen when an exclusive modify attempts to upgrade the

lock to write lock while the modify lock waits for the

exclusive lock to release. This has been fixed too.

- Test cases were added.

Change-Id: I3bea3ff2075d952ab13402b0c445c464b431c0f5

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

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>

  1. … 2 more files in changeset.