Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
None
-
None
-
None
Description
Built from this git repo.
for cpp:
get:
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.
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());
}