You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ad...@apache.org on 2019/11/07 04:00:09 UTC

[kudu] branch master updated (ba908ef -> 6c64693)

This is an automated email from the ASF dual-hosted git repository.

adar pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git.


    from ba908ef  KUDU-2990: remove memkind/libnuma and dynamically link memkind at runtime
     new 6133878  [cfile] Improve the hash function of pair<DataType, EncodingType>
     new 6c64693  docs: recommend memkind for NVM cache users

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 docs/installation.adoc           | 21 +++++++++++++++++++++
 src/kudu/cfile/type_encodings.cc |  3 +--
 2 files changed, 22 insertions(+), 2 deletions(-)


[kudu] 01/02: [cfile] Improve the hash function of pair

Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

adar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git

commit 6133878108256174e580115b4738f29da3fa58d7
Author: lingbin <li...@gmail.com>
AuthorDate: Wed Nov 6 20:36:01 2019 +0800

    [cfile] Improve the hash function of pair<DataType, EncodingType>
    
    In the original implementation, because `DataType` part and
    `EncodingType` part will use the same bits, it is easy to
    have hash collisions.
    
    For example, the hash values of <UINT32=4, BIT_SHUFFLE=6>
    and <INT32=5, PLAIN_ENCODING=1> are both equal to `100101`
    
    This change also removed an unused member from `TypeEncodingTraits`
    
    Change-Id: Id141c51147ae674b9bee3016026a0b91cb76b5aa
    Reviewed-on: http://gerrit.cloudera.org:8080/14644
    Tested-by: Kudu Jenkins
    Reviewed-by: Adar Dembo <ad...@cloudera.com>
---
 src/kudu/cfile/type_encodings.cc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/kudu/cfile/type_encodings.cc b/src/kudu/cfile/type_encodings.cc
index 9087ff3..55c258d 100644
--- a/src/kudu/cfile/type_encodings.cc
+++ b/src/kudu/cfile/type_encodings.cc
@@ -49,7 +49,6 @@ struct DataTypeEncodingTraits {};
 template<DataType Type, EncodingType Encoding> struct TypeEncodingTraits
   : public DataTypeEncodingTraits<Type, Encoding> {
 
-  static const DataType kType = Type;
   static const EncodingType kEncodingType = Encoding;
 };
 
@@ -206,7 +205,7 @@ Status TypeEncodingInfo::CreateBlockBuilder(
 
 struct EncodingMapHash {
   size_t operator()(pair<DataType, EncodingType> pair) const {
-    return (pair.first + 31) ^ pair.second;
+    return (pair.first << 5) + pair.second;
   }
 };
 


[kudu] 02/02: docs: recommend memkind for NVM cache users

Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

adar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git

commit 6c646937b1fe1f4ab0aeb9ed638f00c5dd39257c
Author: Adar Dembo <ad...@cloudera.com>
AuthorDate: Wed Nov 6 17:06:53 2019 -0800

    docs: recommend memkind for NVM cache users
    
    I intentionally omitted transitive dependencies; I assume that the memkind
    package metadata properly expresses its own dependencies.
    
    Change-Id: Ic87273ba2f051a0adad619138fc7fff92014c3e2
    Reviewed-on: http://gerrit.cloudera.org:8080/14649
    Reviewed-by: Grant Henke <gr...@apache.org>
    Tested-by: Kudu Jenkins
---
 docs/installation.adoc | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/docs/installation.adoc b/docs/installation.adoc
index f7dc39f..5c5ff9a 100644
--- a/docs/installation.adoc
+++ b/docs/installation.adoc
@@ -109,6 +109,13 @@ $ sudo yum install -y scl-utils ${DTLS_RPM}
 $ sudo yum install -y devtoolset-3-toolchain
 ----
 
+. Optional: If support for Kudu's NVM (non-volatile memory) block cache is
+desired, install the memkind library.
++
+----
+$ sudo yum install memkind
+----
+
 . Optional: Install some additional packages, including ruby, if you plan to build documentation.
 +
 ----
@@ -239,6 +246,13 @@ $ sudo apt-get install autoconf automake curl flex g++ gcc gdb git \
   openjdk-8-jdk openssl patch pkg-config python rsync unzip vim-common
 ----
 
+. Optional: If support for Kudu's NVM (non-volatile memory) block cache is
+desired, install the memkind library.
++
+----
+$ sudo apt-get install libmemkind0
+----
+
 . Optional: Install some additional packages, including ruby, if you plan to build documentation.
 +
 ----
@@ -356,6 +370,13 @@ $ sudo zypper install autoconf automake curl cyrus-sasl-devel \
   pkg-config python rsync unzip vim
 ----
 
+. Optional: If support for Kudu's NVM (non-volatile memory) block cache is
+desired, install the memkind library.
++
+----
+$ sudo zypper install memkind
+----
+
 . Clone the Git repository and change to the new `kudu` directory.
 +
 [source,bash]