Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Couchbase Java Client Extension #6228

Closed
previousdeveloper opened this issue Dec 17, 2019 · 14 comments
Closed

Couchbase Java Client Extension #6228

previousdeveloper opened this issue Dec 17, 2019 · 14 comments
Labels
kind/extension-proposal Discuss and Propose new extensions

Comments

@previousdeveloper
Copy link

Offer Couchbase client support via an extension

@mbarcikowski
Copy link

I'm currently work on a quarkus extension, because my microservice use couchbase (version 2.7.16).
It's in WIP, but my microservice is starting and running with couchbase dependency 🚀
I will try to propose a PR

@frank-dspeed
Copy link

@mbarcikowski that are good news did you look into the couchbase-lite java implementation with quarkus already? i am wondering because if that would work it would be awsome.

@patrox
Copy link
Contributor

patrox commented Jun 22, 2021

@mbarcikowski Are you still going to work on this extension? I'm asking as I'd be interested in such an extension, and in case you are not going to continue, I would try to do it myself.

@mbarcikowski
Copy link

mbarcikowski commented Jun 22, 2021 via email

@patrox
Copy link
Contributor

patrox commented Jun 22, 2021

Thanks for the info, I'll ask them directly.

Cheers.

@ingenthr
Copy link

Hey all-- Matt from Couchbase here-- that'd probably be from my team and I'm interested in that. We don't have someone working on it quite yet, but something I want to do soon. Feel free to ping me @patrox .

@patrox
Copy link
Contributor

patrox commented Jul 14, 2021

Hey all-- Matt from Couchbase here-- that'd probably be from my team and I'm interested in that. We don't have someone working on it quite yet, but something I want to do soon. Feel free to ping me @patrox .

Hi @ingenthr, I have started to work on this anyway, as I didn't see any progress so far.

But, it's awesome that someone from Couchbase would like to contribute/help in that.

How can I reach you, so we can exchange our ideas for that ? If you start to work on that I would be very interested in helping you, as I'll need this extension in Quarkus.

@ingenthr
Copy link

Feel free to reach out on LinkedIn or Twitter so we can exchange contact info. I'll also try my magic github powers to see if I can dig up an email address for you. :)

cc/ @daschl who has been doing some work here

@zbendhiba
Copy link
Contributor

Hello @patrox, are you working on the SDK 3 ? I worked on SDK 3 extension earlier and stopped due to all the work needed to be done.
@ingenthr @daschl : it would be a good start to stop using shaded netty, jackson... inside couchbase SDK.

@daschl
Copy link

daschl commented Jul 15, 2021

@zbendhiba we are shadowing those dependencies because we had many cases in the past where users would run different versions of these and then we end up with classpath issues and version clashes. The user feedback has been very positive on this, and I think we can get graal native support done on top of the shadowed dependencies. Of course there is always the option to also release unbundled versions, but I'd only consider this the last resort if there are blockers on the other route which we cannot overcome.

@zbendhiba
Copy link
Contributor

@daschl thanks for the information.

I'd give you a sum up of what I've done so far working on the Counchbase quarkus extension using SDK 3 :

  • Last year (end of 2020), I tried to work on the shaded Netty, mostly copying lots of quarkus Netty extension code, but the code has so many static initialization, it was complex. So I just gave up on this. (I'm not at all expert in Netty)

  • On February/March 2021, I unshaded both Netty and Jackson. I've add quarkus-netty and quarkus-jackson extensions, as I usually do for other quarkus extensions, that uses Netty and/or Jackson. Then I've got blocked by jackson-afterburner-module, which is not supposed to work well with GraalVm. I've stopped working on the extension at that point.

In the camel-quarkus project, we have a JVM only extension, that uses the couchbase SDK 3. The integration tests are disabled, because the tests are flaky. It's frequent to have disconnection from the couchbase server (using test-containers). All the stack trace come from a shaded Netty classes. So there's something weird there, I don't know how vert.x and couchbase are supposed to work together with Netty and shaded Netty. And since I'm not at all any expert on Netty, I just don't know how to solve this.

@programmatix
Copy link

Hi, Couchbase dev Graham here. I've written a Quarkus extension here https://github.com/couchbaselabs/quarkus-couchbase, currently in alpha status, and it'd be great to get feedback from users. It supports dependency injecting a Couchbase Cluster object, configured via application.properties, plus native-image/Graal. I plan to publish it later this week, but you can build it yourself from the repo currently with mvn install.

@zbendhiba
Copy link
Contributor

Hello @programmatix thanks a lot for the work you've done on this.
I'm sorry to respond that late, I was so busy lately. I've taken the time to run some tests with the 1.0.0-alpha.1 version, and there is a blocker for me, that I've described in the issue here.

@gastaldi
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/extension-proposal Discuss and Propose new extensions
Projects
None yet
Development

No branches or pull requests

9 participants