Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-8636

[C++][Plasma] plasma client delete (of objectid) causes an exception and abort

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • None
    • None
    • C++, C++ - Plasma
    • None

    Description

      Built from this git repo.
      for cpp:

      ARROW_CHECK_OK(client.Delete(vector{objectId}));
      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());
      }

      Attachments

        Activity

          People

            Unassigned Unassigned
            abemammen Abe Mammen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: