[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2020-02-04 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17030282#comment-17030282
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit 19a4d8fe794c9b17e69d6c65473f9a68084916bb in impala's branch 
refs/heads/master from Thomas Tauber-Marshall
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=19a4d8f ]

IMPALA-9335 (part 2): Fix rebased KRPC to compile

This patch applies various fixes to Impala and to the copied Kudu
source code in be/src/kudu/* to allow everything to compile.

Some highlights of the changes made:
- Various Kudu files were removed from compilation due to issues like
  relying on libraries that Impala does not provide. The linking of
  some executable is also changed for similar reasons.
- The Kudu Cache implementation changed to support unique_ptr,
  allowing us to remove various uses of MakeScopeExitTrigger.
- Some flags that have a DEFINE in both Kudu and Impala are modified
  to change one of the DEFINEs to a DECLARE.

This patch was in part based on the patches that were applied the last
time we rebased the Kudu code in IMPALA-7006, and I ensured that all
changes from those commits that are still relevant were included here.

I also went through all commits that have been applied to the
be/src/kudu directory since the last rebase and ensured that all
relevant changes from those are included here.

Testing:
- Passed an exhaustive DEBUG build and a core ASAN build.

Change-Id: I1eb4caf927c729109426fb50a28b5e15d6ac46cb
Reviewed-on: http://gerrit.cloudera.org:8080/15144
Tested-by: Impala Public Jenkins 
Reviewed-by: Joe McDonnell 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 2.13.0, Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2019-04-04 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16810074#comment-16810074
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit 0c2d3c74d662d32eaf5c56cdeca067285ab1d300 in impala's branch 
refs/heads/2.x from Lars Volker
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=0c2d3c7 ]

IMPALA-7006: Remove KRPC folders

Change-Id: Ic677484c27ed18b105da0a6b0901df4eb9f248e6
Reviewed-on: http://gerrit.cloudera.org:8080/10756
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2019-04-04 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16810078#comment-16810078
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit 23a3ef7452ade42a426502e0fd3719f3836d6730 in impala's branch 
refs/heads/2.x from Lars Volker
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=23a3ef7 ]

IMPALA-7006: [KSECURITY] Update security library integration

This commit is part of a set of changes for IMPALA-7006. It started
based on an original change (f51c4435), which integrated Kudu's security
folder into our build.

This change removes several compile time checks that are now either done
in Kudu's own cmake files or that can be removed due to Impala
deprecating support for older OS versions in the 3.x line.

The removed checks are:

HAVE_KRB5_GET_INIT_CREDS_OPT_SET_OUT_CCACHE:
We now check for this in Kudu's code.

HAVE_KRB5_IS_CONFIG_PRINCIPAL,
HAVE_KRB5_GET_INIT_CREDS_OPT_SET_FAST_CCACHE_NAME:
These checks are not needed anymore. All OS versions supported by
Impala now have sufficiently recent versions of Kerberos.

Change-Id: Ifab51d887f5e771ad62eeddc14b9c47f42c3130d
Reviewed-on: http://gerrit.cloudera.org:8080/10759
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2019-04-04 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16810085#comment-16810085
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit 315bc66bbac8715302d455d2d746981cebf74aec in impala's branch 
refs/heads/2.x from Joe McDonnell
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=315bc66 ]

KUDU-2305: Limit sidecars to INT_MAX and fortify socket code

NOTE: This commit is part of a set of changes for IMPALA-7006. It
contains pieces of a previous commit that need to be cherry picked
again after rebasing the code in be/src/kudu/{util,security,rpc}.

The original commit message is below:

Inspection of the code revealed some other local variables
that could overflow with large messages. This patch takes
two approaches to eliminate the issues.

First, it limits the total size of the messages by limiting
the total size of the sidecars to INT_MAX. The total size
of the protobuf and header components of the message
should be considerably smaller, so limiting the sidecars
to INT_MAX eliminates messages that are larger than UINT_MAX.
This also means that the sidecar offsets, which are unsigned
32-bit integers, are also safe. Given that
FLAGS_rpc_max_message_size is limited to INT_MAX at startup,
the receiver would reject any message this large anyway.
This also helps with the networking codepath, as any given
sidecar will have a size less than INT_MAX, so every Slice
that interacts with Writev() is shorter than INT_MAX.

Second, even with sidecars limited to INT_MAX, the headers
and protobuf parts of the messages mean that certain messages
could still exceed INT_MAX. This patch changes some of the sockets
codepath to tolerate iovec's that reference more than INT_MAX
bytes total. Specifically, it changes Writev()'s nwritten bytes
to an int64_t for both TlsSocket and Socket. TlsSocket works
because it is sending each Slice individually. The first change
limited any given Slice to INT_MAX, so each individual Write()
should not be impacted. For Socket, Writev() uses sendmsg(). It
should do partial network sends to handle this case. Any Write()
call specifies its size with a 32-bit integer, and that will
not be impacted by this patch.

Testing:
 - Modified TestRpcSidecarLimits() to verify that sidecars are
   limited to INT_MAX bytes.
 - Added a test mode to TestRpcSidecarLimits() where it
   overrides rpc_max_message_size and sends the maximal
   message. This verifies that the client send codepath
   can handle the maximal message.

Reviewed-on: http://gerrit.cloudera.org:8080/9601
Reviewed-by: Todd Lipcon 
Tested-by: Todd Lipcon 

Changes from Kudu version:
 - Updated declaration of FLAGS_rpc_max_message_size
   in rpc-mgr.cc and added a warning not to set it
   larger than INT_MAX.

Change-Id: Id23e518995f2bf2f6bf6b49d5f413f3eaa4e79d1
Reviewed-on: http://gerrit.cloudera.org:8080/9748
Reviewed-by: Michael Ho 
Tested-by: Impala Public Jenkins
Reviewed-on: http://gerrit.cloudera.org:8080/10765
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2019-04-04 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16810086#comment-16810086
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit b65dbf8e40d7c8f77db05846d84497824d6bbd26 in impala's branch 
refs/heads/2.x from Lars Volker
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=b65dbf8 ]

IMPALA-7006: Pick parts of recent Kudu gutil changes

- Include some ASAN macros from gutil (Kudu commit c8724c61)
- Pick parts of KUDU-2427 (Kudu commit b7cf3b2e)
- Rename constants (Kudu commit e719b5ef)

These changes will be subsumed by a proper rebase of GUTIL.

Change-Id: Id2dc8c70425e3ac030427ebeb1ec18a44d14d5cb
Reviewed-on: http://gerrit.cloudera.org:8080/10769
Tested-by: Impala Public Jenkins 
Reviewed-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2019-04-04 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16810075#comment-16810075
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit dfb9e16960f858e1dccd209e7b1f7e4be60bc6d4 in impala's branch 
refs/heads/2.x from Lars Volker
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=dfb9e16 ]

IMPALA-7006: Add KRPC folders from kudu@334ecafd

cp -a ~/checkout/kudu/src/kudu/{rpc,util,security} be/src/kudu/

Change-Id: I232db2b4ccf5df9aca87b21dea31bfb2735d1ab7
Reviewed-on: http://gerrit.cloudera.org:8080/10757
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2019-04-04 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16810083#comment-16810083
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit b97e0cd555a53057a82dc9c0ad9e0cfe58f3ec66 in impala's branch 
refs/heads/2.x from Sailesh Mukil
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=b97e0cd ]

IMPALA-5129: Use Kudu's Kinit code to avoid expensive fork

NOTE: This commit is part of a set of changes for IMPALA-7006. It
contains pieces of a previous commit that need to be cherry picked
again after rebasing the code in be/src/kudu/{util,security,rpc}.

The original commit message is below:

Impala currently kinits by forking off a child process. This
has proved to be expensive in many cases since the subprocess
tries to reserve as much memory as Impala is currently using
which can be quite a lot.

This patch adds a flag called 'use_kudu_kinit' that defaults to
true. When it's true, it uses the Kudu security library's kinit code
that programatically uses the krb5 library to kinit.
When it's false, we run our current path which kicks off the
kinit-thread and forks off a kinit process periodically to reacquire
tickets based on FLAGS_kerberos_reinit_interval.

Converted existing tests in thrift-server-test to run with and
without kerberos. We now run this BE test with kerberos by using
Kudu's MiniKdc utility. This introduces a new dependency on some
kerberos binaries that are checked through FindKerberosPrograms.cmake.
Note that this is only a test dependency and not a dependency for
the impalad binaries and friends. Compilation will still succeed if
the kerberos binaries for the MiniKdc are not found, however, the
thrift-server-test will fail. We run with and without the
'use_kudu_kinit' flag.

TODO: Since the setting up and tearing down of our security code
isn't idempotent, we can run only any one test in a process with
Kerberos now (IMPALA-6085).

Updated bin/bootstrap_system.sh to install new sasl-gssapi
modules and the kerberos binaries required for the MiniKdc.
Also fixed a bug that didn't transfer the environment into 'sudo'
in bin/bootstrap_system.sh.

Testing: Verified with thrift-server-test and also manually on a
live kerberized cluster.

Change-Id: Ie3c6e933c454e7adca69ef03e7d5c0c84b656895
Reviewed-on: http://gerrit.cloudera.org:8080/7938
Reviewed-by: Sailesh Mukil 
Tested-by: Impala Public Jenkins
Reviewed-on: http://gerrit.cloudera.org:8080/10763
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2019-04-04 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16810077#comment-16810077
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit 5dbd48f226f1061567da1c381ee2491dab3ceaf4 in impala's branch 
refs/heads/2.x from Lars Volker
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=5dbd48f ]

IMPALA-4669: [KUTIL] Add kudu_util library to the build.

NOTE: This commit is part of a set of changes for IMPALA-7006. It
contains pieces of a previous commit that need to be cherry picked
again after rebasing the code in be/src/kudu/{util,security,rpc}.

The original commit message is below:

A few miscellaneous changes to allow kudu_util to compile with Impala.

Add kudu_version.cc to substitute for the version.cc file that is
automatically built during the full Kudu build.

Set LZ4_DISABLE_DEPRECATE_WARNINGS to allow Kudu's compressor utility to
use deprecated names for LZ4 methods.

Add NO_NVM_SUPPORT flag to Kudu build (plan to upstream this later) to
disable building with nvm support, removing a library dependency.

Also remove imported FindOpenSSL.cmake in favour of the standard one provided
by cmake itself.

Finally, a few changes to allow compilation on RHEL5:

* Only use sched_getcpu() if supported
* Only include magic.h if available
* Workaround for kernels that don't have SOCK_NONBLOCK
* Workaround for kernels that don't have O_CLOEXEC (ignore the flag)
* Provide non-working implementation of fallocate()
* Disable inclusion of linux/fiemap.h - although this exists on RHEL5,
  it does not compile due to other #includes in env_posix.cc. We disable
  the path this is used for, since Impala does not call that code.
* Use Kudu's implementation of pipe(2), preadv(2) and pwritev(2) where
  it doesn't exist.

In most cases these changes simply force kutil to revert to a different
implementation that was already written for OSX support - this patch
generalises the logic to provide the implementation whenever the
required function doesn't exist.

This patch compiles on RHEL5.5 and 6.0, SLES11 and 12, Ubuntu 12.04 and
14.04 and Debian 7.0 and 8.0.

Change-Id: I451f02d3e4669e8a548b92fb1445cb2b322659a2
Reviewed-on: http://gerrit.cloudera.org:8080/5715
Tested-by: Impala Public Jenkins
Reviewed-by: Henry Robinson 
Reviewed-on: http://gerrit.cloudera.org:8080/10758
Reviewed-by: Michael Ho 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2019-04-04 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16810081#comment-16810081
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit d10b34354c0d1616ed2faf78a6659e9be4aacd66 in impala's branch 
refs/heads/2.x from Lars Volker
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=d10b343 ]

IMPALA-4669: [KRPC] Add kudu_rpc library to build

NOTE: This commit is part of a set of changes for IMPALA-7006. It
contains pieces of a previous commit that need to be cherry picked
again after rebasing the code in be/src/kudu/{util,security,rpc}.

The original commit message is below:

Import FindKRPC.cmake from Apache Kudu.

Add some files to protoc-gen-krpc link to allow it to find symbols now
defined within Impala (without linking all of Impala's libraries).

Change-Id: I5693288db90f2e9673b8c88ca4378c3790cba957
Reviewed-on: http://gerrit.cloudera.org:8080/5719
Reviewed-by: Henry Robinson 
Tested-by: Impala Public Jenkins
Reviewed-on: http://gerrit.cloudera.org:8080/10760
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2018-07-13 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16542569#comment-16542569
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit 0459721ccd59deae34548d44c684def4e04b31a6 in impala's branch 
refs/heads/master from [~lv]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=0459721 ]

IMPALA-7006: Pick parts of recent Kudu gutil changes

- Include some ASAN macros from gutil (Kudu commit c8724c61)
- Pick parts of KUDU-2427 (Kudu commit b7cf3b2e)
- Rename constants (Kudu commit e719b5ef)

These changes will be subsumed by a proper rebase of GUTIL.

Change-Id: Id2dc8c70425e3ac030427ebeb1ec18a44d14d5cb
Reviewed-on: http://gerrit.cloudera.org:8080/10769
Tested-by: Impala Public Jenkins 
Reviewed-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2018-07-13 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16542564#comment-16542564
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit ae5eec774d3d064e92b5414ab5db3ed548eb69d6 in impala's branch 
refs/heads/master from [~lv]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=ae5eec7 ]

IMPALA-4669: [KRPC] Add kudu_rpc library to build

NOTE: This commit is part of a set of changes for IMPALA-7006. It
contains pieces of a previous commit that need to be cherry picked
again after rebasing the code in be/src/kudu/{util,security,rpc}.

The original commit message is below:

Import FindKRPC.cmake from Apache Kudu.

Add some files to protoc-gen-krpc link to allow it to find symbols now
defined within Impala (without linking all of Impala's libraries).

Change-Id: I5693288db90f2e9673b8c88ca4378c3790cba957
Reviewed-on: http://gerrit.cloudera.org:8080/5719
Reviewed-by: Henry Robinson 
Tested-by: Impala Public Jenkins
Reviewed-on: http://gerrit.cloudera.org:8080/10760
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2018-07-13 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16542558#comment-16542558
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit fcf190c4de1fcc291a5356634fd7cd12efa64852 in impala's branch 
refs/heads/master from [~lv]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=fcf190c ]

IMPALA-7006: Add KRPC folders from kudu@334ecafd

cp -a ~/checkout/kudu/src/kudu/{rpc,util,security} be/src/kudu/

Change-Id: I232db2b4ccf5df9aca87b21dea31bfb2735d1ab7
Reviewed-on: http://gerrit.cloudera.org:8080/10757
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2018-07-13 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16542561#comment-16542561
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit 96aa7b477d5172c723e80efa03f747658c16e687 in impala's branch 
refs/heads/master from [~lv]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=96aa7b4 ]

IMPALA-7006: [KSECURITY] Update security library integration

This commit is part of a set of changes for IMPALA-7006. It started
based on an original change (f51c4435), which integrated Kudu's security
folder into our build.

This change removes several compile time checks that are now either done
in Kudu's own cmake files or that can be removed due to Impala
deprecating support for older OS versions in the 3.x line.

The removed checks are:

HAVE_KRB5_GET_INIT_CREDS_OPT_SET_OUT_CCACHE:
We now check for this in Kudu's code.

HAVE_KRB5_IS_CONFIG_PRINCIPAL,
HAVE_KRB5_GET_INIT_CREDS_OPT_SET_FAST_CCACHE_NAME:
These checks are not needed anymore. All OS versions supported by
Impala now have sufficiently recent versions of Kerberos.

Change-Id: Ifab51d887f5e771ad62eeddc14b9c47f42c3130d
Reviewed-on: http://gerrit.cloudera.org:8080/10759
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2018-07-13 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16542560#comment-16542560
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit e1d3a616651c93a0164d3e6377f16aaae298d8cd in impala's branch 
refs/heads/master from [~lv]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=e1d3a61 ]

IMPALA-4669: [KUTIL] Add kudu_util library to the build.

NOTE: This commit is part of a set of changes for IMPALA-7006. It
contains pieces of a previous commit that need to be cherry picked
again after rebasing the code in be/src/kudu/{util,security,rpc}.

The original commit message is below:

A few miscellaneous changes to allow kudu_util to compile with Impala.

Add kudu_version.cc to substitute for the version.cc file that is
automatically built during the full Kudu build.

Set LZ4_DISABLE_DEPRECATE_WARNINGS to allow Kudu's compressor utility to
use deprecated names for LZ4 methods.

Add NO_NVM_SUPPORT flag to Kudu build (plan to upstream this later) to
disable building with nvm support, removing a library dependency.

Also remove imported FindOpenSSL.cmake in favour of the standard one provided
by cmake itself.

Finally, a few changes to allow compilation on RHEL5:

* Only use sched_getcpu() if supported
* Only include magic.h if available
* Workaround for kernels that don't have SOCK_NONBLOCK
* Workaround for kernels that don't have O_CLOEXEC (ignore the flag)
* Provide non-working implementation of fallocate()
* Disable inclusion of linux/fiemap.h - although this exists on RHEL5,
  it does not compile due to other #includes in env_posix.cc. We disable
  the path this is used for, since Impala does not call that code.
* Use Kudu's implementation of pipe(2), preadv(2) and pwritev(2) where
  it doesn't exist.

In most cases these changes simply force kutil to revert to a different
implementation that was already written for OSX support - this patch
generalises the logic to provide the implementation whenever the
required function doesn't exist.

This patch compiles on RHEL5.5 and 6.0, SLES11 and 12, Ubuntu 12.04 and
14.04 and Debian 7.0 and 8.0.

Change-Id: I451f02d3e4669e8a548b92fb1445cb2b322659a2
Reviewed-on: http://gerrit.cloudera.org:8080/5715
Tested-by: Impala Public Jenkins
Reviewed-by: Henry Robinson 
Reviewed-on: http://gerrit.cloudera.org:8080/10758
Reviewed-by: Michael Ho 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2018-07-13 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16542562#comment-16542562
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit 96aa7b477d5172c723e80efa03f747658c16e687 in impala's branch 
refs/heads/master from [~lv]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=96aa7b4 ]

IMPALA-7006: [KSECURITY] Update security library integration

This commit is part of a set of changes for IMPALA-7006. It started
based on an original change (f51c4435), which integrated Kudu's security
folder into our build.

This change removes several compile time checks that are now either done
in Kudu's own cmake files or that can be removed due to Impala
deprecating support for older OS versions in the 3.x line.

The removed checks are:

HAVE_KRB5_GET_INIT_CREDS_OPT_SET_OUT_CCACHE:
We now check for this in Kudu's code.

HAVE_KRB5_IS_CONFIG_PRINCIPAL,
HAVE_KRB5_GET_INIT_CREDS_OPT_SET_FAST_CCACHE_NAME:
These checks are not needed anymore. All OS versions supported by
Impala now have sufficiently recent versions of Kerberos.

Change-Id: Ifab51d887f5e771ad62eeddc14b9c47f42c3130d
Reviewed-on: http://gerrit.cloudera.org:8080/10759
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2018-07-13 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16542568#comment-16542568
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit 1ac9a3f329e3a792c1f3e26272149d05b14732b5 in impala's branch 
refs/heads/master from [~joemcdonnell]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=1ac9a3f ]

KUDU-2305: Limit sidecars to INT_MAX and fortify socket code

NOTE: This commit is part of a set of changes for IMPALA-7006. It
contains pieces of a previous commit that need to be cherry picked
again after rebasing the code in be/src/kudu/{util,security,rpc}.

The original commit message is below:

Inspection of the code revealed some other local variables
that could overflow with large messages. This patch takes
two approaches to eliminate the issues.

First, it limits the total size of the messages by limiting
the total size of the sidecars to INT_MAX. The total size
of the protobuf and header components of the message
should be considerably smaller, so limiting the sidecars
to INT_MAX eliminates messages that are larger than UINT_MAX.
This also means that the sidecar offsets, which are unsigned
32-bit integers, are also safe. Given that
FLAGS_rpc_max_message_size is limited to INT_MAX at startup,
the receiver would reject any message this large anyway.
This also helps with the networking codepath, as any given
sidecar will have a size less than INT_MAX, so every Slice
that interacts with Writev() is shorter than INT_MAX.

Second, even with sidecars limited to INT_MAX, the headers
and protobuf parts of the messages mean that certain messages
could still exceed INT_MAX. This patch changes some of the sockets
codepath to tolerate iovec's that reference more than INT_MAX
bytes total. Specifically, it changes Writev()'s nwritten bytes
to an int64_t for both TlsSocket and Socket. TlsSocket works
because it is sending each Slice individually. The first change
limited any given Slice to INT_MAX, so each individual Write()
should not be impacted. For Socket, Writev() uses sendmsg(). It
should do partial network sends to handle this case. Any Write()
call specifies its size with a 32-bit integer, and that will
not be impacted by this patch.

Testing:
 - Modified TestRpcSidecarLimits() to verify that sidecars are
   limited to INT_MAX bytes.
 - Added a test mode to TestRpcSidecarLimits() where it
   overrides rpc_max_message_size and sends the maximal
   message. This verifies that the client send codepath
   can handle the maximal message.

Reviewed-on: http://gerrit.cloudera.org:8080/9601
Reviewed-by: Todd Lipcon 
Tested-by: Todd Lipcon 

Changes from Kudu version:
 - Updated declaration of FLAGS_rpc_max_message_size
   in rpc-mgr.cc and added a warning not to set it
   larger than INT_MAX.

Change-Id: Id23e518995f2bf2f6bf6b49d5f413f3eaa4e79d1
Reviewed-on: http://gerrit.cloudera.org:8080/9748
Reviewed-by: Michael Ho 
Tested-by: Impala Public Jenkins
Reviewed-on: http://gerrit.cloudera.org:8080/10765
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org



[jira] [Commented] (IMPALA-7006) Rebase KRPC onto Kudu upstream repository

2018-07-13 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16542566#comment-16542566
 ] 

ASF subversion and git services commented on IMPALA-7006:
-

Commit bee01825e23fc097c1d8ff58f68afb5141ea57db in impala's branch 
refs/heads/master from [~sailesh]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=bee0182 ]

IMPALA-5129: Use Kudu's Kinit code to avoid expensive fork

NOTE: This commit is part of a set of changes for IMPALA-7006. It
contains pieces of a previous commit that need to be cherry picked
again after rebasing the code in be/src/kudu/{util,security,rpc}.

The original commit message is below:

Impala currently kinits by forking off a child process. This
has proved to be expensive in many cases since the subprocess
tries to reserve as much memory as Impala is currently using
which can be quite a lot.

This patch adds a flag called 'use_kudu_kinit' that defaults to
true. When it's true, it uses the Kudu security library's kinit code
that programatically uses the krb5 library to kinit.
When it's false, we run our current path which kicks off the
kinit-thread and forks off a kinit process periodically to reacquire
tickets based on FLAGS_kerberos_reinit_interval.

Converted existing tests in thrift-server-test to run with and
without kerberos. We now run this BE test with kerberos by using
Kudu's MiniKdc utility. This introduces a new dependency on some
kerberos binaries that are checked through FindKerberosPrograms.cmake.
Note that this is only a test dependency and not a dependency for
the impalad binaries and friends. Compilation will still succeed if
the kerberos binaries for the MiniKdc are not found, however, the
thrift-server-test will fail. We run with and without the
'use_kudu_kinit' flag.

TODO: Since the setting up and tearing down of our security code
isn't idempotent, we can run only any one test in a process with
Kerberos now (IMPALA-6085).

Updated bin/bootstrap_system.sh to install new sasl-gssapi
modules and the kerberos binaries required for the MiniKdc.
Also fixed a bug that didn't transfer the environment into 'sudo'
in bin/bootstrap_system.sh.

Testing: Verified with thrift-server-test and also manually on a
live kerberized cluster.

Change-Id: Ie3c6e933c454e7adca69ef03e7d5c0c84b656895
Reviewed-on: http://gerrit.cloudera.org:8080/7938
Reviewed-by: Sailesh Mukil 
Tested-by: Impala Public Jenkins
Reviewed-on: http://gerrit.cloudera.org:8080/10763
Reviewed-by: Lars Volker 
Tested-by: Lars Volker 


> Rebase KRPC onto Kudu upstream repository
> -
>
> Key: IMPALA-7006
> URL: https://issues.apache.org/jira/browse/IMPALA-7006
> Project: IMPALA
>  Issue Type: Improvement
>  Components: Backend
>Affects Versions: Impala 2.13.0, Impala 3.1.0
>Reporter: Lars Volker
>Assignee: Lars Volker
>Priority: Major
>  Labels: krpc
> Fix For: Impala 3.1.0
>
>
> We should consider rebasing our KRPC code on top of the latest Kudu upstream 
> version. This will keep the two projects more in sync and will allow us to 
> make use of recent improvements, e.g. around thread stack collection, without 
> having to pick individual changes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org