Comments (8)
Sync
from waterdrop.
Async or sync publishing?
from waterdrop.
@paneq p e.cause
- this should contain the raw details on why wasn't delivered. Does it work?
from waterdrop.
Unfortunately, it does not. e.cause
is nil
.
from waterdrop.
Replication procedure:
- clone https://github.com/paneq/kafka_docker_sasl_plain
- run
docker-compose -f test.yml up
- execute:
WaterDrop.setup do |config|
config.deliver = true
config.client_id = "my-app-waterdrop"
config.kafka.seed_brokers = ["kafka://127.0.0.1:9092"]
config.kafka.ssl_ca_certs_from_system = false
config.kafka.sasl_over_ssl = false
config.kafka.sasl_plain_username = "edward"
config.kafka.sasl_plain_password = "edward"
end
WaterDrop::SyncProducer.call('message', topic: 'unexisting')
# => Failed to assign partitions to 1 messages (Kafka::DeliveryFailed)
compare that with:
kafka = Kafka.new(
["127.0.0.1:9092"],
client_id: "my-application",
sasl_plain_username: 'edward',
sasl_plain_password: 'edward',
sasl_over_ssl: false,
)
kafka.deliver_message("message", topic: "unexisting")
# => Kafka::TopicAuthorizationFailed
and that should suffice.
FYI: Authentication and authorization is configured here: https://github.com/paneq/kafka_docker_sasl_plain/blob/master/test.yml#L23L36
If something does not work, let me know.
from waterdrop.
I can confirm. Investigating and fixing...
from waterdrop.
This is a mismatch in between how delivery boy works and how ruby-kafka client works. It won't be fixed due to #106
For rdkafka there's a issue reported: karafka/rdkafka-ruby#92
from waterdrop.
I will close it. This should be fixed in librdkafka and we're moving out from ruby-kafka.
from waterdrop.
Related Issues (20)
- Pathname not visible because not required in WaterDrop
- Allow builder to accept explicit client
- `karafka-rdkafka` is allowed to be less than `0.12.3` with most recent WaterDrop version HOT 10
- Make `#produce` method private to avoid confusion
- Waterdrop 2.6.0 Upgrade RSpec Error HOT 1
- Fork detection on a short lived processes seems to fail HOT 1
- Regenerate UUIDs of forked processes HOT 1
- Close mutex on heavily async does not prevent post-close call
- NoMethodError: undefined method `name' for #<Rdkafka::Producer:0x0000562d3d2e5d18> HOT 3
- Improve error reporting - include cause in the BaseError#inspect
- Errors raised during `produce_sync` and `produce_async` via monitor missing root cause. HOT 2
- Move payload reporting into debug for logger
- Allow waterdrop to use topic as a symbol or a string
- Expose `#flush`, `#purge` and `#close!` (combination of those) once karafka-rdkafka released
- Commit transaction should not kick in when transaction is aborted
- Do not publish error messages on purged messages that were part of an aborted transaction (if possible)
- Buffered client transactions on abort store messages in the internal accu
- Make dummy and buffer clients return incremental offsets
- Expand instrumentation views in DD with scale (ms vs micro)
- Make WaterDrop Buffered `#messages_for` return arrah instead of `nil` when nothing dispatched HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from waterdrop.