Change in asterixdb[master]: Unify structure of Cluster Controller and Node Controller

2017-03-09 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1514

to look at the new patch set (#9).

Change subject: Unify structure of Cluster Controller and Node Controller
..

Unify structure of Cluster Controller and Node Controller

Change-Id: Ife3a002371a07ee9cdd32e1ffd50cc775bf1d453
---
M asterixdb/asterix-active/pom.xml
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActiveManagerMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCAppRuntimeContext.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/TransactionSubsystem.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/BindMetadataNodeTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/CheckpointTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/ExternalLibrarySetupTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/LocalRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/MetadataBootstrapTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/RemoteRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartFailbackTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartLifecycleComponentsTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartReplicationServiceTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/CompleteFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/PreparePartitionsFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/ReplayPartitionLogsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskResponseMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverMetadataNodeRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverPartitionsRequestMessage.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/NCMessageBroker.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/FeedOperations.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/common/config/ConfigUsageTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/AsterixVirtualBufferCacheProvider.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/CorrelatedPrefixMergePolicyFactory.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/TransactionSubsystemProvider.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/IApplicationContextInfo.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/LSMInsertDeleteOperatorNodePushable.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/Resource.java
M 
asterixdb/asterix-experiments/src/main/java/org/apache/asterix/experiment/builder/AbstractLocalExperimentBuilder.java
M asterixdb/asterix-external-data/pom.xml
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/LocalFSInputStreamFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunction.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedCollectOperatorNodePushable.java
M 

Change in asterixdb[master]: Unify structure of Cluster Controller and Node Controller

2017-03-09 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1514

to look at the new patch set (#10).

Change subject: Unify structure of Cluster Controller and Node Controller
..

Unify structure of Cluster Controller and Node Controller

Change-Id: Ife3a002371a07ee9cdd32e1ffd50cc775bf1d453
---
M asterixdb/asterix-active/pom.xml
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActiveManagerMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCAppRuntimeContext.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/TransactionSubsystem.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/BindMetadataNodeTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/CheckpointTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/ExternalLibrarySetupTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/LocalRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/MetadataBootstrapTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/RemoteRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartFailbackTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartLifecycleComponentsTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartReplicationServiceTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/CompleteFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/PreparePartitionsFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/ReplayPartitionLogsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskResponseMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverMetadataNodeRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverPartitionsRequestMessage.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ApplicationClassHelper.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/NCMessageBroker.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/FeedOperations.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/common/config/ConfigUsageTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/AsterixVirtualBufferCacheProvider.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/CorrelatedPrefixMergePolicyFactory.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/TransactionSubsystemProvider.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/IApplicationContextInfo.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/LSMInsertDeleteOperatorNodePushable.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/Resource.java
M 
asterixdb/asterix-experiments/src/main/java/org/apache/asterix/experiment/builder/AbstractLocalExperimentBuilder.java
M asterixdb/asterix-external-data/pom.xml
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/LocalFSInputStreamFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunction.java
M 

Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-09 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Fix transaction logs and optimize upserts
..


Patch Set 6:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/1554/6/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/ophelpers/IndexOperation.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/ophelpers/IndexOperation.java:

PS6, Line 36: ordinal
> This is going to be persisted in log records. Using ordinal here isn't a go
Done


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1554
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-09 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1554

to look at the new patch set (#7).

Change subject: Fix transaction logs and optimize upserts
..

Fix transaction logs and optimize upserts

Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/CommitOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/CommitPOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetupCommitExtensionOpRule.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/logging/CheckpointingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/AbstractOperationCallback.java
D 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/DatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILockManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ITransactionManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java
M asterixdb/asterix-installer/pom.xml
M asterixdb/asterix-installer/src/main/assembly/binary-assembly.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicationChannel.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/JobEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/MultiTransactionJobletEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/std/FlushDatasetOperatorDescriptor.java
M asterixdb/asterix-transactions/pom.xml
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/TempDatasetIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntimeFactory.java
D 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/UpsertCommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java
M 

Change in asterixdb[master]: Reduce log level for HttpServer requests

2017-03-03 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Reduce log level for HttpServer requests
..


Patch Set 1: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1544
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I1b5eb12bcdaa37422f09b203d3e70be6f9301308
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Reduce log level for HttpServer requests

2017-03-03 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Reduce log level for HttpServer requests
..


Patch Set 2: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1544
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I1b5eb12bcdaa37422f09b203d3e70be6f9301308
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Config Cleanup, Update Docs

2017-03-08 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Config Cleanup, Update Docs
..


Patch Set 8:

(5 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1555/8/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_full/cluster_state_1_full.1.adm
File 
asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_full/cluster_state_1_full.1.adm:

PS8, Line 13: "feed.memory.global.budget" : 67108864,
rename this to active


https://asterix-gerrit.ics.uci.edu/#/c/1555/8/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_less/cluster_state_1_less.1.adm
File 
asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_less/cluster_state_1_less.1.adm:

PS8, Line 13: feed.memory.global.budget" : 67108864
active


https://asterix-gerrit.ics.uci.edu/#/c/1555/8/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/ExternalProperties.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/ExternalProperties.java:

PS8, Line 33: FEED_PORT(INTEGER, 19003, "The listen port of the feed server"),
Rename to active?


https://asterix-gerrit.ics.uci.edu/#/c/1555/8/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/FeedProperties.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/FeedProperties.java:

PS8, Line 29: FeedProperties
Can we rename this to active properties since this memory is shared across 
different active jobs (Feeds, BAD, etc,)


PS8, Line 32: FEED_MEMORY_GLOBAL_BUDGET
This one too


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1555
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I9edc9ced4c2b99db239a2075903f9d8b256c26e4
Gerrit-PatchSet: 8
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-08 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Fix transaction logs and optimize upserts
..


Patch Set 5:

(6 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1554/5/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/CommitOperator.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/CommitOperator.java:

Line 62: public void setVars(List primaryKeyLogicalVars, 
LogicalVariable upsertVar) {
> Seems like a reasonable suggestion
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/5/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
File 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java:

PS5, Line 163: IFrameWriter
> Making this an array is a little opaque,maybe an object with the two fields
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/5/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILockManager.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILockManager.java:

PS5, Line 51: int
> I wonder why this was an object in the first place. I don't see any reason 
There has been some discussions on this.
Let's not merge before we get a green light from Till at least.

In short (type safety) is the reason behind making it a class


https://asterix-gerrit.ics.uci.edu/#/c/1554/5/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java:

PS5, Line 28:  6;
> Any reason not to make it 5/6 now instead of skipping 5?
Hmmm. not breaking existing instances? seemed safer to skip it


https://asterix-gerrit.ics.uci.edu/#/c/1554/5/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java
File 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java:

PS5, Line 80: byte
> Why's this cleaner? Using an enum where appropriate is very clear
In this case, it is not about cleanliness. It is about performance. having this 
be always a single path is better IMO since this gets called on a per tuple 
basis in the upsert pipeline


https://asterix-gerrit.ics.uci.edu/#/c/1554/5/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java:

PS5, Line 289: :
> Why's that the case, that upsert would only affect the current mutable comp
The upsert simply replaces what's in the memory component. The insert checks 
for duplicates in all components


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1554
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Config Cleanup, Update Docs

2017-03-08 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Config Cleanup, Update Docs
..


Patch Set 11: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1555
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I9edc9ced4c2b99db239a2075903f9d8b256c26e4
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Fix Running 'asterixnc' Without Defining Node Id

2017-03-08 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Fix Running 'asterixnc' Without Defining Node Id
..


Patch Set 1:

We need to get rid of the  issue once and for all

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1560
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I7c454619f4a6611e6bdc37a0169b682c1d3a7e12
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Fix Running 'asterixnc' Without Defining Node Id

2017-03-08 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Fix Running 'asterixnc' Without Defining Node Id
..


Patch Set 1: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1560
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I7c454619f4a6611e6bdc37a0169b682c1d3a7e12
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Unify structure of Cluster Controller and Node Controller

2017-03-08 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1514

to look at the new patch set (#3).

Change subject: Unify structure of Cluster Controller and Node Controller
..

Unify structure of Cluster Controller and Node Controller

Change-Id: Ife3a002371a07ee9cdd32e1ffd50cc775bf1d453
---
M asterixdb/asterix-active/pom.xml
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActiveManagerMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCAppRuntimeContext.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/TransactionSubsystem.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/BindMetadataNodeTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/CheckpointTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/ExternalLibrarySetupTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/LocalRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/MetadataBootstrapTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/RemoteRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartFailbackTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartLifecycleComponentsTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartReplicationServiceTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/CompleteFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/PreparePartitionsFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/ReplayPartitionLogsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskResponseMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverMetadataNodeRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverPartitionsRequestMessage.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/NCMessageBroker.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/FeedOperations.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/common/config/ConfigUsageTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/AsterixVirtualBufferCacheProvider.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/CorrelatedPrefixMergePolicyFactory.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/TransactionSubsystemProvider.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/IApplicationContextInfo.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/LSMInsertDeleteOperatorNodePushable.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/Resource.java
M 
asterixdb/asterix-experiments/src/main/java/org/apache/asterix/experiment/builder/AbstractLocalExperimentBuilder.java
M asterixdb/asterix-external-data/pom.xml
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/LocalFSInputStreamFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunction.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedCollectOperatorNodePushable.java
M 

Change in asterixdb[master]: Unify structure of Cluster Controller and Node Controller

2017-03-08 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1514

to look at the new patch set (#4).

Change subject: Unify structure of Cluster Controller and Node Controller
..

Unify structure of Cluster Controller and Node Controller

Change-Id: Ife3a002371a07ee9cdd32e1ffd50cc775bf1d453
---
M asterixdb/asterix-active/pom.xml
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActiveManagerMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCAppRuntimeContext.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/TransactionSubsystem.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/BindMetadataNodeTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/CheckpointTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/ExternalLibrarySetupTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/LocalRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/MetadataBootstrapTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/RemoteRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartFailbackTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartLifecycleComponentsTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartReplicationServiceTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/CompleteFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/PreparePartitionsFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/ReplayPartitionLogsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskResponseMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverMetadataNodeRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverPartitionsRequestMessage.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/NCMessageBroker.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/FeedOperations.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/common/config/ConfigUsageTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/AsterixVirtualBufferCacheProvider.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/CorrelatedPrefixMergePolicyFactory.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/TransactionSubsystemProvider.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/IApplicationContextInfo.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/LSMInsertDeleteOperatorNodePushable.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/Resource.java
M 
asterixdb/asterix-experiments/src/main/java/org/apache/asterix/experiment/builder/AbstractLocalExperimentBuilder.java
M asterixdb/asterix-external-data/pom.xml
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/LocalFSInputStreamFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunction.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedCollectOperatorNodePushable.java
M 

Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-08 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1554

to look at the new patch set (#6).

Change subject: Fix transaction logs and optimize upserts
..

Fix transaction logs and optimize upserts

Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/CommitOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/CommitPOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetupCommitExtensionOpRule.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/logging/CheckpointingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/AbstractOperationCallback.java
D 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/DatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILockManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ITransactionManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java
M asterixdb/asterix-installer/pom.xml
M asterixdb/asterix-installer/src/main/assembly/binary-assembly.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicationChannel.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/JobEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/MultiTransactionJobletEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/std/FlushDatasetOperatorDescriptor.java
M asterixdb/asterix-transactions/pom.xml
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntimeFactory.java
D 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/UpsertCommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java
M 

Change in asterixdb[master]: Unify structure of Cluster Controller and Node Controller

2017-03-09 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1514

to look at the new patch set (#5).

Change subject: Unify structure of Cluster Controller and Node Controller
..

Unify structure of Cluster Controller and Node Controller

Change-Id: Ife3a002371a07ee9cdd32e1ffd50cc775bf1d453
---
M asterixdb/asterix-active/pom.xml
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActiveManagerMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCAppRuntimeContext.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCExtensionManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/TransactionSubsystem.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/BindMetadataNodeTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/CheckpointTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/ExternalLibrarySetupTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/LocalRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/MetadataBootstrapTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/RemoteRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartFailbackTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartLifecycleComponentsTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartReplicationServiceTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/CompleteFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/PreparePartitionsFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/ReplayPartitionLogsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskResponseMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverMetadataNodeRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverPartitionsRequestMessage.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/NCMessageBroker.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/FeedOperations.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/common/config/ConfigUsageTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/AsterixVirtualBufferCacheProvider.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/CorrelatedPrefixMergePolicyFactory.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/TransactionSubsystemProvider.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/IApplicationContextInfo.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/LSMInsertDeleteOperatorNodePushable.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/Resource.java
M 
asterixdb/asterix-experiments/src/main/java/org/apache/asterix/experiment/builder/AbstractLocalExperimentBuilder.java
M asterixdb/asterix-external-data/pom.xml
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/HDFSDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/LocalFSInputStreamFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/library/ExternalFunction.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedCollectOperatorNodePushable.java
M 

Change in asterixdb[master]: ErrorCode Map Initialization Needs To Be Thread Safe

2017-03-13 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: ErrorCode Map Initialization Needs To Be Thread Safe
..


Patch Set 1: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1571
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I78c0df172038bb1a97297837ff7c82b2727f8556
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Detect IO errors before NullPointerException

2017-03-13 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1572

to look at the new patch set (#3).

Change subject: Detect IO errors before NullPointerException
..

Detect IO errors before NullPointerException

Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
---
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
3 files changed, 36 insertions(+), 14 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/72/1572/3
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1572
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 


Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Fix transaction logs and optimize upserts
..


Patch Set 7:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/1554/7/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/ophelpers/IndexOperation.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/ophelpers/IndexOperation.java:

PS7, Line 36: public static final byte INSERT_BYTE = 0x01;
: public static final byte DELETE_BYTE = 0x02;
: public static final byte UPSERT_BYTE = 0x03;
: 
: public static final byte getLogRecordOpByte(IndexOperation 
op) {
: switch (op) {
: case DELETE:
: return DELETE_BYTE;
: case INSERT:
: return INSERT_BYTE;
: case UPSERT:
: return UPSERT_BYTE;
: default:
: throw new IllegalArgumentException("Op");
: }
: }
: }
Will move this to asterixdb since hyracks shouldn't be aware of logs


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1554
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Detect IO errors before NullPointerException

2017-03-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1572

Change subject: Detect IO errors before NullPointerException
..

Detect IO errors before NullPointerException

Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
---
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
1 file changed, 6 insertions(+), 0 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/72/1572/1

diff --git 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
index 731d312..8a1b87e 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
@@ -414,7 +414,13 @@
 
 protected FilenameFilter getTransactionFileFilter(boolean inclusive) {
 File dir = new File(baseDir);
+if (!dir.isDirectory()) {
+throw new IllegalStateException("base dir: " + baseDir + " is not 
a directory");
+}
 String[] files = dir.list(transactionFileNameFilter);
+if (files == null) {
+throw new IllegalStateException("Failed to list files in base dir: 
" + baseDir);
+}
 if (files.length == 0) {
 return dummyFilter;
 } else {

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1572
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 


Change in asterixdb[master]: Detect IO errors before NullPointerException

2017-03-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new patch set (#2).

Change subject: Detect IO errors before NullPointerException
..

Detect IO errors before NullPointerException

Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
---
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
1 file changed, 9 insertions(+), 0 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/72/1572/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1572
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: Detect IO errors before NullPointerException

2017-03-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Detect IO errors before NullPointerException
..


Patch Set 2:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/1572/2/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java:

PS2, Line 427: 
> I'm not sure why those checks are necessary?  Isn't IOException clear/frien
unfortunately, dir.list doesn't throw IOException but will return null in case 
of error or file is not a directory.


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1572
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Fix transaction logs and optimize upserts
..


Patch Set 7:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/1554/7/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputPushRuntime.java
File 
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputPushRuntime.java:

PS7, Line 32: RecordDescriptor
> It looks that this method is unused?
Done


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1554
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Fix transaction logs and optimize upserts
..


Patch Set 7:

(3 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java:

PS7, Line 691: getNewValue
> In addition, to be consistent, for a DELETE record, should be the deleted v
I think you're right. Done


PS7, Line 697: forceUpsert
> This does not seem entirely right to me...
recovery operations don't create logs. they are memory only operations and they 
must never fail. If they fail, system is in an unstable state.


PS7, Line 699: 
> A related question:  does each individual undo operation has an entity comm
recovery ops don't create any logs.


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1554
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Add a REST endpoint for query cancellation.

2017-03-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Add a REST endpoint for query cancellation.
..


Patch Set 13:

(9 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1564/13/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/RestApiServlet.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/RestApiServlet.java:

PS13, Line 206:  null, null)
these seem to be null most of the time. maybe consider overloading?


https://asterix-gerrit.ics.uci.edu/#/c/1564/13/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/ServletConstants.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/servlet/ServletConstants.java:

PS13, Line 25: EXECUTOR_SERVICE
this seems to be named differently from other attr variables. make them 
consistent please.


https://asterix-gerrit.ics.uci.edu/#/c/1564/13/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/java/AsterixJavaClient.java
File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/java/AsterixJavaClient.java:

PS13, Line 108: null, null
yet another place where we pass nulls.


https://asterix-gerrit.ics.uci.edu/#/c/1564/13/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java
File 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java:

PS13, Line 62: "clientContextID"
make those constants? so if needed, they only need to change in a single 
location


https://asterix-gerrit.ics.uci.edu/#/c/1564/13/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
File 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java:

PS13, Line 1228: if (result == null) {
   : return;
   : }
how can result be null for select dataverses?


https://asterix-gerrit.ics.uci.edu/#/c/1564/13/asterixdb/asterix-app/src/test/resources/runtimets/queries/types/any-object/any-object.2.query.aql
File 
asterixdb/asterix-app/src/test/resources/runtimets/queries/types/any-object/any-object.2.query.aql:

PS13, Line 21: where $x.DataverseName = "test"
why the additional condition?


https://asterix-gerrit.ics.uci.edu/#/c/1564/2/asterixdb/asterix-app/src/test/resources/runtimets/results/types/any-object/any-object.2.adm
File 
asterixdb/asterix-app/src/test/resources/runtimets/results/types/any-object/any-object.2.adm:

the old result is ordered correctly but the new one is not?
why is that? even though the query had order by?

I know this is patchset 2 but this worries me.


https://asterix-gerrit.ics.uci.edu/#/c/1564/13/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/Servlets.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/utils/Servlets.java:

PS13, Line 37: QUERY_CANCEL = "/query/admin/active_requests
should this be renamed?
Query Cancel -> Active requests?


https://asterix-gerrit.ics.uci.edu/#/c/1564/13/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java:

PS13, Line 319:indexHelper.close();
if index is not assigned in open(), then indexHelper wasn't opened. add a check?


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1564
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I2936ac83f71bbef533e2695ed0a2b220c23fc483
Gerrit-PatchSet: 13
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Yingyi Bu 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Steven Jacobs 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb-bad[master]: Fixed to work with AsterixDB changes

2017-03-10 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Fixed to work with AsterixDB changes
..


Patch Set 1: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1569
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib91be596b0dc5907e463da1c074b0f0f2fde324d
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb-bad
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Fix Appassember Scripts On MacOS

2017-03-10 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Fix Appassember Scripts On MacOS
..


Patch Set 2: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1566
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I0ebf8b688f72617ed6595bdd175a8be9b788a922
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Rename Class Helper and cleanup ICCApplication interface

2017-03-10 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has submitted this change and it was merged.

Change subject: Rename Class Helper and cleanup ICCApplication interface
..


Rename Class Helper and cleanup ICCApplication interface

Change-Id: I2f6deb10ff240e85b26244b52c99776c0d1d3291
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1567
Tested-by: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Michael Blow 
---
R 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ApplicationConfigurator.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/application/ICCApplication.java
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/BaseCCApplication.java
5 files changed, 5 insertions(+), 16 deletions(-)

Approvals:
  Michael Blow: Looks good to me, approved
  Jenkins: Verified; Verified

Objections:
  Jenkins: Violations found; Violations found



diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ApplicationClassHelper.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ApplicationConfigurator.java
similarity index 95%
rename from 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ApplicationClassHelper.java
rename to 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ApplicationConfigurator.java
index e276be1..4a5371a 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ApplicationClassHelper.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ApplicationConfigurator.java
@@ -25,13 +25,12 @@
 import org.apache.hyracks.control.common.controllers.NCConfig;
 import org.apache.hyracks.util.file.FileUtil;
 
-class ApplicationClassHelper {
-private ApplicationClassHelper() {
+class ApplicationConfigurator {
+private ApplicationConfigurator() {
 }
 
 static void registerConfigOptions(IConfigManager configManager) {
 AsterixProperties.registerConfigOptions(configManager);
-
 ControllerConfig.defaultDir = 
FileUtil.joinPath(System.getProperty("java.io.tmpdir"), "asterixdb");
 NCConfig.defaultAppClass = NCApplication.class.getName();
 CCConfig.defaultAppClass = CCApplication.class.getName();
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
index dadc2ae..c831508 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
@@ -304,7 +304,7 @@
 @Override
 public void registerConfig(IConfigManager configManager) {
 super.registerConfig(configManager);
-ApplicationClassHelper.registerConfigOptions(configManager);
+ApplicationConfigurator.registerConfigOptions(configManager);
 }
 
 public static synchronized void setAsterixStateProxy(IAsterixStateProxy 
proxy) {
@@ -316,8 +316,7 @@
 return AppContextInfo.INSTANCE;
 }
 
-@Override
-public IHyracksClientConnection getHcc() throws Exception {
+protected IHyracksClientConnection getHcc() throws Exception {
 String strIP = 
ccServiceCtx.getCCContext().getClusterControllerInfo().getClientNetAddress();
 int port = 
ccServiceCtx.getCCContext().getClusterControllerInfo().getClientNetPort();
 return new HyracksConnection(strIP, port);
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
index 28e1f23..ce33cef 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/NCApplication.java
@@ -68,7 +68,7 @@
 @Override
 public void registerConfig(IConfigManager configManager) {
 super.registerConfig(configManager);
-ApplicationClassHelper.registerConfigOptions(configManager);
+ApplicationConfigurator.registerConfigOptions(configManager);
 }
 
 @Override
diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/application/ICCApplication.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/application/ICCApplication.java
index b105d24..d4269d5 100644
--- 

Change in asterixdb[master]: Detect IO errors before NullPointerException

2017-03-13 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has submitted this change and it was merged.

Change subject: Detect IO errors before NullPointerException
..


Detect IO errors before NullPointerException

Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1572
Reviewed-by: Michael Blow 
Sonar-Qube: Jenkins 
Tested-by: Jenkins 
BAD: Jenkins 
Integration-Tests: Jenkins 
---
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/pom.xml
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIndexFileManager.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
6 files changed, 65 insertions(+), 33 deletions(-)

Approvals:
  Michael Blow: Looks good to me, approved
  Jenkins: Verified; No violations found; No violations found; Verified



diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
index 401103b..a301d7c 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
@@ -60,6 +60,11 @@
 public static final int NO_RESULTSET = 24;
 public static final int JOB_CANCELED = 25;
 public static final int NODE_FAILED = 26;
+public static final int FILE_IS_NOT_DIRECTORY = 27;
+public static final int CANNOT_READ_FILE = 28;
+public static final int UNIDENTIFIED_IO_ERROR_READING_FILE = 29;
+public static final int FILE_DOES_NOT_EXISTS = 30;
+public static final int UNIDENTIFIED_IO_ERROR_DELETING_DIR = 31;
 
 // Compilation error codes.
 public static final int RULECOLLECTION_NOT_INSTANCE_OF_LIST = 10001;
diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
index 12601fb..61b30af 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
@@ -45,5 +45,10 @@
 24 = No result set for job %1$s
 25 = Job %1$s has been cancelled by a user
 26 = Node %1$s failed
+27 = File %1$s is not a directory
+28 = User doesn't have read permissions on the file %1$s
+29 = Unidentified IO error occurred while reading the file %1$s
+30 = File %1$s doesn't exists
+31 = Unidentified IO error occurred while deleting the dir %1$s
 
 1 = The given rule collection %1$s is not an instance of the List class.
diff --git 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
index 53b8405..b78de8b 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
@@ -57,10 +57,10 @@
 import org.apache.hyracks.storage.am.common.ophelpers.MultiComparator;
 import org.apache.hyracks.storage.am.common.tuples.PermutingTupleReference;
 import org.apache.hyracks.storage.am.lsm.btree.tuples.LSMBTreeTupleReference;
-import org.apache.hyracks.storage.am.lsm.common.api.ILSMDiskComponent;
 import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponent;
 import org.apache.hyracks.storage.am.lsm.common.api.ILSMComponentFilterFactory;
 import 
org.apache.hyracks.storage.am.lsm.common.api.ILSMComponentFilterFrameFactory;
+import org.apache.hyracks.storage.am.lsm.common.api.ILSMDiskComponent;
 import org.apache.hyracks.storage.am.lsm.common.api.ILSMHarness;
 import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperation;
 import org.apache.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallback;
@@ -163,7 +163,7 @@
 if (isActivated) {
 throw new HyracksDataException("Failed to create the index since 
it is activated.");
 }
-
+// Why delete is part of the create??
  

Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-13 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1554

to look at the new patch set (#8).

Change subject: Fix transaction logs and optimize upserts
..

Fix transaction logs and optimize upserts

Previously, Transaction logs didn't log previous image
which made it difficult to undo aborted transactions
correctly. This change fixes that by always recording
previous image.

In addition, Upsert was performed as a delete if found
followed by an insert with two logs. This change makes
it a single operation with a single transaction log.

Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/CommitOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/CommitPOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetupCommitExtensionOpRule.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/logging/CheckpointingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/AbstractOperationCallback.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/DatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ITransactionManager.java
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ImmutableDatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java
M asterixdb/asterix-installer/pom.xml
M asterixdb/asterix-installer/src/main/assembly/binary-assembly.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicationChannel.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/JobEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/MultiTransactionJobletEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/std/FlushDatasetOperatorDescriptor.java
M asterixdb/asterix-transactions/pom.xml
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/LockThenSearchOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/LockThenSearchOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexSearchOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexSearchOperationCallbackFactory.java
M 

Change in asterixdb[master]: Detect IO errors before NullPointerException

2017-03-13 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1572

to look at the new patch set (#5).

Change subject: Detect IO errors before NullPointerException
..

Detect IO errors before NullPointerException

Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
---
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/pom.xml
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIndexFileManager.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
6 files changed, 62 insertions(+), 32 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/72/1572/5
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1572
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 


Change in asterixdb[master]: Detect IO errors before NullPointerException

2017-03-13 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Detect IO errors before NullPointerException
..


Patch Set 4:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/1572/4/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java:

PS4, Line 416: if (!dir.canRead()) {
 : throw 
HyracksDataException.create(ErrorCode.CANNOT_READ_FILE, baseDir);
 : }
 : if (!dir.exists()) {
 : throw 
HyracksDataException.create(ErrorCode.FILE_DOES_NOT_EXISTS, baseDir);
 : }
 : if (!dir.isDirectory()) {
 : throw 
HyracksDataException.create(ErrorCode.FILE_IS_NOT_DIRECTORY, baseDir);
 : }
> I think all of these can be put in the block starting at 430, only throwing
Done.


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1572
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-13 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1554

to look at the new patch set (#10).

Change subject: Fix transaction logs and optimize upserts
..

Fix transaction logs and optimize upserts

Previously, Transaction logs didn't log previous image
which made it difficult to undo aborted transactions
correctly. This change fixes that by always recording
previous image.

In addition, Upsert was performed as a delete if found
followed by an insert with two logs. This change makes
it a single operation with a single transaction log.

Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/CommitOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/CommitPOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetupCommitExtensionOpRule.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/logging/CheckpointingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/AbstractOperationCallback.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/DatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ITransactionManager.java
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ImmutableDatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java
M asterixdb/asterix-installer/pom.xml
M asterixdb/asterix-installer/src/main/assembly/binary-assembly.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicationChannel.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/JobEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/MultiTransactionJobletEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/std/FlushDatasetOperatorDescriptor.java
M asterixdb/asterix-transactions/pom.xml
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/LockThenSearchOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/LockThenSearchOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexSearchOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexSearchOperationCallbackFactory.java
M 

Change in asterixdb[master]: Enable extension of IDataFormat

2017-03-13 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has abandoned this change.

Change subject: Enable extension of IDataFormat
..


Abandoned

Not needed anymore

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1349
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: abandon
Gerrit-Change-Id: I7b3e26fbb4a5da9ae4522b228991155f1a06d854
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 


Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-13 Thread abdullah alamoudi (Code Review)
Hello Till Westmann, Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1554

to look at the new patch set (#11).

Change subject: Fix transaction logs and optimize upserts
..

Fix transaction logs and optimize upserts

Previously, Transaction logs didn't log previous image
which made it difficult to undo aborted transactions
correctly. This change fixes that by always recording
previous image.

In addition, Upsert was performed as a delete if found
followed by an insert with two logs. This change makes
it a single operation with a single transaction log.

Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/CommitOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/CommitPOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetupCommitExtensionOpRule.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/logging/CheckpointingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/AbstractOperationCallback.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/DatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ITransactionManager.java
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ImmutableDatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java
M asterixdb/asterix-installer/pom.xml
M asterixdb/asterix-installer/src/main/assembly/binary-assembly.xml
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicationChannel.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/JobEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/MultiTransactionJobletEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/std/FlushDatasetOperatorDescriptor.java
M asterixdb/asterix-transactions/pom.xml
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/LockThenSearchOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/LockThenSearchOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexInstantSearchOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexSearchOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexSearchOperationCallbackFactory.java
M 

Change in asterixdb[master]: Detect IO errors before NullPointerException

2017-03-13 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1572

to look at the new patch set (#6).

Change subject: Detect IO errors before NullPointerException
..

Detect IO errors before NullPointerException

Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
---
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/ErrorCode.java
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
M hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/pom.xml
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIndexFileManager.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/AbstractLSMIndexFileManager.java
6 files changed, 65 insertions(+), 33 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/72/1572/6
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1572
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 


Change in asterixdb[master]: Detect IO errors before NullPointerException

2017-03-13 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Detect IO errors before NullPointerException
..


Patch Set 5:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/1572/5/hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties
File 
hyracks-fullstack/hyracks/hyracks-api/src/main/resources/errormsg/en.properties:

PS5, Line 51:  
> WS
Done


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1572
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I808b12590791a17b749084d1e85f34b9c4ac5893
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb-bad[master]: Match Master method changes

2017-03-13 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Match Master method changes
..


Patch Set 1: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1573
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib3298247ac09ce5f92a9c174438bd76d7a4d319e
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb-bad
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-13 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Fix transaction logs and optimize upserts
..


Patch Set 7:

(30 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1554/7//COMMIT_MSG
Commit Message:

PS7, Line 7: Fix transaction logs and optimize upserts
> Add some details on "Fix transaction logs" and "optimize upserts" below the
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java
File 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java:

PS7, Line 145: -1
> Keep the DatasetId and create a static constant for the DatasetId(-1)?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/AbstractOperationCallback.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/AbstractOperationCallback.java:

PS7, Line 29: int
> Keep the DatasetId?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILockManager.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILockManager.java:

PS7, Line 51: int
> Keep the DatasetId?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILogRecord.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILogRecord.java:

PS7, Line 52: DS_LEN
> Keep the DatasetId?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java:

PS7, Line 125: int
> Keep the DatasetId?
Done


PS7, Line 168: -
> Keep the DatasetId and create a static constant for the DatasetId(-1)?
Done


PS7, Line 176: -
> Keep the DatasetId and create a static constant for the DatasetId(-1)?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataIndex.java
File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataIndex.java:

PS7, Line 81: int
> Keep the DatasetId?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndex.java
File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndex.java:

PS7, Line 79: int
> Keep the DatasetId?
Done


PS7, Line 272: int
> Keep the DatasetId?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/JobEventListenerFactory.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/JobEventListenerFactory.java:

PS7, Line 57: -
> Keep the DatasetId and create a static constant for the DatasetId(-1)?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/MultiTransactionJobletEventListenerFactory.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/MultiTransactionJobletEventListenerFactory.java:

PS7, Line 61: -
> Keep the DatasetId and create a static constant for the DatasetId(-1)?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/std/FlushDatasetOperatorDescriptor.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/std/FlushDatasetOperatorDescriptor.java:

PS7, Line 42: int
> Keep the DatasetId?
Done


PS7, Line 83: datasetId
> Keep the DatasetId?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java
File 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java:

PS7, Line 102: int
> Keep the DatasetId?
Done


PS7, Line 388: int
> Keep the DatasetId?
Done


PS7, Line 424: int
> Keep the DatasetId?
Done


PS7, Line 468: int
> Keep the DatasetId?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1554/7/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionManager.java
File 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionManager.java:

PS7, Line 55: int
> Keep the DatasetId?
Done


PS7, Line 106: int
> Keep the DatasetId?
Done


PS7, Line 128: int
> Keep the DatasetId?
Done



Change in asterixdb[master]: Cleanup and bug fixes in Feeds pipeline

2017-03-06 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1523

to look at the new patch set (#11).

Change subject: Cleanup and bug fixes in Feeds pipeline
..

Cleanup and bug fixes in Feeds pipeline

The bug fix is for the MessagingFrameTupleAppender. It used
to consume one extra byte per frame.

Cleanups are for feeds. These include:
1. Remove the use of feed dataflow marker. Feeds which
   need to send progress can and should do that without
   a marker thread.
2. Lock the memory component for feed commit to be able
   to add information to the memory component's metadata
   page safely.

In addition, this change introduces a frame level callback
for index operations.

Change-Id: Ie97b2133ebecb7380cf0ba336e60ed714d06f8ee
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/InvertedIndexPOperator.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/CCMessageBroker.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/FlushDatasetUtil.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/ConnectorDescriptorWithMessagingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetResource.java
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/NoOpFrameOperationCallbackFactory.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ExceptionUtils.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/PrimaryIndexLogMarkerCallback.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IExternalDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedTupleForwarder.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/stream/StreamRecordReaderFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedIntakeOperatorNodePushable.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/provider/DataflowControllerProvider.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataConstants.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java
M 
asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/library/adapter/TestTypedAdapterFactory.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/DatasetUtil.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/ExternalIndexingOperations.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/IndexUtil.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/SecondaryIndexOperationsHelper.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/pointables/nonvisitor/ARecordPointable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMTreeUpsertOperatorDescriptor.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntimeFactory.java
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/comm/VSizeFrame.java
M 

Change in asterixdb[master]: Update the Feed Tutorial

2017-03-06 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Update the Feed Tutorial
..


Patch Set 2:

(2 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1533/2/asterixdb/asterix-doc/src/site/markdown/feeds/tutorial.md
File asterixdb/asterix-doc/src/site/markdown/feeds/tutorial.md:

PS2, Line 248:  disconnect feed my_feed from dataset RssDataset;
This should throw an error and disconnecting a running feed should not be 
allowed


PS2, Line 294: 
 : ip = '127.0.0.1'
 : port1 = 10001
 : filePath = 'chu.adm'
 : 
 : sock1 = socket()
 : sock1.connect((ip, port1))
 : 
 : with open(filePath) as inputData:
 : for line in inputData:
 : sock1.sendall(line)
 : sock1.close()
 : 
not sure if we should include this example.


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1533
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia18d0b2e3f483332058d9739350643e7f8773433
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Carey 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Xikui Wang 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-06 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new patch set (#3).

Change subject: Fix transaction logs and optimize upserts
..

Fix transaction logs and optimize upserts

Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/CommitPOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetupCommitExtensionOpRule.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/logging/CheckpointingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/AbstractOperationCallback.java
D 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/DatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILockManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ITransactionManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicationChannel.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/JobEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/MultiTransactionJobletEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/std/FlushDatasetOperatorDescriptor.java
M asterixdb/asterix-transactions/pom.xml
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntimeFactory.java
D 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/UpsertCommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/TxnId.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionManager.java
M 

Change in asterixdb[master]: More consistency between the HTTP APIs

2017-03-06 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: More consistency between the HTTP APIs
..


Patch Set 4: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1550
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie0e58cac20c1976610f38796d06f0518a3174c50
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-06 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1554

Change subject: Fix transaction logs and optimize upserts
..

Fix transaction logs and optimize upserts

Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/CommitPOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetupCommitExtensionOpRule.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/logging/CheckpointingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicationChannel.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
M asterixdb/asterix-transactions/pom.xml
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntimeFactory.java
D 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/UpsertCommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java
M 
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/base/AbstractOneInputOneOutputPushRuntime.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/api/IModificationOperationCallback.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/impls/NoOpOperationCallback.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/ophelpers/IndexOperation.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMIndexAccessor.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMTreeIndexAccessor.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexAccessor.java
M 
hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/btree/AbstractModificationOperationCallbackTest.java
M 
hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/storage/am/common/TestOperationCallback.java
36 files changed, 118 insertions(+), 219 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/54/1554/1

diff --git 

Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-06 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1554

to look at the new patch set (#4).

Change subject: Fix transaction logs and optimize upserts
..

Fix transaction logs and optimize upserts

Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/CommitOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/CommitPOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetupCommitExtensionOpRule.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/logging/CheckpointingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/AbstractOperationCallback.java
D 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/DatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILockManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ITransactionManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicationChannel.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/JobEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/MultiTransactionJobletEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/std/FlushDatasetOperatorDescriptor.java
M asterixdb/asterix-transactions/pom.xml
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntimeFactory.java
D 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/UpsertCommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java
M 

Change in asterixdb[master]: Fix transaction logs and optimize upserts

2017-03-06 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1554

to look at the new patch set (#5).

Change subject: Fix transaction logs and optimize upserts
..

Fix transaction logs and optimize upserts

Change-Id: Ice5296267033cd7debe76894c864c6411f761d83
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/CommitOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/CommitPOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetupCommitExtensionOpRule.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LogMarkerTest.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/logging/CheckpointingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/AbstractOperationCallback.java
D 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/DatasetId.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILockManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ILogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/ITransactionManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogType.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataIndex.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-replication/src/main/java/org/apache/asterix/replication/management/ReplicationChannel.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/JobEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/job/listener/MultiTransactionJobletEventListenerFactory.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMSecondaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/std/FlushDatasetOperatorDescriptor.java
M asterixdb/asterix-transactions/pom.xml
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/AbstractIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/SecondaryIndexModificationOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallback.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/UpsertOperationCallbackFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntimeFactory.java
D 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/UpsertCommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java
M 

Change in asterixdb[master]: Add links to node/job details to summaries

2017-03-04 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Add links to node/job details to summaries
..


Patch Set 9: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1530
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I012acbf10eb6f11a625a2a5e51eed1421d8fd046
Gerrit-PatchSet: 9
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Till Westmann 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Shutdown Http server executor on stop

2017-03-02 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1543

Change subject: Shutdown Http server executor on stop
..

Shutdown Http server executor on stop

Change-Id: I5e177aaa3716110de211a7538b8c40b0d1f28b7c
---
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
1 file changed, 9 insertions(+), 0 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/43/1543/1

diff --git 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
index 2f35b6a..8fe2b4f 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
@@ -201,6 +201,15 @@
 protected void doStop() throws InterruptedException {
 channel.close();
 channel.closeFuture().sync();
+executor.shutdown();
+try {
+executor.awaitTermination(1, TimeUnit.MINUTES);
+if (!executor.isTerminated()) {
+LOGGER.log(Level.SEVERE, "Failed to shutdown http server 
executor");
+}
+} catch (Exception e) {
+LOGGER.log(Level.SEVERE, "Error while shutting down http server 
executor", e);
+}
 }
 
 public IServlet getServlet(FullHttpRequest request) {

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1543
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5e177aaa3716110de211a7538b8c40b0d1f28b7c
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 


Change in asterixdb[master]: Cleanup and bug fixes in Feeds pipeline

2017-03-01 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Cleanup and bug fixes in Feeds pipeline
..


Patch Set 8:

(2 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1523/8/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedIntakeOperatorNodePushable.java
File 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedIntakeOperatorNodePushable.java:

PS8, Line 64: writer.open();
> why close() if open() fails?  it looks like this will fail in at least some
Maybe we should revisit this but as per the IFrameWriter contract, if open is 
called, close must be called even if open fails.


https://asterix-gerrit.ics.uci.edu/#/c/1523/8/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/freepage/ArrayValueReference.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/freepage/ArrayValueReference.java:

Line 23: public class ArrayValueReference implements IValueReference {
> This seems mutable still, why the name change?
Done


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1523
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie97b2133ebecb7380cf0ba336e60ed714d06f8ee
Gerrit-PatchSet: 8
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Cleanup and bug fixes in Feeds pipeline

2017-03-01 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1523

to look at the new patch set (#9).

Change subject: Cleanup and bug fixes in Feeds pipeline
..

Cleanup and bug fixes in Feeds pipeline

Change-Id: Ie97b2133ebecb7380cf0ba336e60ed714d06f8ee
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/CCMessageBroker.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/ConnectorDescriptorWithMessagingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetResource.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ExceptionUtils.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/PrimaryIndexLogMarkerCallback.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IExternalDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedTupleForwarder.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/stream/StreamRecordReaderFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedIntakeOperatorNodePushable.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/provider/DataflowControllerProvider.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataConstants.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/ExternalDataUtils.java
M 
asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/library/adapter/TestTypedAdapterFactory.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/Dataset.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/pointables/nonvisitor/ARecordPointable.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryUpsertOperatorNodePushable.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntime.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntimeFactory.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/UpsertCommitRuntime.java
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/comm/VSizeFrame.java
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java
M 
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/api/AbstractPointable.java
M 
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/api/IPointable.java
M 
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/primitive/VoidPointable.java
M 
hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/comm/io/AbstractFrameAppender.java
M 
hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/MessagingFrameTupleAppender.java
M 
hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/PartitionDataWriter.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/freepage/MutableArrayValueReference.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/ILSMHarness.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java
M 

Change in asterixdb[master]: Enable Feed Changes to work with BAD project

2017-03-01 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Enable Feed Changes to work with BAD project
..


Patch Set 3: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1524
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Steven Jacobs 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Steven Jacobs 
Gerrit-Reviewer: Xikui Wang 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Cleanup and bug fixes in Feeds pipeline

2017-03-07 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Cleanup and bug fixes in Feeds pipeline
..


Patch Set 12:

(20 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1523/12/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ExceptionUtils.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ExceptionUtils.java:

PS12, Line 40: HyracksDataException
> return HyracksDataException.create(th);
Done


https://asterix-gerrit.ics.uci.edu/#/c/1523/12/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
File 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java:

PS12, Line 186: /**
> Make the comments more complete?  E.g., used in what kind of scenarios in e
Done


https://asterix-gerrit.ics.uci.edu/#/c/1523/12/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
File 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java:

PS12, Line 64: synchronized (this) {
 : wait(INTERVAL);
 : }
> Does anyone notify "this"?  If not, this should be replaced with Thread.sle
No one does.

Done. Chances are we will remove it once we revisit the reader interface at 
some point


https://asterix-gerrit.ics.uci.edu/#/c/1523/12/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java:

PS12, Line 365: this
> What does this comment mean?
Done


https://asterix-gerrit.ics.uci.edu/#/c/1523/12/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntime.java
File 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/runtime/CommitRuntime.java:

PS12, Line 114: this
> open an issue?
Done.

https://issues.apache.org/jira/browse/ASTERIXDB-1824


https://asterix-gerrit.ics.uci.edu/#/c/1523/12/hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/api/AbstractPointable.java
File 
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/api/AbstractPointable.java:

PS12, Line 33: return
> comment on the parameter and return.
Done


PS12, Line 35: copy
> Can we rename to copyTo/Into for clarity?
Done


PS12, Line 36: arraycopy
> boundary/length check of copy?
the System.arraycopy will do the check


PS12, Line 36: arraycopy
> I guess arraycopy will throw ArrayIndexOutOfBoundsException, should we just
Done


https://asterix-gerrit.ics.uci.edu/#/c/1523/12/hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/MessagingFrameTupleAppender.java
File 
hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/MessagingFrameTupleAppender.java:

PS12, Line 46: protected
> Can we implement ProgressFrameTupleAppender as a separate FrameTupleAppende
Done


https://asterix-gerrit.ics.uci.edu/#/c/1523/12/hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/PartitionDataWriter.java
File 
hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/PartitionDataWriter.java:

PS12, Line 42: protected
> Can we implement ProgressPartitionDataWriter as a separate IFrameWriter, ra
Done


PS12, Line 134: failed = true;
> do we need a new flag?  can we just use isOpen for this?
we need the failed flag for the close case


PS12, Line 156: if (!failed) {
> should we flush if not opened?  can we eliminate failed flag and just use i
the fail flag has to be there because in the close call, we need to know 
whether there was a failure in which case, we shouldn't flush the remaining 
tuples


https://asterix-gerrit.ics.uci.edu/#/c/1523/12/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/IFrameOperationCallback.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/IFrameOperationCallback.java:

PS12, Line 23: FunctionalInterface
> Comment the interface, i.e., why do we need the interface, what does it do,
Done


PS12, Line 25: frameCompleted
> comment the interface method.
Done


https://asterix-gerrit.ics.uci.edu/#/c/1523/12/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/IFrameOperationCallbackFactory.java
File 

Change in asterixdb[master]: Cleanup and bug fixes in Feeds pipeline

2017-03-07 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1523

to look at the new patch set (#15).

Change subject: Cleanup and bug fixes in Feeds pipeline
..

Cleanup and bug fixes in Feeds pipeline

The bug fix is for the MessagingFrameTupleAppender. It used
to consume one extra byte per frame.

Cleanups are for feeds. These include:
1. Remove the use of feed dataflow marker. Feeds which
   need to send progress can and should do that without
   a marker thread.
2. Lock the memory component for feed commit to be able
   to add information to the memory component's metadata
   page safely.

In addition, this change introduces a frame level callback
for index operations.

Change-Id: Ie97b2133ebecb7380cf0ba336e60ed714d06f8ee
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/InvertedIndexPOperator.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CCExtensionManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/BindMetadataNodeTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/ExternalLibrarySetupTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/LocalRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/MetadataBootstrapTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartReplicationServiceTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/AutoFaultToleranceStrategy.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/MetadataNodeFaultToleranceStrategy.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NoFaultToleranceStrategy.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/CompleteFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/PreparePartitionsFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/ReplayPartitionLogsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskResponseMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverMetadataNodeRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverPartitionsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/CCMessageBroker.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/FlushDatasetUtil.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/ConnectorDescriptorWithMessagingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetResource.java
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/NoOpFrameOperationCallbackFactory.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ExceptionUtils.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/PrimaryIndexLogMarkerCallback.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IExternalDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedTupleForwarder.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/stream/StreamRecordReaderFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/SocketServerInputStream.java
M 

Change in asterixdb[master]: Cleanup and bug fixes in Feeds pipeline

2017-03-07 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1523

to look at the new patch set (#14).

Change subject: Cleanup and bug fixes in Feeds pipeline
..

Cleanup and bug fixes in Feeds pipeline

The bug fix is for the MessagingFrameTupleAppender. It used
to consume one extra byte per frame.

Cleanups are for feeds. These include:
1. Remove the use of feed dataflow marker. Feeds which
   need to send progress can and should do that without
   a marker thread.
2. Lock the memory component for feed commit to be able
   to add information to the memory component's metadata
   page safely.

In addition, this change introduces a frame level callback
for index operations.

Change-Id: Ie97b2133ebecb7380cf0ba336e60ed714d06f8ee
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/InvertedIndexPOperator.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CCExtensionManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/BindMetadataNodeTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/ExternalLibrarySetupTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/LocalRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/MetadataBootstrapTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartReplicationServiceTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/AutoFaultToleranceStrategy.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/MetadataNodeFaultToleranceStrategy.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NoFaultToleranceStrategy.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/CompleteFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/PreparePartitionsFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/ReplayPartitionLogsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskResponseMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverMetadataNodeRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverPartitionsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/CCMessageBroker.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/FlushDatasetUtil.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/ConnectorDescriptorWithMessagingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetResource.java
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/NoOpFrameOperationCallbackFactory.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ExceptionUtils.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/PrimaryIndexLogMarkerCallback.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IExternalDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedTupleForwarder.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/stream/StreamRecordReaderFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/SocketServerInputStream.java
M 

Change in asterixdb[master]: Cleanup and bug fixes in Feeds pipeline

2017-03-07 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1523

to look at the new patch set (#13).

Change subject: Cleanup and bug fixes in Feeds pipeline
..

Cleanup and bug fixes in Feeds pipeline

The bug fix is for the MessagingFrameTupleAppender. It used
to consume one extra byte per frame.

Cleanups are for feeds. These include:
1. Remove the use of feed dataflow marker. Feeds which
   need to send progress can and should do that without
   a marker thread.
2. Lock the memory component for feed commit to be able
   to add information to the memory component's metadata
   page safely.

In addition, this change introduces a frame level callback
for index operations.

Change-Id: Ie97b2133ebecb7380cf0ba336e60ed714d06f8ee
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/InvertedIndexPOperator.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/CCExtensionManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/BindMetadataNodeTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/ExternalLibrarySetupTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/LocalRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/MetadataBootstrapTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartReplicationServiceTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/AutoFaultToleranceStrategy.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/MetadataNodeFaultToleranceStrategy.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NoFaultToleranceStrategy.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/CompleteFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/PreparePartitionsFailbackRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/ReplayPartitionLogsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/StartupTaskResponseMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverMetadataNodeRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/TakeoverPartitionsRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/messaging/CCMessageBroker.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/FlushDatasetUtil.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/ConnectorDescriptorWithMessagingTest.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetResource.java
A 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/NoOpFrameOperationCallbackFactory.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ExceptionUtils.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/PrimaryIndexLogMarkerCallback.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IExternalDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/ChangeFeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedRecordDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedTupleForwarder.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/dataflow/FeedWithMetaDataFlowController.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/record/reader/stream/StreamRecordReaderFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/SocketServerInputStream.java
M 

Change in asterixdb[master]: Remove static cc application context instance

2017-03-21 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1606

to look at the new patch set (#2).

Change subject: Remove static cc application context instance
..

Remove static cc application context instance

Change-Id: Ia2e250405967ec880e7af6387aa981f39b3392c0
---
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveLifecycleListener.java
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveSourceOperatorNodePushable.java
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActiveManagerMessage.java
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActivePartitionMessage.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/InvertedIndexPOperator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/compiler/provider/DefaultRuleSetFactory.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/compiler/provider/IRuleSetFactory.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/jobgen/QueryLogicalExpressionJobGen.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ConstantFoldingRule.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AbstractLangTranslator.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/IStatementExecutorFactory.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AppRuntimeContextProviderForRecovery.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/AbstractQueryApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ConnectorApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/DdlApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/DiagnosticsApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/FullApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryWebInterfaceServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/RestApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ResultUtil.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/UpdateApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/VersionApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/java/AsterixJavaClient.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/cc/ResourceIdManager.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCAppRuntimeContext.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/BindMetadataNodeTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/CheckpointTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/ExternalLibrarySetupTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/LocalRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/MetadataBootstrapTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/RemoteRecoveryTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartFailbackTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartLifecycleComponentsTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/task/StartReplicationServiceTask.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/AutoFaultToleranceStrategy.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/FaultToleranceStrategyFactory.java
M 

Change in asterixdb[master]: Remove Algebricks Pair and Triple

2017-04-17 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Remove Algebricks Pair and Triple
..


Patch Set 2:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/1689/2/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ConstantFoldingRule.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ConstantFoldingRule.java:

PS2, Line 87:  ImmutableSet.of(BuiltinFunctions.RECORD_MERGE, 
BuiltinFunctions.ADD_FIELDS, BuiltinFunctions.REMOVE_FIELDS,
: BuiltinFunctions.GET_RECORD_FIELDS, 
BuiltinFunctions.GET_RECORD_FIELD_VALUE,
: BuiltinFunctions.FIELD_ACCESS_NESTED, 
BuiltinFunctions.GET_ITEM,
: BuiltinFunctions.OPEN_RECORD_CONSTRUCTOR, 
BuiltinFunctions.FIELD_ACCESS_BY_INDEX,
: BuiltinFunctions.CAST_TYPE, BuiltinFunct
> whys this changed?
The one before wasn't as per the formatter we use. This one is


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1689
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I527df8df92e0323d2acc03d077be5c7503281a9d
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: Cleanup storage exceptions

2017-04-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Cleanup storage exceptions
..


Patch Set 11:

Yingyi, Steven,
Can I proceed with this one?

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1619
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I020d2b4b1f4ae48fc2df0b720e70a1ce95867d34
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Steven Jacobs 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Remove Algebricks Pair and Triple

2017-04-18 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Remove Algebricks Pair and Triple
..


Patch Set 2:

> > Any thoughts about the various usage of MutablePair vs. Pair ?
 > 
 > Seems like we should Pair all that we can, hopefully the need for
 > mutable pairs is rare?

That is exactly what I have done. I am using Mutable(Pair|Triple) strictly when 
needed.

This is a completely mechanical change...

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1689
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I527df8df92e0323d2acc03d077be5c7503281a9d
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Preston Carman 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2008][CLUS] Only add pending removal if node known

2017-07-31 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1909

to look at the new patch set (#2).

Change subject: [ASTERIXDB-2008][CLUS] Only add pending removal if node known
..

[ASTERIXDB-2008][CLUS] Only add pending removal if node known

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- Only nodes which are known to cluster manager are added
  to the list of nodes pending removal. Other nodes are ignored

Change-Id: Id3f60c1ecc74f400a6eeb0aa1f9bb4ba668ce9c6
---
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/ClusterStateManager.java
2 files changed, 4 insertions(+), 3 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/09/1909/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1909
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id3f60c1ecc74f400a6eeb0aa1f9bb4ba668ce9c6
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: [ASTERIXDB-2012][TX] Fix Sporadic double release in btree se...

2017-08-03 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new patch set (#2).

Change subject: [ASTERIXDB-2012][TX] Fix Sporadic double release in btree search
..

[ASTERIXDB-2012][TX] Fix Sporadic double release in btree search

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- LSMBTreeRangeSearchCursor sometimes unlocks twice producing
  illegal state exception. This happens if:
  1. the proceed call failed (causing instant lock to fail)
  2. the lock was acquired and then released. This happens if:
a. the priority queue head was not coming from memory component.
b. the priority queue head was from memory component and it didn't
   change when search was re-performed
  3. the tuple was found to be antimatter.

- Moreover, locks that are acquired in case the mutable component is not
  part of the search anymore are not released until the job completes.

Change-Id: I497ec7c14074390bd6408a3854202159bec5f1cf
---
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
1 file changed, 51 insertions(+), 63 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/12/1912/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1912
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I497ec7c14074390bd6408a3854202159bec5f1cf
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2012][TX] Fix Sporadic double release in btree se...

2017-08-03 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1912

Change subject: [ASTERIXDB-2012][TX] Fix Sporadic double release in btree search
..

[ASTERIXDB-2012][TX] Fix Sporadic double release in btree search

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- LSMBTreeRangeSearchCursor sometimes unlocks twice producing
  illegal state exception. This happens if:
  1. the proceed call failed (causing instant lock to fail)
  2. the lock was acquired and then released. This happens if:
a. the priority queue head was not coming from memory component.
b. the priority queue head was from memory component and it didn't
   change when search was re-performed
3. the tuple was found to be antimatter.

- Moreover, locks that are acquired in case the mutable component is not
  part of the search anymore are not released until the job completes.

Change-Id: I497ec7c14074390bd6408a3854202159bec5f1cf
---
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
1 file changed, 51 insertions(+), 63 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/12/1912/1

diff --git 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
index 3b8b160..257d91e 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
@@ -20,6 +20,7 @@
 package org.apache.hyracks.storage.am.lsm.btree.impls;
 
 import java.util.Iterator;
+import java.util.PriorityQueue;
 
 import org.apache.hyracks.api.exceptions.HyracksDataException;
 import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
@@ -49,7 +50,6 @@
 private BTreeAccessor[] btreeAccessors;
 private ArrayTupleBuilder tupleBuilder;
 private boolean canCallProceed = true;
-private boolean resultOfSearchCallBackProceed = false;
 
 public LSMBTreeRangeSearchCursor(ILSMIndexOperationContext opCtx) {
 this(opCtx, false);
@@ -86,76 +86,52 @@
  */
 @Override
 protected void checkPriorityQueue() throws HyracksDataException {
-while (!outputPriorityQueue.isEmpty() || needPushElementIntoQueue == 
true) {
+while (!outputPriorityQueue.isEmpty() || needPushElementIntoQueue) {
 if (!outputPriorityQueue.isEmpty()) {
-PriorityQueueElement checkElement = outputPriorityQueue.peek();
+PriorityQueueElement queueHead = outputPriorityQueue.peek();
 if (canCallProceed) {
-resultOfSearchCallBackProceed = 
searchCallback.proceed(checkElement.getTuple());
-if (!resultOfSearchCallBackProceed) {
-// In case proceed() fails and there is an in-memory 
component,
-// we can't simply use this element since there might 
be a change.
-if (includeMutableComponent) {
-PriorityQueueElement mutableElement = null;
-boolean mutableElementFound = false;
-// Scans the PQ for the mutable component's 
element and delete it
-// since it can be changed.
-// (i.e. we can't ensure that the element is the 
most current one.)
-Iterator it = 
outputPriorityQueue.iterator();
-while (it.hasNext()) {
-mutableElement = it.next();
-if (mutableElement.getCursorIndex() == 0) {
-mutableElementFound = true;
-it.remove();
-break;
-}
-}
-if (mutableElementFound) {
-// Copies the in-memory tuple.
+// if there are no memory components. no need to lock at 
all
+// since whatever the search reads will never changes
+if (includeMutableComponent) {
+if (!searchCallback.proceed(queueHead.getTuple())) {
+// In case proceed() fails and there is an 
in-memory component,
+// we can't simply use this element since there 
might be a change.
+

Change in asterixdb[master]: [ASTERIXDB-2012][TX] Fix Sporadic double release in btree se...

2017-08-03 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1912

to look at the new patch set (#3).

Change subject: [ASTERIXDB-2012][TX] Fix Sporadic double release in btree search
..

[ASTERIXDB-2012][TX] Fix Sporadic double release in btree search

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- LSMBTreeRangeSearchCursor sometimes unlocks twice producing
  illegal state exception. This happens if:
  1. the proceed call failed (causing instant lock to fail)
  2. the lock was acquired and then released. This happens if:
a. the priority queue head was not coming from memory component.
b. the priority queue head was from memory component and it didn't
   change when search was re-performed
  3. the tuple was found to be antimatter.

- Moreover, locks that are acquired in case the mutable component is not
  part of the search anymore are not released until the job completes.

Change-Id: I497ec7c14074390bd6408a3854202159bec5f1cf
---
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
1 file changed, 54 insertions(+), 63 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/12/1912/3
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1912
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I497ec7c14074390bd6408a3854202159bec5f1cf
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2012][TX] Fix Sporadic double release in btree se...

2017-08-03 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has submitted this change and it was merged.

Change subject: [ASTERIXDB-2012][TX] Fix Sporadic double release in btree search
..


[ASTERIXDB-2012][TX] Fix Sporadic double release in btree search

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- LSMBTreeRangeSearchCursor sometimes unlocks twice producing
  illegal state exception. This happens if:
  1. the proceed call failed (causing instant lock to fail)
  2. the lock was acquired and then released. This happens if:
a. the priority queue head was not coming from memory component.
b. the priority queue head was from memory component and it didn't
   change when search was re-performed
  3. the tuple was found to be antimatter.

- Moreover, locks that are acquired in case the mutable component is not
  part of the search anymore are not released until the job completes.

Change-Id: I497ec7c14074390bd6408a3854202159bec5f1cf
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1912
Tested-by: Jenkins 
Contrib: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Murtadha Hubail 
---
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
1 file changed, 54 insertions(+), 63 deletions(-)

Approvals:
  Murtadha Hubail: Looks good to me, approved
  Jenkins: Verified; No violations found; Verified

Objections:
  Jenkins: Violations found



diff --git 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
index 3b8b160..29d7c60 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-btree/src/main/java/org/apache/hyracks/storage/am/lsm/btree/impls/LSMBTreeRangeSearchCursor.java
@@ -20,6 +20,7 @@
 package org.apache.hyracks.storage.am.lsm.btree.impls;
 
 import java.util.Iterator;
+import java.util.PriorityQueue;
 
 import org.apache.hyracks.api.exceptions.HyracksDataException;
 import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
@@ -49,7 +50,6 @@
 private BTreeAccessor[] btreeAccessors;
 private ArrayTupleBuilder tupleBuilder;
 private boolean canCallProceed = true;
-private boolean resultOfSearchCallBackProceed = false;
 
 public LSMBTreeRangeSearchCursor(ILSMIndexOperationContext opCtx) {
 this(opCtx, false);
@@ -86,76 +86,55 @@
  */
 @Override
 protected void checkPriorityQueue() throws HyracksDataException {
-while (!outputPriorityQueue.isEmpty() || needPushElementIntoQueue == 
true) {
+while (!outputPriorityQueue.isEmpty() || needPushElementIntoQueue) {
 if (!outputPriorityQueue.isEmpty()) {
-PriorityQueueElement checkElement = outputPriorityQueue.peek();
+PriorityQueueElement queueHead = outputPriorityQueue.peek();
 if (canCallProceed) {
-resultOfSearchCallBackProceed = 
searchCallback.proceed(checkElement.getTuple());
-if (!resultOfSearchCallBackProceed) {
-// In case proceed() fails and there is an in-memory 
component,
-// we can't simply use this element since there might 
be a change.
-if (includeMutableComponent) {
-PriorityQueueElement mutableElement = null;
-boolean mutableElementFound = false;
-// Scans the PQ for the mutable component's 
element and delete it
-// since it can be changed.
-// (i.e. we can't ensure that the element is the 
most current one.)
-Iterator it = 
outputPriorityQueue.iterator();
-while (it.hasNext()) {
-mutableElement = it.next();
-if (mutableElement.getCursorIndex() == 0) {
-mutableElementFound = true;
-it.remove();
-break;
-}
-}
-if (mutableElementFound) {
-// Copies the in-memory tuple.
+// if there are no memory components. no need to lock at 
all
+// since whatever the search reads will never changes
+   

Change in asterixdb[master]: Set Default Number of Reattempts to 0

2017-08-03 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1914

Change subject: Set Default Number of Reattempts to 0
..

Set Default Number of Reattempts to 0

Change-Id: I922611fca234a77aca0947f4571c4ffad008273a
---
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/JobSpecification.java
1 file changed, 40 insertions(+), 43 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/14/1914/1

diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/JobSpecification.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/JobSpecification.java
index a7d3864..2cf96c2 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/JobSpecification.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/job/JobSpecification.java
@@ -31,6 +31,7 @@
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.hyracks.api.constraints.Constraint;
 import org.apache.hyracks.api.constraints.expressions.ConstantExpression;
+import 
org.apache.hyracks.api.constraints.expressions.ConstraintExpression.ExpressionTag;
 import org.apache.hyracks.api.constraints.expressions.PartitionCountExpression;
 import 
org.apache.hyracks.api.constraints.expressions.PartitionLocationExpression;
 import org.apache.hyracks.api.dataflow.ConnectorDescriptorId;
@@ -95,18 +96,18 @@
 }
 
 public JobSpecification(int frameSize) {
-roots = new ArrayList();
-resultSetIds = new ArrayList();
-opMap = new HashMap();
-connMap = new HashMap();
-opInputMap = new HashMap();
-opOutputMap = new HashMap();
+roots = new ArrayList<>();
+resultSetIds = new ArrayList<>();
+opMap = new HashMap<>();
+connMap = new HashMap<>();
+opInputMap = new HashMap<>();
+opOutputMap = new HashMap<>();
 connectorOpMap = new HashMap<>();
-properties = new HashMap();
-userConstraints = new HashSet();
+properties = new HashMap<>();
+userConstraints = new HashSet<>();
 operatorIdCounter = 0;
 connectorIdCounter = 0;
-maxReattempts = 2;
+maxReattempts = 0;
 useConnectorPolicyForScheduling = false;
 requiredClusterCapacity = new ClusterCapacity();
 setFrameSize(frameSize);
@@ -170,20 +171,20 @@
 }
 
 public RecordDescriptor getConnectorRecordDescriptor(IConnectorDescriptor 
conn) {
-Pair, Pair> connInfo = connectorOpMap
-.get(conn.getConnectorId());
+Pair, Pair> connInfo =
+connectorOpMap.get(conn.getConnectorId());
 return 
connInfo.getLeft().getLeft().getOutputRecordDescriptors()[connInfo.getLeft().getRight()];
 }
 
 public IOperatorDescriptor getConsumer(IConnectorDescriptor conn) {
-Pair, Pair> connInfo = connectorOpMap
-.get(conn.getConnectorId());
+Pair, Pair> connInfo =
+connectorOpMap.get(conn.getConnectorId());
 return connInfo.getRight().getLeft();
 }
 
 public int getConsumerInputIndex(IConnectorDescriptor conn) {
-Pair, Pair> connInfo = connectorOpMap
-.get(conn.getConnectorId());
+Pair, Pair> connInfo =
+connectorOpMap.get(conn.getConnectorId());
 return connInfo.getRight().getRight();
 }
 
@@ -224,14 +225,14 @@
 }
 
 public IOperatorDescriptor getProducer(IConnectorDescriptor conn) {
-Pair, Pair> connInfo = connectorOpMap
-.get(conn.getConnectorId());
+Pair, Pair> connInfo =
+connectorOpMap.get(conn.getConnectorId());
 return connInfo.getLeft().getLeft();
 }
 
 public int getProducerOutputIndex(IConnectorDescriptor conn) {
-Pair, Pair> connInfo = connectorOpMap
-.get(conn.getConnectorId());
+Pair, Pair> connInfo =
+connectorOpMap.get(conn.getConnectorId());
 

Change in asterixdb[master]: Print Http Server direct memory usage

2017-08-15 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1941

to look at the new patch set (#3).

Change subject: Print Http Server direct memory usage
..

Print Http Server direct memory usage

Change-Id: I4a324f10db52e77c7e69ca4246b9d84b4479f25d
---
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActivePartitionMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerHandler.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/test/HttpServerTest.java
7 files changed, 142 insertions(+), 52 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/41/1941/3
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1941
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4a324f10db52e77c7e69ca4246b9d84b4479f25d
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [ASTERIXDB-2039][OTH] Log Http Server direct memory budget

2017-08-15 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1941

to look at the new patch set (#4).

Change subject: [ASTERIXDB-2039][OTH] Log Http Server direct memory budget
..

[ASTERIXDB-2039][OTH] Log Http Server direct memory budget

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- Calculate mem budget = number of executors x max high watermark.
- Log the calculated budget.

Change-Id: I4a324f10db52e77c7e69ca4246b9d84b4479f25d
---
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActivePartitionMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerHandler.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/test/HttpServerTest.java
7 files changed, 143 insertions(+), 52 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/41/1941/4
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1941
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4a324f10db52e77c7e69ca4246b9d84b4479f25d
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: Un-Singleton ClusterStateManager

2017-08-15 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1944

Change subject: Un-Singleton ClusterStateManager
..

Un-Singleton ClusterStateManager

Change-Id: Id6532245033ac4c6f6aa9f193539944eecb832f7
---
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
M 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AbstractLangTranslator.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ClusterControllerDetailsApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/DiagnosticsApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NodeControllerDetailsApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/ShutdownApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/ExecuteStatementRequestMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/NCAppRuntimeContext.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/CCApplication.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ClusterLifecycleListener.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/ClusterWorkExecutor.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/utils/FeedOperations.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/app/bootstrap/TestNodeController.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/IApplicationContext.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/cluster/IClusterStateManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/ClusterProperties.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/dataflow/ICcApplicationContext.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/adapter/factory/GenericAdapterFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/api/IExternalDataSourceFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/input/stream/factory/TwitterFirehoseStreamFactory.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/FeedUtils.java
M 
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/HDFSUtils.java
M 
asterixdb/asterix-external-data/src/test/java/org/apache/asterix/external/input/record/reader/kv/KVTestReaderFactory.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/dataset/hints/DatasetHints.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/FeedDataSource.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataManagerUtil.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/SplitsAndConstraintsUtil.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/message/ResourceIdRequestMessage.java
R 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/transaction/ResourceIdManager.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/CcApplicationContext.java
M 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/ClusterStateManager.java
36 files changed, 350 insertions(+), 163 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/44/1944/1

diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
index 7f35d08..4550ba6 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/UnnestToDataScanRule.java
@@ -260,10 +260,10 @@
 keyAccessExpression = null;
 keyAccessScalarFunctionCallExpression = null;
 }
-FeedDataSource feedDataSource = new FeedDataSource(sourceFeed, aqlId, 
targetDataset, feedOutputType, metaType,
-pkTypes, partitioningKeys, 
keyAccessScalarFunctionCallExpression, 

Change in asterixdb[master]: [ASTERIXDB-2042][CLUS] Shutdown NC on Startup Completion Fai...

2017-08-16 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-2042][CLUS] Shutdown NC on Startup Completion Failure
..


Patch Set 2: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1943
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6c2ff0130e5e3e35ccf42a66d6855e568dce1fbe
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2040][STO] Reopen closed file due to interrupts

2017-08-16 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-2040][STO] Reopen closed file due to interrupts
..


Patch Set 3: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1942
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I06d7719801282dbf4a4c16ec3d1cdcac2a62e631
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2039][OTH] Log Http Server direct memory budget

2017-08-15 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1941

to look at the new patch set (#6).

Change subject: [ASTERIXDB-2039][OTH] Log Http Server direct memory budget
..

[ASTERIXDB-2039][OTH] Log Http Server direct memory budget

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- Calculate mem budget = number of executors x max high watermark.
- Log the calculated budget.

Change-Id: I4a324f10db52e77c7e69ca4246b9d84b4479f25d
---
M 
asterixdb/asterix-active/src/main/java/org/apache/asterix/active/message/ActivePartitionMessage.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
M 
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/aggreg/AggregateRuntimeFactory.java
M 
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/util/ByteArrayAccessibleOutputStream.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerHandler.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/test/HttpServerTest.java
9 files changed, 147 insertions(+), 53 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/41/1941/6
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1941
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4a324f10db52e77c7e69ca4246b9d84b4479f25d
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: [ASTERIXDB-2025][STO] Fix Merge Lifecycle

2017-08-11 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1930

to look at the new patch set (#13).

Change subject: [ASTERIXDB-2025][STO] Fix Merge Lifecycle
..

[ASTERIXDB-2025][STO] Fix Merge Lifecycle

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Complete merge operation after deletion of old components
  files.

Change-Id: I843de8b26c181205e43f4eabe22a7c43f3ebfcbc
---
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/BaseOperationTracker.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepository.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexDataflowHelper.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMTreeIndexAccessor.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexAccessor.java
8 files changed, 47 insertions(+), 10 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/30/1930/13
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1930
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I843de8b26c181205e43f4eabe22a7c43f3ebfcbc
Gerrit-PatchSet: 13
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 


Change in asterixdb[master]: [ASTERIXDB-2025][STO] Fix Merge Lifecycle

2017-08-11 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-2025][STO] Fix Merge Lifecycle
..


Patch Set 12:

> (1 comment)
 > 
 > >>Had a discussion about this with Mike Carey.
 > >>we will log warning for double deletion (not fail)
 > >>but we should still never do it...
 > 
 > I still couldn't clearly see the upside of doing so by ourselves. 
 > It seems like that you are overriding sth. that the OS has already
 > provided.
 > 
 > - For better user experience?  The same thing is logged and no
 > exception is thrown.
 > - For debugging purpose?  But from the logged warnings, there's no
 > difference.
 > - For better design?  It complicates the synchronization etc.
 > 
 > Maybe we should discuss offline.

Sure,
I will call for a meeting.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1930
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I843de8b26c181205e43f4eabe22a7c43f3ebfcbc
Gerrit-PatchSet: 12
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs

2017-08-11 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has submitted this change and it was merged.

Change subject: [ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs
..


[ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs

- user model changes: Shutdown doesn't hang anymore
- storage format changes: no
- interface changes: no

details:
- A watchdog is added to the shutdown hook to ensure it completes
  within a pre-specified time window. If the window passes before
  shutdown completes, the JVM is killed.

Change-Id: I9de911f81d6b3723e7cc3674bd80d56df8203c0a
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1934
Integration-Tests: Jenkins 
Tested-by: Jenkins 
Contrib: Jenkins 
Reviewed-by: Murtadha Hubail 
---
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NodeControllerService.java
M 
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/util/ByteArrayAccessibleOutputStream.java
4 files changed, 60 insertions(+), 24 deletions(-)

Approvals:
  Murtadha Hubail: Looks good to me, approved
  Jenkins: Verified; ; Verified

Objections:
  Jenkins: Violations found



diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
index 4674f9a..76fa322 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
@@ -51,11 +51,10 @@
 
 @Override
 public void uncaughtException(Thread t, Throwable e) {
-LOGGER.log(Level.SEVERE, "Uncaught Exception from thread " + 
t.getName(), e);
 try {
-stopAll(true);
-} catch (IOException e1) {
-LOGGER.log(Level.SEVERE, "Exception in stopping instance", e1);
+LOGGER.log(Level.SEVERE, "Uncaught Exception from thread " + 
t.getName() + ". Calling shutdown hook", e);
+} finally {
+Runtime.getRuntime().exit(99);// NOSONAR: It is really required
 }
 }
 
@@ -73,13 +72,14 @@
 
 @Override
 public synchronized void stopAll(boolean dumpState) throws IOException {
-if (LOGGER.isLoggable(Level.INFO)) {
-LOGGER.info("Attempting to stop " + this);
-}
 if (stopped) {
 LOGGER.info("Lifecycle management was already stopped");
 return;
 }
+stopped = true;
+if (LOGGER.isLoggable(Level.INFO)) {
+LOGGER.info("Attempting to stop " + this);
+}
 if (stopInitiated) {
 LOGGER.info("Stop already in progress");
 return;
diff --git 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
index a8b9461..4d0c159 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
@@ -23,21 +23,51 @@
 
 /**
  * Shutdown hook that invokes {@link NodeControllerService#stop() stop} method.
+ * This shutdown hook must have a failsafe mechanism to halt the process in 
case the shutdown
+ * operation is hanging for any reason
  */
 public class NCShutdownHook extends Thread {
 private static final Logger LOGGER = 
Logger.getLogger(NCShutdownHook.class.getName());
+private static final long SHUTDOWN_WAIT_TIME = 10 * 60 * 1000L;
+private final Thread watchDog;
 private final NodeControllerService nodeControllerService;
+private volatile Thread shutdownHookThread;
+
 public NCShutdownHook(NodeControllerService nodeControllerService) {
+super("ShutdownHook-" + nodeControllerService.getId());
 this.nodeControllerService = nodeControllerService;
+watchDog = new Thread(watch(), "ShutdownHookWatchDog-" + 
nodeControllerService.getId());
+}
+
+private Runnable watch() {
+return () -> {
+try {
+shutdownHookThread.join(SHUTDOWN_WAIT_TIME); // 10 min
+if (shutdownHookThread.isAlive()) {
+try {
+

Change in asterixdb[master]: [ASTERIXDB-1990][ASTERIXDB-1991][ASTERIXDB-2025][STO] Fix Merge

2017-08-11 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-1990][ASTERIXDB-1991][ASTERIXDB-2025][STO] Fix Merge
..


Patch Set 11:

(7 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1930/11//COMMIT_MSG
Commit Message:

PS11, Line 7: [ASTERIXDB-1990][ASTERIXDB-1991][ASTERIXDB-2025]
> If there's a single cause for these 3 issues, maybe we can indicate the rel
Done


https://asterix-gerrit.ics.uci.edu/#/c/1930/11/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java:

PS11, Line 72: completeOperation
> This is confusing. If the methods
Hmmm, For flush and replicate, completeOperation is called in afterOperation 
since they don't have a file deletion step.


For merge, the completeOperation is called after the deletion of inactive disk 
components.


https://asterix-gerrit.ics.uci.edu/#/c/1930/11/hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexDataflowHelper.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexDataflowHelper.java:

PS11, Line 92: WARNING
> Why is this a warning? Would INFO or DEBUG be sufficient?
Done


PS11, Line 93: in th 
> s/in th /on/
Done


PS11, Line 93: the
> s/the //
Done


https://asterix-gerrit.ics.uci.edu/#/c/1930/11/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java
File 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java:

PS11, Line 354: and
> Should this be an "or"?
Done


PS11, Line 568: opTracker
> Add a comment, why we call the opTracker here?
Done


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1930
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I843de8b26c181205e43f4eabe22a7c43f3ebfcbc
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs

2017-08-11 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs
..


Patch Set 1:

Will address your comments Mike with configurable subsequent change...

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1934
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I9de911f81d6b3723e7cc3674bd80d56df8203c0a
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2025][STO] Fix Merge Lifecycle

2017-08-11 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-2025][STO] Fix Merge Lifecycle
..


Patch Set 12:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/1930/12/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/BaseOperationTracker.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/BaseOperationTracker.java:

PS12, Line 59:  synchronized (this) {
> Why do need two synchronizations to protect this one counter?
You are right. this is not needed!..


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1930
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I843de8b26c181205e43f4eabe22a7c43f3ebfcbc
Gerrit-PatchSet: 12
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2025][STO] Fix Merge Lifecycle

2017-08-11 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-2025][STO] Fix Merge Lifecycle
..


Patch Set 12:

> PS, I don't think we need to synchronize on deletion by ourselves.
 > 
 > 1.  Throwing an exception about deleting a non-existing file
 > doesn't give a user additional information, as long as we log
 > deletion operations in the log.  With an exception on hands, a user
 > is still not able to find out where the file gets deleted in the
 > first place.
 > 
 > 2.  Simple solution (i.e., the OS has already serialized file
 > deletion operations) is easier to understand and maintain.
 > 
 > 3. If we add ROLL_BACK, there'll be one more thing to synchronize
 > by ourselves.

Had a discussion about this with Mike Carey. we will log warning for double 
deletion (not fail) but we should still never do it...

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1930
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I843de8b26c181205e43f4eabe22a7c43f3ebfcbc
Gerrit-PatchSet: 12
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2025][STO] Fix Merge Lifecycle

2017-08-11 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1930

to look at the new patch set (#12).

Change subject: [ASTERIXDB-2025][STO] Fix Merge Lifecycle
..

[ASTERIXDB-2025][STO] Fix Merge Lifecycle

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Complete merge operation after deletion of old components
  files.

Change-Id: I843de8b26c181205e43f4eabe22a7c43f3ebfcbc
---
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/BaseOperationTracker.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepository.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexDataflowHelper.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMTreeIndexAccessor.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexAccessor.java
8 files changed, 49 insertions(+), 10 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/30/1930/12
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1930
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I843de8b26c181205e43f4eabe22a7c43f3ebfcbc
Gerrit-PatchSet: 12
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 


Change in asterixdb[master]: [ASTERIXDB-2036] Make MetadataProvider Config final

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-2036] Make MetadataProvider Config final
..


Patch Set 2:

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/3713/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1937
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I25ed6433a4e1a267deeedbf22d09c119704e8d7d
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: Print Http Server direct memory usage

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1941

Change subject: Print Http Server direct memory usage
..

Print Http Server direct memory usage

Change-Id: I4a324f10db52e77c7e69ca4246b9d84b4479f25d
---
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerHandler.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/test/HttpServerTest.java
4 files changed, 69 insertions(+), 4 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/41/1941/1

diff --git 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
index ca20f4a..e190bfa 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
@@ -34,6 +34,7 @@
 import org.apache.hyracks.http.api.IServlet;
 
 import io.netty.bootstrap.ServerBootstrap;
+import io.netty.buffer.PooledByteBufAllocator;
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelOption;
 import io.netty.channel.EventLoopGroup;
@@ -83,6 +84,8 @@
 executor = new ThreadPoolExecutor(numExecutorThreads, 
numExecutorThreads, 0L, TimeUnit.MILLISECONDS,
 new LinkedBlockingQueue<>(requestQueueSize),
 runnable -> new Thread(runnable, "HttpExecutor(port:" + port + 
")-" + threadId.getAndIncrement()));
+long directMemoryBudget = numExecutorThreads * (long) 
HIGH_WRITE_BUFFER_WATER_MARK;
+LOGGER.log(Level.INFO, "The direct memory budget for this server is " 
+ directMemoryBudget + " bytes");
 }
 
 public final void start() throws Exception { // NOSONAR
@@ -194,6 +197,7 @@
 Collections.sort(servlets, (l1, l2) -> l2.getPaths()[0].length() - 
l1.getPaths()[0].length());
 ServerBootstrap b = new ServerBootstrap();
 b.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class)
+.childOption(ChannelOption.ALLOCATOR, 
PooledByteBufAllocator.DEFAULT)
 .childOption(ChannelOption.WRITE_BUFFER_WATER_MARK, 
WRITE_BUFFER_WATER_MARK)
 .handler(new LoggingHandler(LogLevel.DEBUG)).childHandler(new 
HttpServerInitializer(this));
 channel = b.bind(port).sync().channel();
@@ -255,7 +259,7 @@
 }
 
 protected HttpServerHandler createHttpHandler(int chunkSize) {
-return new HttpServerHandler<>(this, chunkSize);
+return new HttpServerHandler(this, chunkSize);
 }
 
 public ExecutorService getExecutor() {
diff --git 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerHandler.java
 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerHandler.java
index e89ed56..28f04e6 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerHandler.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerHandler.java
@@ -35,14 +35,14 @@
 import io.netty.handler.codec.http.HttpResponseStatus;
 import io.netty.handler.codec.http.HttpVersion;
 
-public class HttpServerHandler extends 
SimpleChannelInboundHandler {
+public class HttpServerHandler extends SimpleChannelInboundHandler {
 
 private static final Logger LOGGER = 
Logger.getLogger(HttpServerHandler.class.getName());
-protected final T server;
+protected final HttpServer server;
 protected final int chunkSize;
 protected HttpRequestHandler handler;
 
-public HttpServerHandler(T server, int chunkSize) {
+public HttpServerHandler(HttpServer server, int chunkSize) {
 this.server = server;
 this.chunkSize = chunkSize;
 }
diff --git 
a/hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
 
b/hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
index 30df003..fb362a4 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
@@ -18,7 +18,13 @@
  */
 package org.apache.hyracks.http.servlet;
 
+import java.lang.management.ManagementFactory;
+import java.lang.management.MemoryPoolMXBean;
+import java.lang.management.MemoryType;
+import java.lang.reflect.Field;
+import 

Change in asterixdb[master]: [ASTERIXDB-2039][OTH] Log Http Server direct memory budget

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new patch set (#2).

Change subject: [ASTERIXDB-2039][OTH] Log Http Server direct memory budget
..

[ASTERIXDB-2039][OTH] Log Http Server direct memory budget

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- Calculate mem budget = number of executors x max high watermark.
- Log the calculated budget.

Change-Id: I4a324f10db52e77c7e69ca4246b9d84b4479f25d
---
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServer.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/HttpServerHandler.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/test/HttpServerTest.java
4 files changed, 69 insertions(+), 4 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/41/1941/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1941
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4a324f10db52e77c7e69ca4246b9d84b4479f25d
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 


Change in asterixdb-bad[master]: Remove explicit creation of metadata provider config

2017-08-14 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1939

to look at the new patch set (#2).

Change subject: Remove explicit creation of metadata provider config
..

Remove explicit creation of metadata provider config

Change-Id: I230bf98b9a794480bbce6ec6d4511ce5deb5d07c
---
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateChannelStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateProcedureStatement.java
6 files changed, 6 insertions(+), 13 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb-bad 
refs/changes/39/1939/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1939
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I230bf98b9a794480bbce6ec6d4511ce5deb5d07c
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb-bad
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Xikui Wang 
Gerrit-Reviewer: abdullah alamoudi 


Change in asterixdb-bad[master]: Remove explicit creation of metadata provider config

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Remove explicit creation of metadata provider config
..


Patch Set 1:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/1939/1/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
File 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java:

Line 60: MetadataProvider tempMdProvider = new MetadataProvider(appCtx, 
metadataProvider.getDefaultDataverse());
> SetConfig. Note for Abdullah.
Done


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1939
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I230bf98b9a794480bbce6ec6d4511ce5deb5d07c
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb-bad
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Xikui Wang 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb-bad[master]: Remove explicit creation of metadata provider config

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has submitted this change and it was merged.

Change subject: Remove explicit creation of metadata provider config
..


Remove explicit creation of metadata provider config

Change-Id: I230bf98b9a794480bbce6ec6d4511ce5deb5d07c
---
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateChannelStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateProcedureStatement.java
6 files changed, 6 insertions(+), 13 deletions(-)

Approvals:
  abdullah alamoudi: Verified
  Xikui Wang: Looks good to me, approved
  Ian Maxon: Verified



diff --git 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
index bc17a7d..56de450 100644
--- 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
+++ 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
@@ -58,7 +58,7 @@
 Identifier dvId = ((DataverseDropStatement) stmt).getDataverseName();
 List brokers = BADLangExtension.getBrokers(mdTxnCtx, 
dvId.getValue());
 MetadataProvider tempMdProvider = new MetadataProvider(appCtx, 
metadataProvider.getDefaultDataverse());
-tempMdProvider.setConfig(metadataProvider.getConfig());
+tempMdProvider.getConfig().putAll(metadataProvider.getConfig());
 for (Broker broker : brokers) {
 tempMdProvider.getLocks().reset();
 BrokerDropStatement drop = new BrokerDropStatement(dvId, new 
Identifier(broker.getBrokerName()), false);
diff --git 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
index 907bd0e..7b676a7 100644
--- 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
+++ 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
@@ -120,7 +120,7 @@
 
 //Create a metadata provider to use in nested jobs.
 MetadataProvider tempMdProvider = new MetadataProvider(appCtx, 
metadataProvider.getDefaultDataverse());
-tempMdProvider.setConfig(metadataProvider.getConfig());
+tempMdProvider.getConfig().putAll(metadataProvider.getConfig());
 //Drop the Channel Datasets
 //TODO: Need to find some way to handle if this fails.
 //TODO: Prevent datasets for Channels from being dropped elsewhere
diff --git 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
index df8dab1..5460d3f 100644
--- 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
+++ 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
@@ -182,13 +182,10 @@
 }
 RecordConstructor recordCon = new RecordConstructor(fb);
 subscriptionTuple.setBody(recordCon);
-
 subscriptionTuple.setVarCounter(varCounter);
-
 MetadataProvider tempMdProvider = new 
MetadataProvider(metadataProvider.getApplicationContext(),
 metadataProvider.getDefaultDataverse());
-tempMdProvider.setConfig(metadataProvider.getConfig());
-
+tempMdProvider.getConfig().putAll(metadataProvider.getConfig());
 if (subscriptionId == null) {
 //To create a new subscription
 VariableExpr resultVar = new VariableExpr(new 
VarIdentifier("$result", 0));
diff --git 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
index 28d09df..100ff5f 100644
--- 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
+++ 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
@@ -145,7 +145,7 @@
 delete.accept(visitor, null);
 MetadataProvider tempMdProvider = new 
MetadataProvider(metadataProvider.getApplicationContext(),
 metadataProvider.getDefaultDataverse());
-tempMdProvider.setConfig(metadataProvider.getConfig());
+

Change in asterixdb-bad[master]: Remove explicit creation of metadata provider config

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: Remove explicit creation of metadata provider config
..


Patch Set 2: Verified+1

Build passed...

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1939
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I230bf98b9a794480bbce6ec6d4511ce5deb5d07c
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb-bad
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Xikui Wang 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2036] Make MetadataProvider Config final

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has submitted this change and it was merged.

Change subject: [ASTERIXDB-2036] Make MetadataProvider Config final
..


[ASTERIXDB-2036] Make MetadataProvider Config final

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- Make config map final to avoid NullPointerExceptions

Change-Id: I25ed6433a4e1a267deeedbf22d09c119704e8d7d
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1937
Sonar-Qube: Jenkins 
Tested-by: Jenkins 
Reviewed-by: Xikui Wang 
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
4 files changed, 5 insertions(+), 14 deletions(-)

Approvals:
  Anon. E. Moose #1000171: 
  Jenkins: Verified; No violations found
  Xikui Wang: Looks good to me, approved

Objections:
  Jenkins: 



diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
index acb1614..e30272c 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
@@ -21,7 +21,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.EnumSet;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
@@ -112,7 +111,6 @@
 this.appCtx = appCtx;
 this.clusterStateManager = appCtx.getClusterStateManager();
 this.metadataProvider = new MetadataProvider(appCtx, null);
-metadataProvider.setConfig(new HashMap<>());
 this.hcc = hcc;
 this.entityId = entityId;
 this.datasets = datasets;
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index 027fbbe..b97c014 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
@@ -261,13 +261,13 @@
 FileSplit outputFile = null;
 IAWriterFactory writerFactory = PrinterBasedWriterFactory.INSTANCE;
 IResultSerializerFactoryProvider resultSerializerFactoryProvider = 
ResultSerializerFactoryProvider.INSTANCE;
-Map config = new HashMap<>();
 /* Since the system runs a large number of threads, when HTTP requests 
don't return, it becomes difficult to
  * find the thread running the request to determine where it has 
stopped.
  * Setting the thread name helps make that easier
  */
 String threadName = Thread.currentThread().getName();
 Thread.currentThread().setName(QueryTranslator.class.getSimpleName());
+Map config = new HashMap<>();
 try {
 for (Statement stmt : statements) {
 if (sessionConfig.is(SessionConfig.FORMAT_HTML)) {
@@ -276,10 +276,10 @@
 validateOperation(appCtx, activeDataverse, stmt);
 rewriteStatement(stmt); // Rewrite the statement's AST.
 MetadataProvider metadataProvider = new 
MetadataProvider(appCtx, activeDataverse);
+metadataProvider.getConfig().putAll(config);
 metadataProvider.setWriterFactory(writerFactory);
 
metadataProvider.setResultSerializerFactoryProvider(resultSerializerFactoryProvider);
 metadataProvider.setOutputFile(outputFile);
-metadataProvider.setConfig(config);
 switch (stmt.getKind()) {
 case Statement.Kind.SET:
 handleSetStatement(stmt, config);
diff --git 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
index 0a7b444..a256bcf 100644
--- 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
+++ 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
@@ -21,7 +21,6 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.EnumSet;
-import java.util.HashMap;
 import java.util.List;
 import 

Change in asterixdb[master]: [ASTERIXDB-2036] Make MetadataProvider Config final

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-2036] Make MetadataProvider Config final
..


Patch Set 2:

Integration test passed but jenkins didn't vote / post a comment

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1937
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I25ed6433a4e1a267deeedbf22d09c119704e8d7d
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Xikui Wang 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2036] Make MetadataProvider Config final

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-2036] Make MetadataProvider Config final
..


Patch Set 2:

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/3715/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1937
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I25ed6433a4e1a267deeedbf22d09c119704e8d7d
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb[master]: [ASTERIXDB-2033][OTH] restrict chunk size in http server

2017-08-11 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1935

to look at the new patch set (#3).

Change subject: [ASTERIXDB-2033][OTH] restrict chunk size in http server
..

[ASTERIXDB-2033][OTH] restrict chunk size in http server

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- This change ensures no large chunks are written to
  direct buffers in the http server.

Change-Id: I08bac47ea28f66502b99df6fb8ff91dd85566d38
---
M hyracks-fullstack/hyracks/hyracks-http/pom.xml
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedNettyOutputStream.java
A 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/test/HttpServerTest.java
5 files changed, 138 insertions(+), 31 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/35/1935/3
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1935
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I08bac47ea28f66502b99df6fb8ff91dd85566d38
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: [ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs

2017-08-11 Thread abdullah alamoudi (Code Review)
Hello Anon. E. Moose #1000171, Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1934

to look at the new patch set (#2).

Change subject: [ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs
..

[ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs

- user model changes: Shutdown doesn't hang anymore
- storage format changes: no
- interface changes: no

details:
- A watchdog is added to the shutdown hook to ensure it completes
  within a pre-specified time window. If the window passes before
  shutdown completes, the JVM is killed.

Change-Id: I9de911f81d6b3723e7cc3674bd80d56df8203c0a
---
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NodeControllerService.java
M 
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/util/ByteArrayAccessibleOutputStream.java
4 files changed, 60 insertions(+), 24 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/34/1934/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1934
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9de911f81d6b3723e7cc3674bd80d56df8203c0a
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: [ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs

2017-08-10 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1934

Change subject: [ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs
..

[ASTERIXDB-2031][HYR] Kill NC when shutdwon hangs

- user model changes: Shutdown doesn't hang anymore
- storage format changes: no
- interface changes: no

details:
- A watchdog is added to the shutdown hook to ensure it completes
  within a pre-specified time window. If the window passes before
  shutdown completes, the JVM is killed.

Change-Id: I9de911f81d6b3723e7cc3674bd80d56df8203c0a
---
M 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
M 
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NodeControllerService.java
M 
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/util/ByteArrayAccessibleOutputStream.java
4 files changed, 60 insertions(+), 24 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/34/1934/1

diff --git 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
index 4674f9a..76fa322 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/lifecycle/LifeCycleComponentManager.java
@@ -51,11 +51,10 @@
 
 @Override
 public void uncaughtException(Thread t, Throwable e) {
-LOGGER.log(Level.SEVERE, "Uncaught Exception from thread " + 
t.getName(), e);
 try {
-stopAll(true);
-} catch (IOException e1) {
-LOGGER.log(Level.SEVERE, "Exception in stopping instance", e1);
+LOGGER.log(Level.SEVERE, "Uncaught Exception from thread " + 
t.getName() + ". Calling shutdown hook", e);
+} finally {
+Runtime.getRuntime().exit(99);// NOSONAR: It is really required
 }
 }
 
@@ -73,13 +72,14 @@
 
 @Override
 public synchronized void stopAll(boolean dumpState) throws IOException {
-if (LOGGER.isLoggable(Level.INFO)) {
-LOGGER.info("Attempting to stop " + this);
-}
 if (stopped) {
 LOGGER.info("Lifecycle management was already stopped");
 return;
 }
+stopped = true;
+if (LOGGER.isLoggable(Level.INFO)) {
+LOGGER.info("Attempting to stop " + this);
+}
 if (stopInitiated) {
 LOGGER.info("Stop already in progress");
 return;
diff --git 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
index a8b9461..4d0c159 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCShutdownHook.java
@@ -23,21 +23,51 @@
 
 /**
  * Shutdown hook that invokes {@link NodeControllerService#stop() stop} method.
+ * This shutdown hook must have a failsafe mechanism to halt the process in 
case the shutdown
+ * operation is hanging for any reason
  */
 public class NCShutdownHook extends Thread {
 private static final Logger LOGGER = 
Logger.getLogger(NCShutdownHook.class.getName());
+private static final long SHUTDOWN_WAIT_TIME = 10 * 60 * 1000L;
+private final Thread watchDog;
 private final NodeControllerService nodeControllerService;
+private volatile Thread shutdownHookThread;
+
 public NCShutdownHook(NodeControllerService nodeControllerService) {
+super("ShutdownHook-" + nodeControllerService.getId());
 this.nodeControllerService = nodeControllerService;
+watchDog = new Thread(watch(), "ShutdownHookWatchDog-" + 
nodeControllerService.getId());
+}
+
+private Runnable watch() {
+return () -> {
+try {
+shutdownHookThread.join(SHUTDOWN_WAIT_TIME); // 10 min
+if (shutdownHookThread.isAlive()) {
+try {
+LOGGER.info("Watchdog is angry. Killing shutdown 
hook");
+} finally {
+Runtime.getRuntime().halt(66); // NOSONAR last resort
+}
+}
+} catch (Throwable th) { // NOSONAR must 

Change in asterixdb[master]: [ASTERIXDB-2033][OTH] restrict chunk size in http server

2017-08-11 Thread abdullah alamoudi (Code Review)
Hello Anon. E. Moose #1000171, Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1935

to look at the new patch set (#5).

Change subject: [ASTERIXDB-2033][OTH] restrict chunk size in http server
..

[ASTERIXDB-2033][OTH] restrict chunk size in http server

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- This change ensures no large chunks are written to
  direct buffers in the http server.

Change-Id: I08bac47ea28f66502b99df6fb8ff91dd85566d38
---
M hyracks-fullstack/hyracks/hyracks-http/pom.xml
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedNettyOutputStream.java
A 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/test/HttpServerTest.java
5 files changed, 138 insertions(+), 31 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/35/1935/5
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1935
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I08bac47ea28f66502b99df6fb8ff91dd85566d38
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 


Change in asterixdb[master]: [ASTERIXDB-2033][OTH] restrict chunk size in http server

2017-08-11 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-2033][OTH] restrict chunk size in http server
..


Patch Set 4:

(3 comments)

https://asterix-gerrit.ics.uci.edu/#/c/1935/4/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
File 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java:

PS4, Line 92: LOGGER.log(Level.WARNING, "Unhandled throwable", th);
> This is unsafe in case of OOM- at least the log call should be in a try/cat
Done


https://asterix-gerrit.ics.uci.edu/#/c/1935/4/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedNettyOutputStream.java
File 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedNettyOutputStream.java:

PS4, Line 57: } else if (len == 0) {
: return;
> seems like this could be removed...
Done


PS4, Line 60: int remaining = len;
> could reuse len instead of introducing a new local (like w/ off)
Done


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1935
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I08bac47ea28f66502b99df6fb8ff91dd85566d38
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2036] Make MetadataProvider Config final

2017-08-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1937

Change subject: [ASTERIXDB-2036] Make MetadataProvider Config final
..

[ASTERIXDB-2036] Make MetadataProvider Config final

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- Make config map final to avoid NullPointerExceptions

Change-Id: I25ed6433a4e1a267deeedbf22d09c119704e8d7d
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
4 files changed, 4 insertions(+), 15 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/37/1937/1

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
index acb1614..e30272c 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
@@ -21,7 +21,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.EnumSet;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
@@ -112,7 +111,6 @@
 this.appCtx = appCtx;
 this.clusterStateManager = appCtx.getClusterStateManager();
 this.metadataProvider = new MetadataProvider(appCtx, null);
-metadataProvider.setConfig(new HashMap<>());
 this.hcc = hcc;
 this.entityId = entityId;
 this.datasets = datasets;
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
index 027fbbe..ab154d7 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
@@ -261,7 +261,6 @@
 FileSplit outputFile = null;
 IAWriterFactory writerFactory = PrinterBasedWriterFactory.INSTANCE;
 IResultSerializerFactoryProvider resultSerializerFactoryProvider = 
ResultSerializerFactoryProvider.INSTANCE;
-Map config = new HashMap<>();
 /* Since the system runs a large number of threads, when HTTP requests 
don't return, it becomes difficult to
  * find the thread running the request to determine where it has 
stopped.
  * Setting the thread name helps make that easier
@@ -279,10 +278,9 @@
 metadataProvider.setWriterFactory(writerFactory);
 
metadataProvider.setResultSerializerFactoryProvider(resultSerializerFactoryProvider);
 metadataProvider.setOutputFile(outputFile);
-metadataProvider.setConfig(config);
 switch (stmt.getKind()) {
 case Statement.Kind.SET:
-handleSetStatement(stmt, config);
+handleSetStatement(stmt, metadataProvider.getConfig());
 break;
 case Statement.Kind.DATAVERSE_DECL:
 activeDataverse = 
handleUseDataverseStatement(metadataProvider, stmt);
diff --git 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
index 0a7b444..a256bcf 100644
--- 
a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
+++ 
b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
@@ -21,7 +21,6 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.EnumSet;
-import java.util.HashMap;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -117,7 +116,6 @@
 Mockito.when(ccService.getExecutor()).thenReturn(executor);
 locations = new AlgebricksAbsolutePartitionConstraint(nodes);
 metadataProvider = new MetadataProvider(appCtx, null);
-metadataProvider.setConfig(new HashMap<>());
 clusterController = new TestClusterControllerActor("CC", handler, 
allDatasets);
 nodeControllers = new TestNodeControllerActor[2];
 nodeControllers[0] = new TestNodeControllerActor(nodes[0], 
clusterController);
@@ -133,7 +131,6 @@
 
 

Change in asterixdb[master]: [ASTERIXDB-1990][ASTERIXDB-1991][STO] Log deletion failure

2017-08-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [ASTERIXDB-1990][ASTERIXDB-1991][STO] Log deletion failure
..


Patch Set 6:

(1 comment)

https://asterix-gerrit.ics.uci.edu/#/c/1926/6/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/util/IoUtil.java
File 
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/util/IoUtil.java:

PS6, Line 70: catch (IOException e) {
: //TODO (ASTERIXDB-2027: this should eventually be 
replaced by an exception)
: LOGGER.log(Level.WARNING, e.getMessage(), e);
: }
Let's log FileNotFoundException, and throw otherwise to detect things like disk 
failure or permission errors early on...


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1926
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I7cf7c76f0613467ab307eca42f5ac0834a60fa44
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: Yingyi Bu 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: Yes


Change in asterixdb[master]: [ASTERIXDB-2033][OTH] restrict chunk size in http server

2017-08-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has submitted this change and it was merged.

Change subject: [ASTERIXDB-2033][OTH] restrict chunk size in http server
..


[ASTERIXDB-2033][OTH] restrict chunk size in http server

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- This change ensures no large chunks are written to
  direct buffers in the http server.

Change-Id: I08bac47ea28f66502b99df6fb8ff91dd85566d38
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1935
Sonar-Qube: Jenkins 
Integration-Tests: Jenkins 
Tested-by: Jenkins 
Contrib: Jenkins 
Reviewed-by: Murtadha Hubail 
---
M hyracks-fullstack/hyracks/hyracks-http/pom.xml
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedNettyOutputStream.java
A 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/servlet/ChattyServlet.java
M 
hyracks-fullstack/hyracks/hyracks-http/src/test/java/org/apache/hyracks/http/test/HttpServerTest.java
5 files changed, 138 insertions(+), 31 deletions(-)

Approvals:
  Jenkins: Verified; No violations found; ; Verified
  Murtadha Hubail: Looks good to me, approved



diff --git a/hyracks-fullstack/hyracks/hyracks-http/pom.xml 
b/hyracks-fullstack/hyracks/hyracks-http/pom.xml
index 835cf61..6439adb 100644
--- a/hyracks-fullstack/hyracks/hyracks-http/pom.xml
+++ b/hyracks-fullstack/hyracks/hyracks-http/pom.xml
@@ -16,7 +16,8 @@
  ! specific language governing permissions and limitations
  ! under the License.
  !-->
-http://maven.apache.org/POM/4.0.0; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd;>
+http://maven.apache.org/POM/4.0.0; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd;>
   4.0.0
   
 org.apache.hyracks
@@ -27,6 +28,17 @@
   
 ${basedir}/../..
   
+  
+
+  
+org.apache.maven.plugins
+maven-surefire-plugin
+
+  -XX:MaxDirectMemorySize=16M
+
+  
+
+  
   
 
   io.netty
diff --git 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
index 4a4c25a..30d599d 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
@@ -88,6 +88,12 @@
 } catch (Exception e) {
 LOGGER.log(Level.WARNING, "Unhandled exception", e);
 response.setStatus(HttpResponseStatus.INTERNAL_SERVER_ERROR);
+} catch (Throwable th) { //NOSONAR Just logging and then throwing again
+try {
+LOGGER.log(Level.WARNING, "Unhandled throwable", th);
+} catch (Throwable loggingFailure) {// NOSONAR... swallow logging 
failure
+}
+throw th;
 }
 }
 
diff --git 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedNettyOutputStream.java
 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedNettyOutputStream.java
index 3456343..0066b77 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedNettyOutputStream.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/ChunkedNettyOutputStream.java
@@ -27,6 +27,7 @@
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.handler.codec.http.DefaultHttpContent;
 import io.netty.handler.codec.http.HttpResponseStatus;
+import io.netty.util.internal.OutOfDirectMemoryError;
 
 public class ChunkedNettyOutputStream extends OutputStream {
 
@@ -50,23 +51,25 @@
 
 @Override
 public void write(byte[] b, int off, int len) throws IOException {
-if ((off < 0) || (off > b.length) || (len < 0) || ((off + len) > 
b.length)) {
-throw new IndexOutOfBoundsException();
-} else if (len == 0) {
-return;
-}
-if (len > buffer.capacity()) {
-flush();
-flush(b, off, len);
-} else {
-int space = buffer.writableBytes();
-if (space >= len) {
-buffer.writeBytes(b, off, len);
-} else {
-buffer.writeBytes(b, off, space);
-flush();
-

Change in asterixdb[master]: [ASTERIXDB-2036] Make MetadataProvider Config final

2017-08-13 Thread abdullah alamoudi (Code Review)
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

https://asterix-gerrit.ics.uci.edu/1937

to look at the new patch set (#2).

Change subject: [ASTERIXDB-2036] Make MetadataProvider Config final
..

[ASTERIXDB-2036] Make MetadataProvider Config final

- user model changes: no
- storage format changes: no
- interface changes: no

details:
- Make config map final to avoid NullPointerExceptions

Change-Id: I25ed6433a4e1a267deeedbf22d09c119704e8d7d
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveEntityEventsListener.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/QueryTranslator.java
M 
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/active/ActiveEventsListenerTest.java
M 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java
4 files changed, 5 insertions(+), 14 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/37/1937/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1937
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I25ed6433a4e1a267deeedbf22d09c119704e8d7d
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Michael Blow 
Gerrit-Reviewer: Murtadha Hubail 
Gerrit-Reviewer: Till Westmann 


Change in asterixdb[master]: [STO][IDX] Eliminated excess antimatter in LSMBTree

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has posted comments on this change.

Change subject: [STO][IDX] Eliminated excess antimatter in LSMBTree
..


Patch Set 10:

> From my perspective the change is finished.
 > Please have a look. @abdullah I believe your comments would be the
 > most valuable since we've talked about this change in details
 > previously.

Looking...

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1538
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I12a67eff8431b52d1f9051b793a5a64b15c009e9
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ildar Absalyamov 
Gerrit-Reviewer: Ian Maxon 
Gerrit-Reviewer: Ildar Absalyamov 
Gerrit-Reviewer: Jenkins 
Gerrit-Reviewer: Luo Chen 
Gerrit-Reviewer: Till Westmann 
Gerrit-Reviewer: abdullah alamoudi 
Gerrit-HasComments: No


Change in asterixdb-bad[master]: Remove explicit creation of metadata provider config

2017-08-14 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1939

Change subject: Remove explicit creation of metadata provider config
..

Remove explicit creation of metadata provider config

Change-Id: I230bf98b9a794480bbce6ec6d4511ce5deb5d07c
---
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateChannelStatement.java
M 
asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/CreateProcedureStatement.java
6 files changed, 0 insertions(+), 12 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb-bad 
refs/changes/39/1939/1

diff --git 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
index bc17a7d..225ce3a 100644
--- 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
+++ 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/BADStatementExecutor.java
@@ -58,7 +58,6 @@
 Identifier dvId = ((DataverseDropStatement) stmt).getDataverseName();
 List brokers = BADLangExtension.getBrokers(mdTxnCtx, 
dvId.getValue());
 MetadataProvider tempMdProvider = new MetadataProvider(appCtx, 
metadataProvider.getDefaultDataverse());
-tempMdProvider.setConfig(metadataProvider.getConfig());
 for (Broker broker : brokers) {
 tempMdProvider.getLocks().reset();
 BrokerDropStatement drop = new BrokerDropStatement(dvId, new 
Identifier(broker.getBrokerName()), false);
diff --git 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
index 907bd0e..b5e132d 100644
--- 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
+++ 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelDropStatement.java
@@ -120,7 +120,6 @@
 
 //Create a metadata provider to use in nested jobs.
 MetadataProvider tempMdProvider = new MetadataProvider(appCtx, 
metadataProvider.getDefaultDataverse());
-tempMdProvider.setConfig(metadataProvider.getConfig());
 //Drop the Channel Datasets
 //TODO: Need to find some way to handle if this fails.
 //TODO: Prevent datasets for Channels from being dropped elsewhere
diff --git 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
index df8dab1..c73d930 100644
--- 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
+++ 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelSubscribeStatement.java
@@ -182,13 +182,9 @@
 }
 RecordConstructor recordCon = new RecordConstructor(fb);
 subscriptionTuple.setBody(recordCon);
-
 subscriptionTuple.setVarCounter(varCounter);
-
 MetadataProvider tempMdProvider = new 
MetadataProvider(metadataProvider.getApplicationContext(),
 metadataProvider.getDefaultDataverse());
-tempMdProvider.setConfig(metadataProvider.getConfig());
-
 if (subscriptionId == null) {
 //To create a new subscription
 VariableExpr resultVar = new VariableExpr(new 
VarIdentifier("$result", 0));
diff --git 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
index 28d09df..1462621 100644
--- 
a/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
+++ 
b/asterix-bad/src/main/java/org/apache/asterix/bad/lang/statement/ChannelUnsubscribeStatement.java
@@ -145,7 +145,6 @@
 delete.accept(visitor, null);
 MetadataProvider tempMdProvider = new 
MetadataProvider(metadataProvider.getApplicationContext(),
 metadataProvider.getDefaultDataverse());
-tempMdProvider.setConfig(metadataProvider.getConfig());
 ((QueryTranslator) 
statementExecutor).handleDeleteStatement(tempMdProvider, delete, hcc, false);
 MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
 } catch (Exception e) {
diff --git 

Change in asterixdb[master]: [ASTERIXDB-2025][STO] Fix Merge Lifecycle

2017-08-12 Thread abdullah alamoudi (Code Review)
abdullah alamoudi has submitted this change and it was merged.

Change subject: [ASTERIXDB-2025][STO] Fix Merge Lifecycle
..


[ASTERIXDB-2025][STO] Fix Merge Lifecycle

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Complete merge operation after deletion of old components
  files.

Change-Id: I843de8b26c181205e43f4eabe22a7c43f3ebfcbc
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1930
Sonar-Qube: Jenkins 
Tested-by: Jenkins 
Contrib: Jenkins 
Integration-Tests: Jenkins 
Reviewed-by: Murtadha Hubail 
---
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/BaseOperationTracker.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
M 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
M 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/resource/PersistentLocalResourceRepository.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-common/src/main/java/org/apache/hyracks/storage/am/common/dataflow/IndexDataflowHelper.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMHarness.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/LSMTreeIndexAccessor.java
M 
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-invertedindex/src/main/java/org/apache/hyracks/storage/am/lsm/invertedindex/impls/LSMInvertedIndexAccessor.java
8 files changed, 47 insertions(+), 10 deletions(-)

Approvals:
  Anon. E. Moose #1000171: 
  Jenkins: Verified; No violations found; ; Verified
  Murtadha Hubail: Looks good to me, approved



diff --git 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/BaseOperationTracker.java
 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/BaseOperationTracker.java
index 9cb1de5..e74600e 100644
--- 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/BaseOperationTracker.java
+++ 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/BaseOperationTracker.java
@@ -47,8 +47,7 @@
 @Override
 public void afterOperation(ILSMIndex index, LSMOperationType opType, 
ISearchOperationCallback searchCallback,
 IModificationOperationCallback modificationCallback) throws 
HyracksDataException {
-if (opType == LSMOperationType.FLUSH || opType == 
LSMOperationType.MERGE
-|| opType == LSMOperationType.REPLICATE) {
+if (opType == LSMOperationType.FLUSH || opType == 
LSMOperationType.REPLICATE) {
 dsInfo.undeclareActiveIOOperation();
 }
 }
@@ -56,6 +55,9 @@
 @Override
 public void completeOperation(ILSMIndex index, LSMOperationType opType, 
ISearchOperationCallback searchCallback,
 IModificationOperationCallback modificationCallback) throws 
HyracksDataException {
+if (opType == LSMOperationType.MERGE) {
+dsInfo.undeclareActiveIOOperation();
+}
 }
 
 public void exclusiveJobCommitted() throws HyracksDataException {
diff --git 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
index 8abbeab..37bd789 100644
--- 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
+++ 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
@@ -147,7 +147,8 @@
 //notification will come from DatasetInfo class 
(undeclareActiveIOOperation)
 dsInfo.wait();
 } catch (InterruptedException e) {
-throw new HyracksDataException(e);
+Thread.currentThread().interrupt();
+throw HyracksDataException.create(e);
 }
 }
 }
diff --git 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
index 903bb50..67b25b6 100644
--- 
a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
+++ 
b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/PrimaryIndexOperationTracker.java
@@ -68,8 +68,7 @@
 public void afterOperation(ILSMIndex index, LSMOperationType opType, 
ISearchOperationCallback searchCallback,
 

<    3   4   5   6   7   8   9   10   11   12   >