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);