You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2019/01/15 05:50:41 UTC

[arrow] branch master updated: ARROW-4246: [Plasma][Python] PlasmaClient.list returns wrong information with CUDA enabled Plasma

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 6f4d1a9  ARROW-4246: [Plasma][Python] PlasmaClient.list returns wrong information with CUDA enabled Plasma
6f4d1a9 is described below

commit 6f4d1a9d3dba13643d287e068c4e278c5a2f223d
Author: Kouhei Sutou <ko...@clear-code.com>
AuthorDate: Mon Jan 14 23:50:30 2019 -0600

    ARROW-4246: [Plasma][Python] PlasmaClient.list returns wrong information with CUDA enabled Plasma
    
    It's caused by plasma::ObjectTableEntry layout difference between
    with/without CUDA. If we put CUDA related members at the last of
    plasma::ObjectTableEntry, we don't care about built with/without CUDA
    in Cython code.
    
    Author: Kouhei Sutou <ko...@clear-code.com>
    
    Closes #3398 from kou/plasma-python-fix-list and squashes the following commits:
    
    80b7a8527 <Kouhei Sutou> ARROW-4246:  PlasmaClient.list returns wrong information with CUDA enabled Plasma
---
 cpp/src/plasma/common.h | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/cpp/src/plasma/common.h b/cpp/src/plasma/common.h
index 17155b2..8e90fb3 100644
--- a/cpp/src/plasma/common.h
+++ b/cpp/src/plasma/common.h
@@ -93,10 +93,6 @@ struct ObjectTableEntry {
   int64_t data_size;
   /// Size of the object metadata in bytes.
   int64_t metadata_size;
-#ifdef PLASMA_CUDA
-  /// IPC GPU handle to share with clients.
-  std::shared_ptr<::arrow::cuda::CudaIpcMemHandle> ipc_handle;
-#endif
   /// Number of clients currently using this object.
   int ref_count;
   /// Unix epoch of when this object was created.
@@ -108,6 +104,13 @@ struct ObjectTableEntry {
   ObjectState state;
   /// The digest of the object. Used to see if two objects are the same.
   unsigned char digest[kDigestSize];
+
+#ifdef PLASMA_CUDA
+  /// Put CUDA related members at the last to create Python bindings easily.
+
+  /// IPC GPU handle to share with clients.
+  std::shared_ptr<::arrow::cuda::CudaIpcMemHandle> ipc_handle;
+#endif
 };
 
 /// Mapping from ObjectIDs to information about the object.