From 57064a8342c43c8937506e7448e2bfee23f938de Mon Sep 17 00:00:00 2001 From: Sergey Yakubov <sergey.yakubov@desy.de> Date: Wed, 23 Dec 2020 10:41:20 +0100 Subject: [PATCH] change signature of set_lastread_marker --- CHANGELOG.md | 1 + consumer/api/cpp/include/asapo/consumer/consumer.h | 4 ++-- consumer/api/cpp/src/consumer_impl.cpp | 8 ++++---- consumer/api/cpp/src/consumer_impl.h | 4 ++-- consumer/api/cpp/unittests/test_consumer_impl.cpp | 4 ++-- consumer/api/python/asapo_consumer.pxd | 2 +- consumer/api/python/asapo_consumer.pyx.in | 4 ++-- tests/automatic/consumer/consumer_api/consumer_api.cpp | 4 ++-- .../consumer/consumer_api_python/consumer_api.py | 2 +- 9 files changed, 17 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb5002215..e33750ece 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ BREAKING CHANGES * subset_size -> dataset_size (and in general replace subset with dataset) #### renaming - Consumer API * broker -> consumer +* SetLastReadMarker/set_lastread_marker -> swap arguments BUG FIXES * fix memory leak bug in Python consumer library (lead to problems when creating many consumer instances) diff --git a/consumer/api/cpp/include/asapo/consumer/consumer.h b/consumer/api/cpp/include/asapo/consumer/consumer.h index bc343dfbc..6cdc6f63f 100644 --- a/consumer/api/cpp/include/asapo/consumer/consumer.h +++ b/consumer/api/cpp/include/asapo/consumer/consumer.h @@ -22,8 +22,8 @@ class Consumer { virtual Error ResetLastReadMarker(std::string group_id) = 0; virtual Error ResetLastReadMarker(std::string group_id, std::string stream) = 0; - virtual Error SetLastReadMarker(uint64_t value, std::string group_id) = 0; - virtual Error SetLastReadMarker(uint64_t value, std::string group_id, std::string stream) = 0; + virtual Error SetLastReadMarker(std::string group_id, uint64_t value) = 0; + virtual Error SetLastReadMarker(std::string group_id, uint64_t value, std::string stream) = 0; //! Acknowledge data tuple for specific group id and stream. /*! diff --git a/consumer/api/cpp/src/consumer_impl.cpp b/consumer/api/cpp/src/consumer_impl.cpp index b3fc99f5d..acc53f6bb 100644 --- a/consumer/api/cpp/src/consumer_impl.cpp +++ b/consumer/api/cpp/src/consumer_impl.cpp @@ -515,8 +515,8 @@ std::string ConsumerImpl::BrokerRequestWithTimeout(RequestInfo request, Error* e return std::move(response.string_output); } -Error ConsumerImpl::SetLastReadMarker(uint64_t value, std::string group_id) { - return SetLastReadMarker(value, std::move(group_id), kDefaultStream); +Error ConsumerImpl::SetLastReadMarker(std::string group_id, uint64_t value) { + return SetLastReadMarker(std::move(group_id), value, kDefaultStream); } Error ConsumerImpl::ResetLastReadMarker(std::string group_id) { @@ -524,10 +524,10 @@ Error ConsumerImpl::ResetLastReadMarker(std::string group_id) { } Error ConsumerImpl::ResetLastReadMarker(std::string group_id, std::string stream) { - return SetLastReadMarker(0, group_id, stream); + return SetLastReadMarker(group_id, 0, stream); } -Error ConsumerImpl::SetLastReadMarker(uint64_t value, std::string group_id, std::string stream) { +Error ConsumerImpl::SetLastReadMarker(std::string group_id, uint64_t value, std::string stream) { RequestInfo ri; ri.api = "/database/" + source_credentials_.beamtime_id + "/" + source_credentials_.data_source + "/" + std::move(stream) + "/" + std::move(group_id) + "/resetcounter"; diff --git a/consumer/api/cpp/src/consumer_impl.h b/consumer/api/cpp/src/consumer_impl.h index 1ced0a6ba..494b50c07 100644 --- a/consumer/api/cpp/src/consumer_impl.h +++ b/consumer/api/cpp/src/consumer_impl.h @@ -73,8 +73,8 @@ class ConsumerImpl final : public asapo::Consumer { Error ResetLastReadMarker(std::string group_id) override; Error ResetLastReadMarker(std::string group_id, std::string stream) override; - Error SetLastReadMarker(uint64_t value, std::string group_id) override; - Error SetLastReadMarker(uint64_t value, std::string group_id, std::string stream) override; + Error SetLastReadMarker(std::string group_id, uint64_t value) override; + Error SetLastReadMarker(std::string group_id, uint64_t value, std::string stream) override; Error GetNext(MessageMeta* info, std::string group_id, MessageData* data) override; Error GetNext(MessageMeta* info, std::string group_id, std::string stream, MessageData* data) override; diff --git a/consumer/api/cpp/unittests/test_consumer_impl.cpp b/consumer/api/cpp/unittests/test_consumer_impl.cpp index 18aaf81a0..9675316ea 100644 --- a/consumer/api/cpp/unittests/test_consumer_impl.cpp +++ b/consumer/api/cpp/unittests/test_consumer_impl.cpp @@ -616,7 +616,7 @@ TEST_F(ConsumerImplTests, ResetCounterUsesCorrectUri) { SetArgPointee<3>(HttpCode::OK), SetArgPointee<4>(nullptr), Return(""))); - auto err = consumer->SetLastReadMarker(10, expected_group_id); + auto err = consumer->SetLastReadMarker(expected_group_id, 10); ASSERT_THAT(err, Eq(nullptr)); } @@ -631,7 +631,7 @@ TEST_F(ConsumerImplTests, ResetCounterUsesCorrectUriWithStream) { SetArgPointee<3>(HttpCode::OK), SetArgPointee<4>(nullptr), Return(""))); - auto err = consumer->SetLastReadMarker(10, expected_group_id, expected_stream); + auto err = consumer->SetLastReadMarker(expected_group_id, 10, expected_stream); ASSERT_THAT(err, Eq(nullptr)); } diff --git a/consumer/api/python/asapo_consumer.pxd b/consumer/api/python/asapo_consumer.pxd index 70d2d4de4..5df0d3528 100644 --- a/consumer/api/python/asapo_consumer.pxd +++ b/consumer/api/python/asapo_consumer.pxd @@ -66,7 +66,7 @@ cdef extern from "asapo/asapo_consumer.h" namespace "asapo" nogil: Error GetLast(MessageMeta* info, string stream, MessageData* data) Error GetById(uint64_t id, MessageMeta* info, string stream, MessageData* data) uint64_t GetCurrentSize(string stream, Error* err) - Error SetLastReadMarker(uint64_t value, string group_id, string stream) + Error SetLastReadMarker(string group_id, uint64_t value, string stream) Error ResetLastReadMarker(string group_id, string stream) Error Acknowledge(string group_id, uint64_t id, string stream) Error NegativeAcknowledge(string group_id, uint64_t id, uint64_t delay_ms, string stream) diff --git a/consumer/api/python/asapo_consumer.pyx.in b/consumer/api/python/asapo_consumer.pyx.in index e7e85c62d..15420fd15 100644 --- a/consumer/api/python/asapo_consumer.pyx.in +++ b/consumer/api/python/asapo_consumer.pyx.in @@ -182,13 +182,13 @@ cdef class PyConsumer: elif cased == <int>NetworkConnectionType_kFabric: result = "Fabric" return result.decode('utf-8') - def set_lastread_marker(self,value,group_id, stream = "default"): + def set_lastread_marker(self, group_id, value, stream = "default"): cdef string b_group_id = _bytes(group_id) cdef string b_stream = _bytes(stream) cdef Error err cdef uint64_t id = value with nogil: - err = self.c_consumer.get().SetLastReadMarker(id,b_group_id,b_stream) + err = self.c_consumer.get().SetLastReadMarker(b_group_id, id, b_stream) if err: throw_exception(err) return diff --git a/tests/automatic/consumer/consumer_api/consumer_api.cpp b/tests/automatic/consumer/consumer_api/consumer_api.cpp index 904e2f9db..e49455535 100644 --- a/tests/automatic/consumer/consumer_api/consumer_api.cpp +++ b/tests/automatic/consumer/consumer_api/consumer_api.cpp @@ -55,7 +55,7 @@ void TestSingle(const std::unique_ptr<asapo::Consumer>& consumer, const std::str M_AssertTrue(fi.name == "2", "GetNext2 filename"); - err = consumer->SetLastReadMarker(2, group_id); + err = consumer->SetLastReadMarker(group_id, 2); M_AssertTrue(err == nullptr, "SetLastReadMarker no error"); @@ -72,7 +72,7 @@ void TestSingle(const std::unique_ptr<asapo::Consumer>& consumer, const std::str M_AssertTrue(err == nullptr, "GetLast2 no error"); - err = consumer->SetLastReadMarker(8, group_id); + err = consumer->SetLastReadMarker(group_id, 8); M_AssertTrue(err == nullptr, "SetLastReadMarker 2 no error"); diff --git a/tests/automatic/consumer/consumer_api_python/consumer_api.py b/tests/automatic/consumer/consumer_api_python/consumer_api.py index 0e6a637f6..6a454eced 100644 --- a/tests/automatic/consumer/consumer_api_python/consumer_api.py +++ b/tests/automatic/consumer/consumer_api_python/consumer_api.py @@ -93,7 +93,7 @@ def check_single(consumer, group_id): assert_metaname(meta, "2", "get next5") assert_usermetadata(meta, "get next5") - consumer.set_lastread_marker(4, group_id) + consumer.set_lastread_marker(group_id,4) _, meta = consumer.get_next(group_id, meta_only=True) assert_metaname(meta, "5", "get next6") -- GitLab