diff --git a/producer/api/cpp/src/producer_impl.cpp b/producer/api/cpp/src/producer_impl.cpp index 1a384abf7df2916cce0b1909847e14fa10dff12e..b47b45de465edaf79785223d79ca4e1e33142498 100644 --- a/producer/api/cpp/src/producer_impl.cpp +++ b/producer/api/cpp/src/producer_impl.cpp @@ -100,6 +100,9 @@ Error ProducerImpl::Send(const EventHeader& event_header, bool manage_data_memory) { auto err = CheckProducerRequest(event_header, ingest_mode); if (err) { + if (!manage_data_memory) { + data.release(); + } log__->Error("error checking request - " + err->Explain()); return err; } @@ -230,6 +233,7 @@ Error ProducerImpl::SendData__(const EventHeader& event_header, FileData data_wrapped = FileData{(uint8_t*)data}; if (auto err = CheckData(ingest_mode, event_header, &data_wrapped)) { + data_wrapped.release(); return err; } diff --git a/producer/api/python/asapo_producer.pyx.in b/producer/api/python/asapo_producer.pyx.in index 1319d9439cf139c4284f29ace8824f03b7d0d94b..4a958c741dca6982887882590219d72c6c4d5d5b 100644 --- a/producer/api/python/asapo_producer.pyx.in +++ b/producer/api/python/asapo_producer.pyx.in @@ -125,7 +125,6 @@ cdef class PyProducer: Py_XINCREF(<PyObject*>data) if callback != None: Py_XINCREF(<PyObject*>callback) - return cdef EventHeader create_event_header(self,uint64_t id, exposed_path,user_meta,subset,ingest_mode): cdef EventHeader event_header diff --git a/tests/automatic/producer/python_api/producer_api.py b/tests/automatic/producer/python_api/producer_api.py index dd247424c2f3eb74c33f3ec0215d01e9c1dc1bd2..5b92088878129b40c048c4571871630789b165f8 100644 --- a/tests/automatic/producer/python_api/producer_api.py +++ b/tests/automatic/producer/python_api/producer_api.py @@ -91,8 +91,8 @@ else: sys.exit(1) try: - producer.send_file(0, local_path="./not_exist", exposed_path="./whatever", - ingest_mode=asapo_producer.INGEST_MODE_TRANSFER_METADATA_ONLY, callback=callback) + producer.send_data(0, "processed/" + stream + "/" + "file6", b"hello", + ingest_mode=asapo_producer.DEFAULT_INGEST_MODE, callback=callback) except asapo_producer.AsapoWrongInputError as e: print(e) else: