-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Remove cassandra-all dependency #3245
Conversation
5572c00
to
b48aef7
Compare
I haven't really reviewed the PR, but since you seem to have copied files here completely from Apache Cassandra, I think that we have to include this in our |
b48aef7
to
d85e54d
Compare
d85e54d
to
b93b267
Compare
@FlorianHockmann I added a section to the NOTICE.txt |
@FlorianHockmann I added a section to the NOTICE.txt the codecov/patch will fail. |
b93b267
to
66d97da
Compare
janusgraph-cql/src/main/java/org/janusgraph/hadoop/formats/cql/CqlBinaryInputFormat.java
Show resolved
Hide resolved
66d97da
to
69a6d34
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need to copy so many classes from cassandra dependency to janusgraph-cql
?
Why can't we just introduce a necessary dependency?
There are too many classes we will need to support after this PR.
I copied as aleast as possible. It seems that the hadoop part is really support in cassandra. We could switch to datastax variant which uses spark instead of hadoop. That would require much more work.
Their was a dependency cassandra-all which a depedency hell. |
I'm just thinking maybe it makes sense to refactor cassandra to provide a small dependency with necessary classes we are using. I.e. to create something like |
I will move the classes into a own module. Afterward, i will open issue on cassandra. Besides, i don't think we have to update on each cassandra update as they just depending open the datastax driver. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assuming that cassandra-hadoop-util
is copy paste of classes from cassandra
and assuming that all tests pass it LGTM. Thank you @farodin91 !
@porunov @FlorianHockmann Should i try to create patch file with difference between |
Doesn't your second commit here already show the full diff? That helped me at least to review this change and the PR still looks good to me. It was definitely a good suggestion to move this into its own module by the way and asking the folks at Apache Cassandra whether they would be willing to move these files into its own module on their side of course also makes sense. |
I want show a diff between cassandra and cassandra-hadoop-util. |
You mean there are changes between the original files and the ones added with this PR? I just assumed that you completely copied them. In that case, a diff would be good I guess. |
If that's only headers then I'm fine without the diff. If there are any other changes then it would be good to see the diff |
f481603
to
dee85c4
Compare
@FlorianHockmann @porunov i've added a extra commit. |
dee85c4
to
84bf9f1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just reviewed the diff. You seem to have mostly removed code that we aren't using which should be fine.
I'm wondering however about users who use JanusGraph embedded in their Java project and also Cassandra. They might need to exclude cassandra-hadoop-util
as a dependency and add a dependency on cassandra-all
themselves now if they use any of the removed code themselves. I guess this something we should mention in the upgrade docs.
Some changes are however also changing the behavior if I'm not mistaken, e.g., special handling for cases with a single datacenter. I would have preferred a follow-up PR for such changes as that would make the review easier and you could better explain these changes. But I'm also fine with keeping them in here if it's too much effort to extract them from the PR now.
@FlorianHockmann Changelog is a good idea. |
@FlorianHockmann what do you think? |
84bf9f1
to
4141398
Compare
docs/changelog.md
Outdated
@@ -88,6 +88,11 @@ For more information on features and bug fixes in 1.0.0, see the GitHub mileston | |||
|
|||
#### Upgrade Instructions | |||
|
|||
##### Removal of cassandra-all dependency | |||
|
|||
We have extracted the hadoop part from cassandra to reduce the dependency tree of JanusGraph. If you are running JanusGraph with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about this:
JanusGraph had a dependency on
cassandra-all
only for some Hadoop-related classes. We moved these few classes into a new modulecassandra-hadoop-util
to reduce the dependencies of JanusGraph. "If you are running JanusGraph [...]".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rebased and changed
Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
Signed-off-by: Jan Jansen <jan.jansen@gdata.de>
4141398
to
830b599
Compare
Done
Todo:
Thank you for contributing to JanusGraph!
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:
master
)?For code changes:
For documentation related changes: