You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Abe Mammen (Jira)" <ji...@apache.org> on 2020/04/30 01:40:00 UTC

[jira] [Created] (ARROW-8636) plasma client delete (of objectid) causes an exception and abort

Abe Mammen created ARROW-8636:
---------------------------------

             Summary: plasma client delete (of objectid) causes an exception and abort
                 Key: ARROW-8636
                 URL: https://issues.apache.org/jira/browse/ARROW-8636
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
            Reporter: Abe Mammen


Built from this git repo.
for cpp:
{quote}{quote}ARROW_CHECK_OK(client.Delete(vector\{objectId}));
get:
{quote}Check failed: _s.ok() Operation failed: client.Delete(vector\{objectId})
Bad status: IOError: Encountered unexpected EOF
0 libarrow.18.0.0.dylib 0x00000001070ed3c4 _ZN5arrow4util7CerrLog14PrintBackTraceEv + 52
1 libarrow.18.0.0.dylib 0x00000001070ed2e2 _ZN5arrow4util7CerrLogD2Ev + 98
2 libarrow.18.0.0.dylib 0x00000001070ed245 _ZN5arrow4util7CerrLogD1Ev + 21
3 libarrow.18.0.0.dylib 0x00000001070ed26c _ZN5arrow4util7CerrLogD0Ev + 28
4 libarrow.18.0.0.dylib 0x00000001070ed152 _ZN5arrow4util8ArrowLogD2Ev + 82
5 libarrow.18.0.0.dylib 0x00000001070ed185 _ZN5arrow4util8ArrowLogD1Ev + 21
6 purge_plasma_messages 0x000000010431fe91 main + 2369
7 libdyld.dylib 0x00007fff6650b7fd start + 1
8 ??? 0x0000000000000001 0x0 + 1
Abort trap: 6
and kills the plasma-store-server.
{quote}{quote}{quote}
What could I be doing wrong? Here is the code:

#include
#include <plasma/client.h>
#include <arrow/util/logging.h>

using namespace std;
using namespace plasma;

int main(int argc, char** argv)
{
// Start up and connect a Plasma client.
PlasmaClient client;
ARROW_CHECK_OK(client.Connect("/tmp/plasma_store"));

std::unordered_map<ObjectID, std::unique_ptr> objectTable;
ARROW_CHECK_OK(client.List(&objectTable));

cout << "# of objects = " << objectTable.size() << endl;

for (auto it = objectTable.begin(); it != objectTable.end(); ++it) {
ObjectID objectId = it->first;
auto objectEntry = it->second.get();
string idString = objectId.binary();
cout << "object id = " << idString <<
", device = " << objectEntry->device_num <<
", data_size = " << objectEntry->data_size <<
", metadata_size = " << objectEntry->metadata_size <<
", ref_count = " << objectEntry->ref_count <<
endl;
ARROW_CHECK_OK(client.Delete(vector\{objectId}));
}
ARROW_CHECK_OK(client.Disconnect());
}



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