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

THRIFT-5501 Remove Common Lisp support #2538

Merged
merged 1 commit into from
Mar 6, 2022
Merged

Conversation

Jens-G
Copy link
Member

@Jens-G Jens-G commented Mar 5, 2022

Client: cl
Patch: Jens Geyer

Client: cl
Patch: Jens Geyer
@Jens-G Jens-G merged commit d88d4f9 into apache:master Mar 6, 2022
@Jens-G Jens-G deleted the THRIFT-5501 branch March 6, 2022 13:58
@m-g-r
Copy link

m-g-r commented Mar 15, 2022

Hello @Jens-G, why is the Common Lisp support removed? I am using it and was just surprised that it is suddenly removed.
From Berlin, Max

@Jens-G
Copy link
Member Author

Jens-G commented Mar 15, 2022

THRIFT-5476 Deprecate and remove Common Lisp language bindings due to the lack active maintainers.

See also the mailing list tread.

THRIFT-5501 Remove Common Lisp support

If there is some interest in reactivating CL, we're happy to do that given there is at least one maintainer for it.

@Jens-G
Copy link
Member Author

Jens-G commented Mar 15, 2022

The fine print is that we also had a lot of build issues with it and nobody to take care.
Since this is 100% FOSS, you are free to join and start contributing at any time.

@m-g-r
Copy link

m-g-r commented Mar 16, 2022

Thank you, @Jens-G, for your replies and links to discussions. I'm not following the discussions within the Thrift development but only noticed that a feature I used got missing. Currently, I am using Thrift to talk with Accomulo from Common Lisp.

I'll discuss within our company if we can do that and maintain it.

Cheers, Max

@m-g-r
Copy link

m-g-r commented Aug 23, 2022

Hi, I currently just continue to use it. And the Common Lisp language backend seems to be quite complete, stable and generates efficient code. I use it to talk to Accumulo via the Accumulo Proxy and that allows for high ingestion rates as I have described in this article "Almost 600,000 entries per second from Lisp to Accumulo" at https://observablehq.com/@m-g-r/almost-600000-entries-per-second-from-lisp-to-accumulo As written in section "Comparison", it seems safe to argue that in this test we achieve a comparable raw ingestion performance to similar measurements of the ingestion rate to Apache Accumulo.

I was basically frankly surprised that you just remove such a complete language backend given that seems this seems to be the very thing Apache Thrift is about: a "language-independent software stack" allowing "programs written in different programming languages" to communicate with each other.

Admittingly, I just use James' de.setf.thrift at https://github.com/lisp/de.setf.thrift directly and have just thrift via the Ubuntu package thrift-compiler installed to generate the lisp code from the thrift definition file...

Hm, THRIFT-5410 “CL build broken: Component :NET.DIDIERVERNA.CLON.TERMIO not found” is according to your email https://www.mail-archive.com/dev@thrift.apache.org/msg50775.html just a test not running, right? In file "thrift/src/test/cl/make-test-server.lisp" and that breaks your build system, or rather the continuous integration service? That test uses Didier's clon to parse commond-line options in a standalone application TestClient.

Let me see if I can reproduce that. Currently looking at make running to build thrift which seems to take a while.

Cheers, Max

@m-g-r
Copy link

m-g-r commented Aug 23, 2022

Hi @Jens-G,

I've made a workaround to alleviate THRIFT-5410. The problem is that the system :NET.DIDIERVERNA.CLON was subdivided in a way that the version of the package loader ASDF that is used here cannot find. The workaround locates that subsystem clon.termio explicitly.

You'll find the changes in https://github.com/m-g-r/thrift/tree/THRIFT-5410 (Of course, I had to revert the commit "THRIFT-5501 Remove Common Lisp support" first.)

I have run the checks and all seems to work now. I have only tested with cl support. That is, I deactivated the other language bindings that would otherwise run and take quite a bit of time, by running configure as:

./configure --with-ruby=no --with-php=no --with-nodejs=no --with-cpp=no --with-python=no

Mind you, this problem was just about running tests. The Common Lisp Thrift backend itself seems to be really stable. I am using it for months now.

Are there any other problems? As I have built it on one of my systems now, I can also look for other things if it only takes an hour or two.

Cheers, Max

@Jens-G
Copy link
Member Author

Jens-G commented Aug 23, 2022

As I wrote a number of times now: We are quite happy if we can find someone who is committed enough to spend at least some time on the CL bindings. We lacked that support for months, so we decided to throw it out due to permanent CI problems. If you are willing to spare a few hours on it, send a PR to reintegrate.

@m-g-r
Copy link

m-g-r commented Aug 23, 2022

I just did. See above. I have been working on an lisp library to make working with Accumulo via Accumulo Proxy nicer. I'd like to commit that to the Accumulo Proxy project but that makes only sense if Common Lisp is still supported by Thirft.

@Jens-G
Copy link
Member Author

Jens-G commented Aug 24, 2022

Can't find it under https://github.com/apache/thrift/pulls ?

@m-g-r
Copy link

m-g-r commented Aug 24, 2022

It was not up to date as per the latest version of the 'master' branch. Updated now by reverting another change that was done in the meantime, see #2646.

Cheers, Max

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants