Open olivierdeckers opened 7 years ago
@olivierdeckers thanks a lot for your PR. At a first glance, your proposal is a good start I think. I don't have the bandwidth at the moment to make a more detailed review, sorry for that, but it would be great if you could drive that project into a direction which you think is most useful. If you prefer making contributions to this repo, I'm happy to give you write access so that you can push directly, otherwise, I think it makes more sense to work on a separate fork. Please let me know.
Great! I think it would be best if I continue work on this repository.
Hi, I worked on it on our own fork at https://github.com/worldline-messaging/akka-persistence-kafka/
Hi Giena,
I see that you have already done some of the things I mentioned above in your repository. Would you be willing to contribute some smaller pull requests for these things once this branch is merged?
Hi Olivier,
Here at worldline-messaging we work on that fork for a long time ago. We have done some evolutions (new akka persistence interface API of akka 2.4, then akka 2.5, updated dependencies) but we didn't merge because we wait for some solution on the deprecated old producer. It seems that the new transactional producer do the job. And i'm sure our version is near to be ready. Did you test it? I forgot to mention that I have deleted the embedded server classes, because kafka project has already its own classes.
I took a look at your commits, Do not forget that the send method is asynchronous.
Hi Giena,
I checked out your code, but one of the tests fails on my machine: (org.apache.kafka.common.errors.RecordTooLargeException). This is probably due to the kafka configuration of the testserver not accepting large enough messages.
I went through your commit, and I have some questions:
This is an early version with kafka 0.11 support and transactional producers implemented, as described in #20. I would welcome some early feedback.
While this version works and passes the tests, I think some additional work should still be done:
The producer is thread safe and sharing a single producer instance across threads will generally be faster than having multiple instances.
)