From b70352a82cb1ae6fdce16be9ff6ca046c49d5699 Mon Sep 17 00:00:00 2001 From: Cibin George Date: Sun, 21 Jan 2024 06:56:59 -0500 Subject: [PATCH 1/6] Pulsar client for v3.4.2 of pulsar c++ sdk --- .travis.yml | 8 +++-- Gemfile.lock | 44 +++++++++++++-------------- ext/bindings/client.cpp | 49 ++++++++++++++++++++++++++++-- ext/bindings/client.hpp | 5 +++ ext/bindings/extconf.rb | 1 + lib/pulsar/client/version.rb | 2 +- lib/pulsar/client_configuration.rb | 1 + pulsar-client.gemspec | 10 +++--- 8 files changed, 86 insertions(+), 34 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8e2673c..5153fd8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,11 +8,13 @@ rvm: install: - sudo apt-get -y install apt-utils automake # - sudo apt-get upgrade libstdc++6 - - wget https://archive.apache.org/dist/pulsar/pulsar-2.6.1/DEB/apache-pulsar-client.deb - - wget https://archive.apache.org/dist/pulsar/pulsar-2.6.1/DEB/apache-pulsar-client-dev.deb + # - wget https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.4.2/deb-x86_64/apache-pulsar-client.deb + # - wget https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.4.2/deb-x86_64/apache-pulsar-client-dev.deb + - wget https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.4.2/deb-arm64/apache-pulsar-client.deb + - wget https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.4.2/deb-arm64/apache-pulsar-client-dev.deb - sudo apt-get -y install ./apache-pulsar-client.deb - sudo apt-get -y install ./apache-pulsar-client-dev.deb - - gem install bundler -v 1.16.1 + - gem install bundler -v 2.1.4 - bundle install before_script: - docker run --name pulsar -d -p 6650:6650 -p 8080:8080 apachepulsar/pulsar:latest bin/pulsar standalone diff --git a/Gemfile.lock b/Gemfile.lock index 62f3c0e..5cb02d8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,40 +1,40 @@ PATH remote: . specs: - pulsar-client (2.6.1.pre.beta.2) - rake-compiler (~> 1.0) - rice (~> 2.1) + pulsar-client (3.4.2) + rake-compiler (~> 1.2) + rice (~> 3.0) GEM remote: https://rubygems.org/ specs: - diff-lcs (1.4.4) - rake (10.5.0) - rake-compiler (1.1.1) + diff-lcs (1.5.0) + rake (13.1.0) + rake-compiler (1.2.5) rake - rice (2.2.0) - rspec (3.10.0) - rspec-core (~> 3.10.0) - rspec-expectations (~> 3.10.0) - rspec-mocks (~> 3.10.0) - rspec-core (3.10.1) - rspec-support (~> 3.10.0) - rspec-expectations (3.10.1) + rice (3.0.0) + rspec (3.12.0) + rspec-core (~> 3.12.0) + rspec-expectations (~> 3.12.0) + rspec-mocks (~> 3.12.0) + rspec-core (3.12.2) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.3) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.10.0) - rspec-mocks (3.10.2) + rspec-support (~> 3.12.0) + rspec-mocks (3.12.6) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.10.0) - rspec-support (3.10.2) + rspec-support (~> 3.12.0) + rspec-support (3.12.1) PLATFORMS ruby DEPENDENCIES - bundler (~> 1.16) + bundler (~> 2.1) pulsar-client! - rake (~> 10.0) - rspec (~> 3.0) + rake (~> 13.0) + rspec (~> 3.12) BUNDLED WITH - 1.17.3 + 2.1.4 diff --git a/ext/bindings/client.cpp b/ext/bindings/client.cpp index cf9b9e7..2ca1712 100644 --- a/ext/bindings/client.cpp +++ b/ext/bindings/client.cpp @@ -1,6 +1,9 @@ #include "rice/Data_Type.hpp" #include "rice/Constructor.hpp" #include +#include +#include +#include #include #include "client.hpp" @@ -54,11 +57,50 @@ void ClientConfiguration::setConcurrentLookupRequest(int n) { } std::string ClientConfiguration::getLogConfFilePath() { - return _config.getLogConfFilePath(); + return logConfigFilePath; } void ClientConfiguration::setLogConfFilePath(const std::string& path) { - _config.setLogConfFilePath(path); + logConfigFilePath = path; + + Logger::Level level = Logger::LEVEL_DEBUG; + if (logLevel == "INFO") { + level = Logger::LEVEL_INFO; + } else if (logLevel == "WARN") { + level = Logger::LEVEL_WARN; + + } else if (logLevel == "ERROR") { + level = Logger::LEVEL_ERROR; + } + if (logConfigFilePath == "STDOUT") { + _config.setLogger(new ConsoleLoggerFactory(level)); + } else { + _config.setLogger(new FileLoggerFactory(level, logConfigFilePath)); + } +} + +void ClientConfiguration::setLogLevel(const std::string& log_level) { + logLevel = log_level; + + Logger::Level level = Logger::LEVEL_DEBUG; + if (logLevel == "INFO") { + level = Logger::LEVEL_INFO; + } else if (logLevel == "WARN") { + level = Logger::LEVEL_WARN; + + } else if (logLevel == "ERROR") { + level = Logger::LEVEL_ERROR; + } + + if (logConfigFilePath == "STDOUT") { + _config.setLogger(new ConsoleLoggerFactory(level)); + } else { + _config.setLogger(new FileLoggerFactory(level, logConfigFilePath)); + } +} + +std::string ClientConfiguration::getLogLevel() { + return logLevel; } void ClientConfiguration::setSilentLogging(bool enable) { @@ -68,7 +110,6 @@ void ClientConfiguration::setSilentLogging(bool enable) { throw Rice::Exception(rb_eArgError, "silent_logging can only be set once"); } } - if (enable) { silentLogging = true; std::unique_ptr loggerFactory = SilentLoggerFactory::create(); @@ -216,6 +257,8 @@ void bind_client(Module& module) { .define_method("concurrent_lookup_requests=", &pulsar_rb::ClientConfiguration::setConcurrentLookupRequest) .define_method("log_conf_file_path", &pulsar_rb::ClientConfiguration::getLogConfFilePath) .define_method("log_conf_file_path=", &pulsar_rb::ClientConfiguration::setLogConfFilePath) + .define_method("log_level", &pulsar_rb::ClientConfiguration::getLogLevel) + .define_method("log_level=", &pulsar_rb::ClientConfiguration::setLogLevel) .define_method("silent_logging?", &pulsar_rb::ClientConfiguration::getSilentLogging) .define_method("silent_logging=", &pulsar_rb::ClientConfiguration::setSilentLogging) .define_method("use_tls?", &pulsar_rb::ClientConfiguration::isUseTls) diff --git a/ext/bindings/client.hpp b/ext/bindings/client.hpp index 3bfa148..93f33b8 100644 --- a/ext/bindings/client.hpp +++ b/ext/bindings/client.hpp @@ -14,6 +14,9 @@ namespace pulsar_rb { public: pulsar::ClientConfiguration _config; bool silentLogging = false; + std::string logConfigFilePath = "STDOUT"; + std::string logLevel = "DEBUG"; + ClientConfiguration(); void setAuthFromToken(const std::string &token); @@ -28,6 +31,8 @@ namespace pulsar_rb { void setConcurrentLookupRequest(int n); std::string getLogConfFilePath(); void setLogConfFilePath(const std::string& path); + void setLogLevel(const std::string& level); + std::string getLogLevel(); void setSilentLogging(bool); bool getSilentLogging(); bool isUseTls(); diff --git a/ext/bindings/extconf.rb b/ext/bindings/extconf.rb index 6533b54..beb91dd 100644 --- a/ext/bindings/extconf.rb +++ b/ext/bindings/extconf.rb @@ -1,3 +1,4 @@ +require 'bundler/setup' require 'mkmf-rice' $LOCAL_LIBS << "-lpulsar" $CXXFLAGS += " -std=c++11 " diff --git a/lib/pulsar/client/version.rb b/lib/pulsar/client/version.rb index 3b45810..2896cce 100644 --- a/lib/pulsar/client/version.rb +++ b/lib/pulsar/client/version.rb @@ -19,6 +19,6 @@ module Pulsar class Client - VERSION = "2.6.1-beta.2" + VERSION = "3.4.2" end end diff --git a/lib/pulsar/client_configuration.rb b/lib/pulsar/client_configuration.rb index 9762c2c..9ec16d2 100644 --- a/lib/pulsar/client_configuration.rb +++ b/lib/pulsar/client_configuration.rb @@ -138,6 +138,7 @@ def populate(config={}) populate_one(config, :message_listener_threads) populate_one(config, :concurrent_lookup_requests) populate_one(config, :log_conf_file_path) + populate_one(config, :log_level) populate_one(config, :silent_logging) populate_one(config, :use_tls) populate_one(config, :tls_trust_certs_file_path) diff --git a/pulsar-client.gemspec b/pulsar-client.gemspec index 2d387df..f91c3ce 100644 --- a/pulsar-client.gemspec +++ b/pulsar-client.gemspec @@ -22,10 +22,10 @@ Gem::Specification.new do |spec| spec.extensions = ["ext/bindings/extconf.rb"] - spec.add_development_dependency "bundler", "~> 1.16" - spec.add_development_dependency "rake", "~> 10.0" - spec.add_development_dependency "rspec", "~> 3.0" + spec.add_development_dependency "bundler", "~> 2.1" + spec.add_development_dependency "rake", "~> 13.0" + spec.add_development_dependency "rspec", "~> 3.12" - spec.add_dependency "rake-compiler", "~> 1.0" - spec.add_dependency "rice", "~> 2.1" + spec.add_dependency "rake-compiler", "~> 1.2" + spec.add_dependency "rice", "~> 3.0" end From 328d7e3e0277a11272850ed413c500077fb91ef0 Mon Sep 17 00:00:00 2001 From: Cibin George Date: Sun, 21 Jan 2024 07:53:47 -0500 Subject: [PATCH 2/6] Use info as default logging setup --- ext/bindings/client.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/bindings/client.cpp b/ext/bindings/client.cpp index 2ca1712..b926297 100644 --- a/ext/bindings/client.cpp +++ b/ext/bindings/client.cpp @@ -63,9 +63,9 @@ std::string ClientConfiguration::getLogConfFilePath() { void ClientConfiguration::setLogConfFilePath(const std::string& path) { logConfigFilePath = path; - Logger::Level level = Logger::LEVEL_DEBUG; - if (logLevel == "INFO") { - level = Logger::LEVEL_INFO; + Logger::Level level = Logger::LEVEL_INFO; + if (logLevel == "DEBUG") { + level = Logger::LEVEL_DEBUG; } else if (logLevel == "WARN") { level = Logger::LEVEL_WARN; @@ -82,9 +82,9 @@ void ClientConfiguration::setLogConfFilePath(const std::string& path) { void ClientConfiguration::setLogLevel(const std::string& log_level) { logLevel = log_level; - Logger::Level level = Logger::LEVEL_DEBUG; - if (logLevel == "INFO") { - level = Logger::LEVEL_INFO; + Logger::Level level = Logger::LEVEL_INFO; + if (logLevel == "DEBUG") { + level = Logger::LEVEL_DEBUG; } else if (logLevel == "WARN") { level = Logger::LEVEL_WARN; From 4bc17804e03749e836a054a0a727ee50cde6deac Mon Sep 17 00:00:00 2001 From: Cibin George Date: Sun, 21 Jan 2024 10:36:41 -0500 Subject: [PATCH 3/6] Downgrade gems --- Gemfile.lock | 27 ++++++++++++++------------- pulsar-client.gemspec | 3 ++- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5cb02d8..7d93680 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,33 +8,34 @@ PATH GEM remote: https://rubygems.org/ specs: - diff-lcs (1.5.0) + diff-lcs (1.3) rake (13.1.0) rake-compiler (1.2.5) rake rice (3.0.0) - rspec (3.12.0) - rspec-core (~> 3.12.0) - rspec-expectations (~> 3.12.0) - rspec-mocks (~> 3.12.0) - rspec-core (3.12.2) - rspec-support (~> 3.12.0) - rspec-expectations (3.12.3) + rspec (3.9.0) + rspec-core (~> 3.9.0) + rspec-expectations (~> 3.9.0) + rspec-mocks (~> 3.9.0) + rspec-core (3.9.3) + rspec-support (~> 3.9.3) + rspec-expectations (3.9.4) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-mocks (3.12.6) + rspec-support (~> 3.9.0) + rspec-mocks (3.9.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-support (3.12.1) + rspec-support (~> 3.9.0) + rspec-support (3.9.4) PLATFORMS ruby DEPENDENCIES bundler (~> 2.1) + diff-lcs (= 1.3) pulsar-client! rake (~> 13.0) - rspec (~> 3.12) + rspec (= 3.9) BUNDLED WITH 2.1.4 diff --git a/pulsar-client.gemspec b/pulsar-client.gemspec index f91c3ce..96d3982 100644 --- a/pulsar-client.gemspec +++ b/pulsar-client.gemspec @@ -24,7 +24,8 @@ Gem::Specification.new do |spec| spec.add_development_dependency "bundler", "~> 2.1" spec.add_development_dependency "rake", "~> 13.0" - spec.add_development_dependency "rspec", "~> 3.12" + spec.add_development_dependency "rspec", "3.9" + spec.add_development_dependency "diff-lcs", "1.3" spec.add_dependency "rake-compiler", "~> 1.2" spec.add_dependency "rice", "~> 3.0" From 730e2591118f797bb3e5c3c28a63a508585311a6 Mon Sep 17 00:00:00 2001 From: Cibin George Date: Sun, 21 Jan 2024 11:04:50 -0500 Subject: [PATCH 4/6] test --- pulsar-client.gemspec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pulsar-client.gemspec b/pulsar-client.gemspec index 96d3982..50e9f2d 100644 --- a/pulsar-client.gemspec +++ b/pulsar-client.gemspec @@ -24,8 +24,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency "bundler", "~> 2.1" spec.add_development_dependency "rake", "~> 13.0" - spec.add_development_dependency "rspec", "3.9" - spec.add_development_dependency "diff-lcs", "1.3" + spec.add_development_dependency "rspec", "~> 3.9" spec.add_dependency "rake-compiler", "~> 1.2" spec.add_dependency "rice", "~> 3.0" From 72e2d50493e109d5df2e6f3788956b1c22fa9acb Mon Sep 17 00:00:00 2001 From: Cibin George Date: Wed, 1 May 2024 16:49:26 -0400 Subject: [PATCH 5/6] tweak dependencies --- Gemfile.lock | 41 ----------------------------------------- pulsar-client.gemspec | 4 ++-- 2 files changed, 2 insertions(+), 43 deletions(-) delete mode 100644 Gemfile.lock diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 7d93680..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,41 +0,0 @@ -PATH - remote: . - specs: - pulsar-client (3.4.2) - rake-compiler (~> 1.2) - rice (~> 3.0) - -GEM - remote: https://rubygems.org/ - specs: - diff-lcs (1.3) - rake (13.1.0) - rake-compiler (1.2.5) - rake - rice (3.0.0) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.3) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.4) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-mocks (3.9.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-support (3.9.4) - -PLATFORMS - ruby - -DEPENDENCIES - bundler (~> 2.1) - diff-lcs (= 1.3) - pulsar-client! - rake (~> 13.0) - rspec (= 3.9) - -BUNDLED WITH - 2.1.4 diff --git a/pulsar-client.gemspec b/pulsar-client.gemspec index 50e9f2d..bb0475e 100644 --- a/pulsar-client.gemspec +++ b/pulsar-client.gemspec @@ -23,8 +23,8 @@ Gem::Specification.new do |spec| spec.extensions = ["ext/bindings/extconf.rb"] spec.add_development_dependency "bundler", "~> 2.1" - spec.add_development_dependency "rake", "~> 13.0" - spec.add_development_dependency "rspec", "~> 3.9" + spec.add_development_dependency "rake", "~> 13" + spec.add_development_dependency "rspec", "~> 3.10" spec.add_dependency "rake-compiler", "~> 1.2" spec.add_dependency "rice", "~> 3.0" From c7deb14b7aa84eb0ceb5eb6c6a0e92c22ac2e44f Mon Sep 17 00:00:00 2001 From: Cibin George Date: Wed, 1 May 2024 17:34:53 -0400 Subject: [PATCH 6/6] Comment out dev dependencies --- pulsar-client.gemspec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pulsar-client.gemspec b/pulsar-client.gemspec index bb0475e..381d9fa 100644 --- a/pulsar-client.gemspec +++ b/pulsar-client.gemspec @@ -22,9 +22,9 @@ Gem::Specification.new do |spec| spec.extensions = ["ext/bindings/extconf.rb"] - spec.add_development_dependency "bundler", "~> 2.1" - spec.add_development_dependency "rake", "~> 13" - spec.add_development_dependency "rspec", "~> 3.10" + # spec.add_development_dependency "bundler", "~> 2.1" + # spec.add_development_dependency "rake", "~> 13" + # spec.add_development_dependency "rspec", "~> 3.10" spec.add_dependency "rake-compiler", "~> 1.2" spec.add_dependency "rice", "~> 3.0"