You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mh...@apache.org on 2019/02/03 10:00:33 UTC
[asterixdb] 03/03: Merge commit '04aebfe' from
'stabilization-f69489' into 'master'
This is an automated email from the ASF dual-hosted git repository.
mhubail pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 0615d611330786889b2ee2df376fcc98bec8fa28
Merge: 4e1773f 04aebfe
Author: Michael Blow <mb...@apache.org>
AuthorDate: Sun Feb 3 00:21:39 2019 -0500
Merge commit '04aebfe' from 'stabilization-f69489' into 'master'
Change-Id: I2d6ed58a6f11efff839bacab4bbe552d92eb9371
.../array_intersect/array_intersect.3.query.sqlpp | 5 +-
.../array_intersect/array_intersect.3.adm | 2 +-
.../array_fun/array_symdiff/array_symdiff.3.adm | 2 +-
.../array_fun/array_symdiffn/array_symdiffn.3.adm | 2 +-
.../functions/AbstractArrayAddRemoveEval.java | 137 +++++-----
.../functions/AbstractArrayProcessArraysEval.java | 71 +++---
.../functions/AbstractArrayProcessEval.java | 12 +-
.../functions/AbstractArraySearchEval.java | 9 +-
.../functions/ArrayDistinctDescriptor.java | 4 +-
.../functions/ArrayFlattenDescriptor.java | 69 +++---
.../functions/ArrayIntersectDescriptor.java | 275 ++++++++++++---------
.../evaluators/functions/ArrayPutDescriptor.java | 27 +-
.../functions/ArrayRemoveDescriptor.java | 10 +-
.../functions/ArrayReplaceDescriptor.java | 67 ++---
.../evaluators/functions/ArraySortDescriptor.java | 4 +-
.../evaluators/functions/ArrayStarDescriptor.java | 139 ++++++++---
.../evaluators/functions/ArraySymDiffEval.java | 21 +-
.../evaluators/functions/CastTypeEvaluator.java | 14 +-
.../hyracks/ipc/impl/IPCConnectionManager.java | 10 +-
19 files changed, 529 insertions(+), 351 deletions(-)
diff --cc hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCConnectionManager.java
index 764ec7d,b4828e9..64881dc
--- a/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCConnectionManager.java
+++ b/hyracks-fullstack/hyracks/hyracks-ipc/src/main/java/org/apache/hyracks/ipc/impl/IPCConnectionManager.java
@@@ -236,15 -229,10 +236,15 @@@ public class IPCConnectionManager
try {
connected = channel.finishConnect();
if (connected) {
- connectableKey.interestOps(SelectionKey.OP_READ);
- connectionEstablished(handle);
+ SelectionKey channelKey = channel.register(selector, SelectionKey.OP_READ);
+ final ISocketChannel clientChannel = socketChannelFactory.createClientChannel(channel);
+ if (clientChannel.requiresHandshake()) {
+ asyncHandshake(clientChannel, handle, channelKey);
+ } else {
+ connectionEstablished(handle, channelKey, clientChannel);
+ }
}
- } catch (IOException e) {
+ } catch (Exception e) {
LOGGER.warn("Exception finishing connect", e);
} finally {
if (!connected) {
@@@ -260,14 -248,12 +260,14 @@@
try {
channel = serverSocketChannel.accept();
register(channel);
+ final ISocketChannel serverChannel = socketChannelFactory.createServerChannel(channel);
channelKey = channel.register(selector, SelectionKey.OP_READ);
- IPCHandle handle = new IPCHandle(system, null);
- handle.setKey(channelKey);
- channelKey.attach(handle);
- handle.setState(HandleState.CONNECT_RECEIVED);
+ if (serverChannel.requiresHandshake()) {
+ asyncHandshake(serverChannel, null, channelKey);
+ } else {
+ connectionReceived(serverChannel, channelKey);
+ }
- } catch (IOException e) {
+ } catch (Exception e) {
LOGGER.error("Failed to accept channel ", e);
close(channelKey, channel);
}
@@@ -282,18 -268,13 +282,18 @@@
register(channel);
if (channel.connect(handle.getRemoteAddress())) {
channelKey = channel.register(selector, SelectionKey.OP_READ);
- connectionEstablished(handle);
+ final ISocketChannel clientChannel = socketChannelFactory.createClientChannel(channel);
+ if (clientChannel.requiresHandshake()) {
+ asyncHandshake(clientChannel, handle, channelKey);
+ } else {
+ connectionEstablished(handle, channelKey, clientChannel);
+ }
} else {
channelKey = channel.register(selector, SelectionKey.OP_CONNECT);
+ handle.setKey(channelKey);
+ channelKey.attach(handle);
}
- } catch (IOException e) {
- handle.setKey(channelKey);
- channelKey.attach(handle);
+ } catch (Exception e) {
LOGGER.error("Failed to accept channel ", e);
close(channelKey, channel);
handle.setState(HandleState.CLOSED);