[DISCUSS] Move Docker images into main JanusGraph repo
Florian Hockmann
Hi,
We currently maintain the JanusGraph Docker images in their own repository: https://github.com/JanusGraph/janusgraph-docker
While this comes with some benefits, like making it probably easier for new contributors to contribute to the images as the build process is easier to understand with only having the images there, it also comes with some drawbacks:
Recently, we noticed another problem caused by having a dedicated repo for the Docker images: Security scans don’t work well for the repo because the repo also contains images for all release branches and shows alerts for all images together and because alerts oftentimes have to be addressed in the main repo by updating a dependency there. For more information, see: https://github.com/JanusGraph/janusgraph-docker/issues/130
That is why Jan suggested in the linked issue that we integrate the Docker image into the main repo. Does anyone see good reasons to keep the dedicated janusgraph-docker repo?
If not, then we can move ahead and integrate the Docker images into the main repository. The 0.6 image would then be maintained in the v0.6 branch and the 1.0 image on master. |
|
[ANNOUNCE] JanusGraph 1.0.0 RC2
The JanusGraph Technical Steering Committee is excited to announce JanusGraph 1.0.0-rc2, the second release candidate of the upcoming 1.0.0 release.
JanusGraph is an Apache TinkerPop enabled property graph database with support for a variety of storage and indexing backends. Thank you to all of the contributors. We encourage everyone to try out this release candidate in your test environments and provide us feedback. You can simply reply to this thread with any feedback you have. Note that this is a release candidate and not a final release. Some changes should be expected between this and the final release of 1.0.0. Notable new features in this release include: - Upgrade to TinkerPop 3.6.2
- Support for Cassandra 4
- (Official) support for Java 11
- Cache performance improvements
- Upgrade to Log4j2
- Use mixed indices for numeric aggregations (min(), max(), mean(), sum())
- Support TEXTSTRING mapping in Solr
- New graph API to evaluate Gremlin scripts if JanusGraph is used embedded
- ConfiguredGraphFactory can now create different indexes for different graphs in Elasticsearch
- Add management API to remove ghost vertices
- Add possibility to remove stale graph index entries
- Improved support for Geoshapes in GraphBinary
- Remove dependency on cassandra-all
- Support TTL for CQL backend on Amazon Managed KeySpace
- Improved index life-cycle. Better index management, possibility to remove indexes.
- Support for ElasticSearch 8
- Possibility to use dedicated ScyllaDB driver when JanusGraph is used embedded
Upgrade instructions is provided in the changelog of the release: https://docs.janusgraph.org/master/changelog/#upgrade-instructions The release artifacts can be found at this location: https://github.com/JanusGraph/janusgraph/releases/tag/v1.0.0-rc2 A full binary distribution is provided for user convenience: https://github.com/JanusGraph/janusgraph/releases/download/v1.0.0-rc2/janusgraph-full-1.0.0-rc2.zip A truncated binary distribution is provided:
https://github.com/JanusGraph/janusgraph/releases/download/v1.0.0-rc2/janusgraph-1.0.0-rc2.zip The online docs can be found here: https://docs.janusgraph.org/master/ To view the resolved issues and commits check the milestone here:
https://github.com/JanusGraph/janusgraph/milestone/21?closed=1Thank you very much,
Oleksandr Porunovon behalf of JanusGraph TSC |
|
Re: [DISCUSS] 1.0.0 / 0.6.3 Releases
We have already a number of features targeting JanusGraph 1.0.0, but we didn't add possibility to select `cql` or `scylla` storage backend implementation yet which forces users to follow a complex and dangerous way of selecting scylla based on this documentation. It would be really great if we can close #3580 before we release JanusGraph 1.0.0.
Nevertheless, I want to propose releasing JanusGraph 1.0.0-rc2 because it already has some breaking changes and new features compared to JanusGraph 1.0.0-rc1. Some of them: - Improved index life-cycle. Better index management, possibility to remove indexes. - ElasticSearch 8 support - Possibility to use ScyllaDB driver - TinkerPop 3.6.2 support Releasing JanusGraph 1.0.0-rc2 will give us ability to collect some early feedback in case we missed something in those new features. |
|
[ANNOUNCE] JanusGraph 0.6.3 Release
The JanusGraph Technical Steering Committee is excited to announce the release of JanusGraph 0.6.3.
JanusGraph is an Apache TinkerPop enabled property graph database with support for a variety of storage and indexing backends. Thank you to all of the contributors. The release artifacts can be found at this location:
https://github.com/JanusGraph/janusgraph/releases/tag/v0.6.3 A full binary distribution is provided for user convenience: https://github.com/JanusGraph/janusgraph/releases/download/v0.6.3/janusgraph-full-0.6.3.zip A truncated binary distribution is provided:
https://github.com/JanusGraph/janusgraph/releases/download/v0.6.3/janusgraph-0.6.3.zip The online docs can be found here: https://docs.janusgraph.org To view the resolved issues and commits check the milestone here:
https://github.com/JanusGraph/janusgraph/milestone/24?closed=1Thank you very much,
Oleksandr Porunovon behalf of JanusGraph TSC |
|
Re: [VOTE] JanusGraph 0.6.3 release
Boxuan Li
I tested:
1. basic SparkGraphComputer traversal 2. Amazon Keyspace interaction LGTM! I should have backported https://github.com/JanusGraph/janusgraph/pull/3396 to the 0.6 branch as well but I somehow forgot to do that. That being said, it's not a functional change but just a tiny doc improvement, so it's fine to keep the 0.6.3 as it is. VOTE +1 |
|
[RESULT][VOTE] JanusGraph 0.6.3 release
This vote is now closed with a total of 3 +1s, no +0s and no -1s. The results are:
BINDING VOTES: +1 (3 -- Oleksandr Porunov, Florian Hockmann, Jan Jansen) 0 (0) -1 (0) NON-BINDING VOTES: +1 (0) 0 (0) -1 (0) Thank you very much, Oleksandr Porunov |
|
Re: [VOTE] JanusGraph 0.6.3 release
Jansen, Jan
Everything looks good to me, we have to create a docker release.
VOTE +1 From: janusgraph-dev@... <janusgraph-dev@...> on behalf of Florian Hockmann via lists.lfaidata.foundation
<fh=florian-hockmann.de@...>
Sent: Wednesday, February 22, 2023 10:24 AM To: janusgraph-dev@... <janusgraph-dev@...> Subject: Re: [janusgraph-dev] [VOTE] JanusGraph 0.6.3 release I checked the links, and everything looks good to me.
VOTE +1
Von: janusgraph-dev@... <janusgraph-dev@...>
Im Auftrag von Oleksandr Porunov
We are happy to announce that JanusGraph 0.6.3 is ready for release.
A truncated binary distribution is provided:
The GPG key used to sign the release artifacts is available at: |
|
Re: [VOTE] JanusGraph 0.6.3 release
Florian Hockmann
I checked the links, and everything looks good to me.
VOTE +1
Von: janusgraph-dev@... <janusgraph-dev@...> Im Auftrag von Oleksandr Porunov
We are happy to announce that JanusGraph 0.6.3 is ready for release.
A truncated binary distribution is provided:
The GPG key used to sign the release artifacts is available at: |
|
[VOTE] JanusGraph 0.6.3 release
We are happy to announce that JanusGraph 0.6.3 is ready for release.
The release artifacts can be found at this location: https://github.com/JanusGraph/janusgraph/releases/tag/v0.6.3 A full binary distribution is provided for user convenience: https://github.com/JanusGraph/janusgraph/releases/download/v0.6.3/janusgraph-full-0.6.3.zip A truncated binary distribution is provided:
https://github.com/JanusGraph/janusgraph/releases/download/v0.6.3/janusgraph-0.6.3.zip https://github.com/JanusGraph/janusgraph/blob/v0.6/KEYS The docs can be found here: https://github.com/JanusGraph/janusgraph/releases/download/v0.6.3/janusgraph-0.6.3-doc.zip The release tag in Git can be found here: https://github.com/JanusGraph/janusgraph/tree/v0.6.3 The release notes are available here: https://github.com/JanusGraph/janusgraph/blob/v0.6/docs/changelog.md#version-063-release-date-february-18-2023 This [VOTE] will open for the next 3 days --- closing Thursday, February 23, 2023 at 10:15 PM GMT+0. All are welcome to review and vote on the release, but only votes from TSC members are binding. My vote is +1. Thank you, Oleksandr Porunov |
|
Re: [DISCUSS] 1.0.0 / 0.6.3 Releases
I propose to start release process for JanusGraph 0.6.3. It already includes a number of good fixes and we didn't had a bugfix release for quite some time now.
The only unmerged PR I see which is targeting that release is: https://github.com/JanusGraph/janusgraph/pull/3080 That said, it looks like a nice feature to have and not a critical fix. Thus, I assume we can reschedule that feature to JanusGraph 0.6.4 or JanusGraph 1.0.0. |
|
Change of our branching strategy
Florian Hockmann
Hi,
in case you haven’t noticed already: We have recently changed our branching strategy. Instead of letting PRs target a branch like v0.6 and then merge the PR first into v0.6 and afterwards merge v0.6 into master, we now use a backporting approach.
This means that all PRs should in general target master. We can then decide if the change should be backported and then add the right label to enable automatic backporting (currently: `backport/v0.6`). There are of course exceptions, e.g., if a PR fixes a bug in code that is only present on v0.6 but not on master. In that case, the PR can simply target v0.6 and also doesn’t have to be merged into master.
The backport approach should make it easier for first-time contributors who usually just start from master which oftentimes meant in the past that we had to ask them to retarget their PR on a different branch.
We have also documented this automatic backporting here: https://docs.janusgraph.org/master/development/#enable-automatic-backporting
For all committers: Please make sure that you follow this backporting strategy and don’t merge v0.6 into master anymore.
Regards, Florian |
|
Re: [ANNOUNCE] JanusGraph 1.0.0 RC1
Florian Hockmann
Thanks, Oleksandr. I saw that PR when I composed the list but thought that #3022 already included the important changes. But sure, then we should also include #3327 for the next announcement.
Also, it looks like the formatting is off in my announcement. I copied some parts of the changelog from the discussion thread we had here on the dev list and then probably forgot to change their formatting. Sorry for that!
Von: janusgraph-dev@... <janusgraph-dev@...> Im Auftrag von Oleksandr Porunov
Thank you Florian for starting this topic. |
|
Re: [ANNOUNCE] JanusGraph 1.0.0 RC1
Thank you Florian for starting this topic.
For future announcements: In addition to possibility to remove composite index entries there was added possibility to remove mixed index entries in #3327 So I guess instead of the next point: Add possibility to remove stale composite index entries: #3022 We could have the next point Add possibility to remove stale graph index entries: #3022 and #3327 |
|
Re: [DISCUSSION] Release snapshot versions on each commit
Related discussion regarding publishing with `org.janusgraph` or `org.janusgraph.commit` groupId: https://github.com/JanusGraph/janusgraph/discussions/3374
|
|
[ANNOUNCE] JanusGraph 1.0.0 RC1
Florian Hockmann
The JanusGraph Technical Steering Committee is excited to announce JanusGraph 1.0.0 RC1, the first release candidate of the upcoming 1.0.0 release.
We encourage everyone to try out this release candidate in your test environments and provide us feedback. You can simply reply to this thread with any feedback you have. Note that this is a release candidate and not a final release. Some changes should be expected between this and the final release of 1.0.0.
The release artifacts can be found at this location:
A truncated binary distribution is provided:
The resolved issues and commits included in this release candidate can be found here: Thank you very much, Florian Hockmann
|
|
Re: [DISCUSSION] Release snapshot versions on each commit
Related PR for reference: https://github.com/JanusGraph/janusgraph/pull/3364
|
|
Re: [DISCUSS] 1.0.0 / 0.6.3 Releases
Yes, I like that idea. Let's publish rc1 sooner and release `1.0.0` or `0.7.0` in January depending on what we decide.
As for snapshot releases I will go ahead and prepare some PR and we can discuss it there or in the linked thread. |
|
Re: [DISCUSSION] Release snapshot versions on each commit
Florian Hockmann
Thanks for bumping this thread again in the discussion for the 1.0.0 release, Oleksandr!
> Basically, I think it's possible to configure different publishing flows (either to sonatype for official releases or to GitHub Packages for unofficial releases).
+1 on GitHub Packages for snapshots on each commit and sonatype for official releases.
As a possible next step for the future, we could maybe also build a Docker image for each commit (or daily if it’s difficult to trigger a build in janusgraph-docker from each commit in the main repo) and publish that somewhere (not sure if Docker Hub or also a different repo for these non-release based images).
> Moreover, about the link which you shared. Did we document it anywhere? If no, I think it would be good to create a separate documentation page which tells about release artifacts for each commit and potentially releases to GitHub Packages for each commit.
No, that is not documented any where that I know of. I at least searched for these artifacts recently but couldn’t find them. Documenting this would be great, especially of course if we also publish Maven snapshot packages to make them easier to consume.
One general note: I would usually just assume lazy consensus for such discussions where you don’t get many responses and especially no negative response. People here simply might not have the time to respond, but that doesn’t mean that they don’t like the idea. I remember that I’ve read this thread, liked the idea, but didn’t have much to add to the discussion so I didn’t respond. Such a behaviour shouldn’t stop good ideas from being implemented 😉
Von: janusgraph-dev@... <janusgraph-dev@...> Im Auftrag von Oleksandr Porunov
Hi Jan, <dependency> <groupId>org.janusgraph</groupId> <artifactId>janusgraph-core</artifactId> <version>0.6.0-SNAPSHOT-12345</version> </dependency>
|
|
Re: [DISCUSS] 1.0.0 / 0.6.3 Releases
Florian Hockmann
My intention here is that we try to release from master soon-ish, like in January ideally. We have features on master that were implemented about a year ago already and some dependency updates that include fixes for security vulnerabilities. These security vulnerabilities alone are something that users frequently ask about to get an update for.
Having said that, I’m completely fine with saying that we want certain features definitely in 1.0.0, like support for ES 8 or the improvements to our indexing that Florian is working on. If we however expect those things to take longer to complete, then I’d suggest that we instead release 0.7.0 first.
It’s of course not easy to predict when ES 8.6.0 will be released or when other features are in place which makes it hard to decide now how we want to proceed. But since we have already decided to first publish a release candidate for 1.0.0 and therefore have to wait until January for proper feedback and because of the holiday season, I’d say we try to aim for a release date of 1.0.0 in January. We can then come back to this in January to see which features that we’d like to have in 1.0.0 are still not ready and then decide:
Based on this assessment, we can then decide in January whether we can release 1.0.0 already, want to postpone it a bit or whether it will take longer until we want to release 1.0.0 and we therefore could release 0.7.0 as an intermediate release to already get most of these features out in a stable release.
How does that sound?
Regarding snapshots I will respond directly in that thread you’ve linked. I think however that release candidates still make sense irrespective of snapshots as some users might want to try out a release candidate and provide feedback on that, but don’t want to use snapshot builds. Similarly to how you described it for a final release where we simply signal stability, we also signal some kind of stability for a release candidate, even if it’s much less than for a final release.
Von: janusgraph-dev@... <janusgraph-dev@...> Im Auftrag von Oleksandr Porunov
You are right that these breaking changes regarding ElasticSearch side will be affecting only those users who want to switch using ElasticSearch 8. Users On ElasticSearch 6 and 7 won't be affected. |
|
Re: [DISCUSS] 1.0.0 / 0.6.3 Releases
You are right that these breaking changes regarding ElasticSearch side will be affecting only those users who want to switch using ElasticSearch 8. Users On ElasticSearch 6 and 7 won't be affected.
That said, for such a major upgrade I think it makes sense to include ES 8 support in JanusGraph 1.0.0 because I expect many people will want to switch to the newer ES version. Moreover, it looks like there is only one PR left targeted ElasticSearch 8.6.0 release ( https://github.com/elastic/elasticsearch/pulls?q=is%3Apr+is%3Aopen+label%3Av8.6.0 ). So, I would expect ES 8.6.0 coming soon but can't guarantee that because I don't know their deadline. I would suggest to include ES 8 support if ES 8.6.0 is released anytime in the next 2-3 weeks. Otherwise we can retarget this upgrade to later versions of JanusGraph. Notice, we have some issues targeting `1.0.0` release: https://github.com/JanusGraph/janusgraph/milestones/Release%20v1.0.0 I don't think we will be able to complete all of them till the release but I guess some of them might be better to be included into the release. Florian Grieskamp currently works on some features which may be a breaking change for all users but those features are quite good I think. Cost based index selection: https://github.com/JanusGraph/janusgraph/pull/3246 He is also working on re-engineering index management life-cycle which might be a breaking change as well (see issue: https://github.com/JanusGraph/janusgraph/issues/857) (see his branch: https://github.com/JanusGraph/janusgraph/compare/master...rngcntr:janusgraph:new-index-management). I don't know if he plans to complete those issues anytime soon, but if he does then those contributions would be very suitable for the major release like `1.0.0`. Regarding rc releases - I'm totally fine doing rc1, rc2, rcX. That said, I would suggest to maybe take a look at the following discussion again: https://lists.lfaidata.foundation/g/janusgraph-dev/topic/discussion_release_snapshot/84922650 I still have some feeling that making snapshot (or whatever we call it) releases per each commit would make sense. Users will have an easy way to use all the latest JanusGraph features without waiting for official (fully tested) releases. With such approach I feel that official releases will be just an indicator to users that we tested the new added functionality which was added after the previous official release and we don't expect to break that functionality anytime soon. Adding publishing to GitHub is quite easy (see an example: https://github.com/mapped/janusgraph/commit/a94a0c03cb9d1b1445901c6735aff3e66b8692ac ) but I think we could do that for sonatype as well if we think we need snapshots there. |
|