[DISCUSS] Release planning v0.2.1

268 views
Skip to first unread message

Jason Plurad

unread,
Apr 2, 2018, 12:48:20 PM4/2/18
to JanusGraph developers
Let's start a discussion on releases. This thread is for the 0.2 branch (0.2.1 release), and I'll start a separate thread for the master branch (0.3.0 release).

The 0.2 branch is for fixes only and no new features. The 0.2 branch is currently based on Apache TinkerPop 3.2.7 which uses Spark 1.6.1 and Scala 2.10.

Apache TinkerPop 3.2.8 is in [code freeze](https://lists.apache.org/thread.html/8e047e33beb834e9a1b5795693ed321b8d3e3f8f60182c6570520912@%3Cdev.tinkerpop.apache.org%3E), so it will be released within a couple weeks. We'd want to align JanusGraph 0.2.1 with that latest version.

I've reviewed all the PRs targeted for 0.2 branch, and tagged all the pull requests that are slated for 0.2.1 with milestone "Release v0.2.1"
- [Pull requests](https://github.com/JanusGraph/janusgraph/pulls?q=is%3Apr+milestone%3A%22Release+v0.2.1%22+is%3Aclosed): 7 open, 39 closed
- [Closed issues](https://github.com/JanusGraph/janusgraph/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A%22Release+v0.2.1%22+is%3Aclosed+): 28 closed

A few significant changes for v0.2.1:
- Ordering operations with indexing backends [#252](https://github.com/JanusGraph/janusgraph/issues/252)
- Elasticsearch external mappings [#653](https://github.com/JanusGraph/janusgraph/issues/653)
- Hadoop jars missing [#694](https://github.com/JanusGraph/janusgraph/issues/674)
- Index eviction trigger scheduling [#716](https://github.com/JanusGraph/janusgraph/issues/716)
- Elasticsearch list/set cardinality [#718](https://github.com/JanusGraph/janusgraph/issues/718)
- Many documentation fixes

I think we can make a concerted effort this week to close out the remaining [open pull requests](https://github.com/JanusGraph/janusgraph/pulls?utf8=%E2%9C%93&q=is%3Apr+milestone%3A%22Release+v0.2.1%22+is%3Aopen+) targeted for 0.2. As these PRs get merged into 0.2, please make sure that they are rolled up into master as well. Once the merges into 0.2 are complete, we can start release preparation for 0.2.1. Any open issues that don't have a pull request merged before the cut off will be moved along to the next 0.2 release.

I volunteer to be the release manager.

Is anybody working on fixes for 0.2 that you're planning to submit a PR this week?

Ted Wilmes

unread,
Apr 17, 2018, 5:20:10 PM4/17/18
to JanusGraph developers
Hi Jason,
Thanks for kicking this off. 

I'm going to try to finish this one up this week: https://github.com/JanusGraph/janusgraph/pull/1000

If time allows, I think https://github.com/JanusGraph/janusgraph/issues/1008 would be nice to include. This one will enable 
TinkerPop OLAP over JanusGraph on Google Cloud Bigtable. Should be a pretty quick update so I'll be shooting for that one also.

--Ted

Jason Plurad

unread,
Apr 27, 2018, 3:50:25 PM4/27/18
to JanusGraph developers
We're winding down on JanusGraph 0.2.1. Ted's fixes have been merged, and there are only a few remaining PRs left to be merged. They are approved, so we're mostly waiting on doc updates/rebase.

One recent complication is that TinkerPop is planning a quick patch release 3.2.9, with release expected week of May 7. Currently the JanusGraph 0.2 branch is on TinkerPop 3.2.8. It seems reasonable to wait a few more days for 3.2.9.

Thoughts? Are there any other fixes that we're missing for 0.2.1?

Ted Wilmes

unread,
Apr 29, 2018, 12:41:55 PM4/29/18
to JanusGraph developers
Waiting makes sense to me. Going down the list of open issues, nothing is jumping out to me as critical enough to block going forward the with the release process post 3.2.9 upgrade.

--Ted

tmos...@gmail.com

unread,
May 20, 2018, 9:38:55 PM5/20/18
to JanusGraph developers

Jason Plurad

unread,
May 21, 2018, 12:25:37 PM5/21/18
to JanusGraph developers
TinkerPop 3.2.9 was merged on the 0.2 branch last week.

There's one documentation PR left outstanding. Once that's merged, I think we're ready to finalize 0.2.1.

Jason Plurad

unread,
May 29, 2018, 2:59:15 PM5/29/18
to JanusGraph developers
Committers, we're still waiting on approval on the outstanding documentation PR. If you have some time, please review it.

There is one new issue regarding a failing CQL test case that needs to get into 0.2.1. The fix should be coming in soon.

Alexandr Porunov

unread,
Jun 28, 2018, 4:29:03 PM6/28/18
to JanusGraph developers
Hi everyone,

I see that new issues are assigned to the release 2.1 constantly. That is why the release date is always pushed forward for an undefined amount of time. 
In my humble opinion, I think the iterations should be a little bit shorter. I do believe that it is OK to assign new bugs to the version 2.2 if the version 2.1 takes too much time.
I think that it's better to have some fixes than none fixes.

Sorry if the opinion is off-topic.

Best regards,
Alexandr

Jason Plurad

unread,
Jun 28, 2018, 5:15:57 PM6/28/18
to JanusGraph developers
Thanks for the honest feedback, Alexandr. You make good points, and I appreciate it.

In response I've created more milestones for possible future releases. It's worth discussing on this list in a different thread how many active branches the community wants to maintain.

PR 1046 has been open since May 2 and since my last post on this thread, I was hoping that we would get that through. We have enough approvals, but there is a dependent PR in the docs.janusgraph.org repo that doesn't have enough approvals. I've tagged committers on both PRs, but there doesn't seem to be enough momentum to push it through at the moment. Seems like this needs to be deferred for a later release.

All the other PRs were opened within the last 2 weeks. Easy to defer to v0.2.2.

Any other concerns or input from the committers or community?

Alexandr Porunov

unread,
Jun 28, 2018, 6:38:37 PM6/28/18
to JanusGraph developers
Jason, thank you for creating more milestones. I really like them and do appreciate your work.

I think that the deadline could be assigned for the version 0.2.1. After the deadline, all PRs which hasn't been finished could be deferred for the version 0.2.2. 

It's just a proposal. I didn't see much open-source projects with deadlines that is why I don't know possible drawbacks of it. But I think the idea of deadline could help somehow.

Best regards,
Alexandr

sjudeng

unread,
Jul 1, 2018, 2:17:09 PM7/1/18
to JanusGraph developers
I agree it's preferable to defer new features and other non-critical updates for later releases in order to make the release process smoother and quicker. That said I'd like to see the fix to #1139 make it into both 0.2.1 and 0.3.0. It's a major bug that can result in full loss of Elasticsearch index data (not just JanusGraph data).

On Monday, April 2, 2018 at 11:48:20 AM UTC-5, Jason Plurad wrote:

Alexandr Porunov

unread,
Jul 4, 2018, 4:00:35 AM7/4/18
to JanusGraph developers
As I see, the latest PR review by committers was 12 days ago in the PR #1110 which was reviewed by @pluradj. Even so there was several new PRs opened in this time.

As we don't know when PR #1141 will be reviewed, other PRs with major bug fixes may appear and the release of 0.2.1 will be moved again to undefined amount of time. 

I think, that development iterations should be smaller (possible fixed / with a deadline).

Florian Hockmann

unread,
Jul 4, 2018, 6:03:24 AM7/4/18
to JanusGraph developers

I agree with Alexandr that smaller iterations would be beneficial for JanusGraph. One of the main reason for the delays in the current release process (0.3.0 and 0.2.1) were the many bug fixes that fixed bugs from contributions added since last release. With smaller releases, there would be less contributions per release and therefore also less changes that could have introduced new bugs.


Regarding possible deadlines for releases, I think that the way we handle that in TinkerPop works quite well. There, a member of the PMC (usually Stephen) shares a very rough release plan months in advance, like right now that version 3.4.0 will be released this summer. Then, about a month in advance the week of the planned release is announced together with a discussion about which issues need to be resolved until then. Finally, a code freeze of about one week ensures that there is some time to test out the release artefacts before the actual release. PRs created during code freeze won’t be merged until the release which lifts the code freeze.


Maybe something similar makes sense for JanusGraph?

Alexandr Porunov

unread,
Jul 4, 2018, 6:25:17 AM7/4/18
to JanusGraph developers
I like Florian's suggestion about TinkerPop development iterations. I think something similar could be used for JanusGraph. 

Jason Plurad

unread,
Jul 4, 2018, 12:04:11 PM7/4/18
to JanusGraph developers
Thank you to all that have participated on this thread and also on the issues and pull requests.

I'm away from computer this week, but I'm prepared to finalize the release artifacts starting next week for vote and release. Committers, if any of the outstanding PRs currently tagged for v0.2.1 get through review/approve/merge before Monday 8 AM (Eastern US), then they will be in for v0.2.1. Otherwise, I plan to move them to the next milestone v0.2.2.

I like the discussion on upcoming release timing, but let's move it to a separate thread please.

Any additional comments and feedback are always welcome. Thanks for your continued support.

sjudeng

unread,
Jul 5, 2018, 10:52:18 PM7/5/18
to JanusGraph developers
I took a pass through all open PRs and approved where possible. I'll defer any actual merges to you Jason in case the consensus/preference is to push any to a later release for stability or other reasons.

If any other committers have time to please review #1141 it would be much appreciated. My apologies for introducing this bug in the first place, but given its severity in my opinion this is the exception to the rule as far as preferring to push features/bug fixes to future releases in favor of quicker/smaller releases.

Alexandr Porunov

unread,
Jul 6, 2018, 7:34:56 AM7/6/18
to JanusGraph developers
Thank you! 

I've checked #1141 it's LGTM but I am not a committer.

There is also a dependent PR for #1046 (as Jason noticed): https://github.com/JanusGraph/docs.janusgraph.org/pull/27

I've checked it. Mostly, there are changes from "<a href="https://github.com/JanusGraph/janusgraph/releases">Other Versions</a>" to "<a href="https://docs.janusgraph.org/latest/doc-versions.html">Other Doc Versions</a>". But in some files there was added a carriage return symbol that is why git shows a lot of changes (in fact there are not many changes). It would be good if somebody could review it also.

Alexandr Porunov

unread,
Jul 9, 2018, 3:54:42 AM7/9/18
to JanusGraph developers
Jason,

These PRs have enough approvals to be merged in 0.2.1: 
https://github.com/JanusGraph/janusgraph/pull/1135

Could you please merge them before finalizing the release 0.2.1? 

Jason Plurad

unread,
Jul 9, 2018, 3:45:02 PM7/9/18
to JanusGraph developers
I've merged all approved PRs for 0.2.1, then I've moved the remaining open PRs over to 0.2.2 milestone.

PR 1160 is submitted with the final version updates to move from snapshot to release. Committers, please review and approve.

Once the approval and merge is complete, I will publish the artifacts to Sonatype and kick off the voting thread. Thanks.

Alexandr Porunov

unread,
Jul 10, 2018, 12:01:46 PM7/10/18
to JanusGraph developers

I've just duplicated the information here if somebody didn't see that thread.
Reply all
Reply to author
Forward
0 new messages