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.