JanusGraph / janusgraph-foundationdb

FoundationDB storage adapter for JanusGraph
Other
54 stars 18 forks source link

Integrate foundationdb plugin into janusgraph main repository #57

Open li-boxuan opened 3 years ago

li-boxuan commented 3 years ago

Hi folks, I am wondering why we don't integrate the foundationdb adapter into janusgraph/janusgraph main repository. I have never involved in the design/implementation of the janusgraph-foundationdb adapter, so my view might be one-sided, but from what I understand, this seems to be due to a historical reason: the foundationDB was transferred from experoinc to janusgraph namespace. While it totally makes sense to make the plugin a separate repository when it is maintained by a third party (like other adapters), I don't see a specific benefit of keeping it as a separate project under the janusgraph namespace.

Benefits of integration: 1) New changes can be released together with the janusgraph main project. This typically is a drawback because a standalone project usually means faster iteration & release. However, from what I have observed, there has been no new release of the foundationdb adapter since Sep 15, 2018. 2) As an ACID-compliant distributed database, integration of foundationdb adapter could possibly improve janusgraph main project. For example, some tests might only be possible to run with foundationdb. 3) More visibility for the foundationdb plugin. 4) Easier to sync since there is no need to wait for main project release. Currently, bug fix / new feature of the main project could block the development of the foundationdb plugin.

Drawbacks of integration: 1) Make the main repository fatter.

rngcntr commented 3 years ago

I just found this issue today. The main reason why this adapter is not integrated in the main project is that it is currently not well maintained. AFAIK there are still commented test cases which do not yet pass and thus, we can not guarantee stability or correctness. Adding this backend to the main repo would suggest that it is safe to use. However as you said, it could also increase visibility for developers which could help improve the current state.

li-boxuan commented 3 years ago

@rngcntr Well said. I also saw your reply on https://lists.lfaidata.foundation/g/janusgraph-users/message/5817 which explained the same. I guess we could consider migrating it to the main repo once most if not all test cases pass. That would require some effort, though.

I personally am very interested in trying out JanusGraph + FoundationDB and have it supported officially, but I understand it is not possible without combined efforts from the community.

rngcntr commented 3 years ago

What really bugs me is the five second query limit of FoundationDB. I fear to see how many of our tests in the main repo would take significantly longer than that.

ganisback commented 3 years ago

@rngcntr I am also encountering this same issue which block me ingest big data.

farodin91 commented 3 years ago

What really bugs me is the five second query limit of FoundationDB. I fear to see how many of our tests in the main repo would take significantly longer than that.

I don't see why it should take much longer our test run since all test suits are executed in parallel. If I'm correct all tests currently hit the foundationdb limit are disable.

For my side, i would say if merge it into the main repo, it would get much more support.

Let's do it.

rngcntr commented 3 years ago

@farodin91 Don't you think #28, #29, #30, #31, #32, #33 and #34 should be resolved first?

farodin91 commented 3 years ago

I think it would be great to resolve them.

I don't think it should be hard requirement. We can transfer the issues to the main repo, and create project for steps to get foundationdb production ready.

rngcntr commented 3 years ago

If we state very clearly that FDB is not intended for production right now, I'm fine with that.

ryou90 commented 1 year ago

Why do you think that FDB is not production ready @rngcntr ?

rngcntr commented 1 year ago

It's been a long time since I last worked on the project, but back then, there were multiple tests failing:

@farodin91 Don't you think #28, #29, #30, #31, #32, #33 and #34 should be resolved first?

Since then, I believe nobody has tried to resolve the apparent issues.