Seeking context on removal of WT Java API

35 views
Skip to first unread message

Jason Brown

unread,
Jan 18, 2022, 12:50:26 PMJan 18
to wiredtig...@googlegroups.com
Hello all,

I know it was committed over a year ago, but I was hoping to understand the context and motivation to remove the WT Java API support (WT-6675). AFAICT, there's no publicly visible discussion on the decision, so any information is appreciated.

Thank you,

-Jason Brown

Keith Bostic

unread,
Jan 18, 2022, 5:56:08 PMJan 18
to wiredtiger-users
WiredTiger was built as a general-purpose storage engine, with many different audiences in mind. As part of our effort to refresh the Open Source standalone release of WiredTiger, we reviewed the feature set and tried to identify functionality we could remove that would minimize our testing footprint while also being unlikely to be relevant to a significant number of users. The Java API was chosen among other features, mostly because MongoDB doesn't use it internally and we'd never done anything more than the basics of getting an API working (for example, it hadn't been tuned at all). Obviously, the SWIG support for WiredTiger is still there and will never go away, and a basic Java API should be pretty easy to recreate from that. I'm sorry, I hope this doesn't cause you difficulty!

Jason Brown

unread,
Jan 19, 2022, 8:55:06 AMJan 19
to wiredtiger-users
Hi Keith,

Thanks for the response. That's pretty much what I had anticipated, and is reasonable from an OSS PoV. We have a Scala-based data ingest tool that (currently) reads the WT files from a MongoDB snapshot, hence the reason for the inquiry.

We can cobble together a Java API (probably rather similar to the previous WT implementation :), but can clarify what you mean wrt the SWIG support? 

Thanks for your help!

-Jason

Donald Anderson

unread,
Jan 19, 2022, 9:34:30 AMJan 19
to wiredtiger-users
Hi Jason,

We still use SWIG to generate a Python interface.  Using the old Java interface file and other support Java files that lived under lang/java/src, you could put together your own Java interface, but of course it might not be up to date with any newer APIs.  Another option would be to look at the "wt dump" utility to dump WT files.

- Don

Jason Brown

unread,
Jan 19, 2022, 11:35:02 AMJan 19
to wiredtiger-users
Hello Don,

Yeah, I was discovering this morning that SWIG is still in the codebase for generating the Python stuffs, so I see that remains a possibility with WT. I did start looking at the previous Java code/SWIG interface, and bringing that forward is doable especially as I think we have a rather simple use of the API itself. Thanks for the call out on using "wt dump", we'll investigate that, as well.

Thanks all,

-Jason

Brian Lane

unread,
Jan 20, 2022, 10:54:47 PMJan 20
to wiredtig...@googlegroups.com
Hi Jason,

Back in March last year we completed a project to streamline the standalone releases of WiredTiger.  

This change was released in the 10.0.0 release, for reference there are some other highlighted changes for the release listed here.

-Brian


--
You received this message because you are subscribed to the Google Groups "wiredtiger-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wiredtiger-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/wiredtiger-users/CANVbq3mgzUdewXOqTrD7cr-ABG%2BXgr3DfzSOqahfOn8Q25DYfA%40mail.gmail.com.

Reply all
Reply to author
Forward
0 new messages