Skip to content
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

Release 1.0.3 #453

Closed
viktorklang opened this issue May 6, 2019 · 49 comments
Closed

Release 1.0.3 #453

viktorklang opened this issue May 6, 2019 · 49 comments

Comments

@viktorklang
Copy link
Contributor

@reactive-streams/contributors How many are in favor of scheduling a release of all the work that has been done since 1.0.2? :)

@viktorklang
Copy link
Contributor Author

What would need to be done is to make sure that everyone tries current master against their implementations to report any unforeseen problems before we release.

@viktorklang
Copy link
Contributor Author

@reactive-streams/contributors ?

@akarnokd
Copy link
Contributor

Is there a maven reachable build of master? I need one for the gradle dependency.

@viktorklang
Copy link
Contributor Author

@akarnokd No, we don't publish non-release artifacts. Easiest is probably to publish locally and test against that.

@akarnokd
Copy link
Contributor

Done. RxJava 2.2.9 snapshot passes the TCK.

@viktorklang
Copy link
Contributor Author

Great—thanks for verifying @akarnokd!

@patriknw Could you have someone on your team take a look at running the tck from the master branch here against Akka?

@patriknw
Copy link
Contributor

@viktorklang I missed this notification, will look into it on Monday

@viktorklang
Copy link
Contributor Author

Thanks @patriknw!

@patriknw
Copy link
Contributor

@viktorklang Do you have an instruction of how to build a local snapshot of the tck? I tried adding publishToMavenLocal to the build but I don't know Gradle so it didn't work on my first attempt.

@viktorklang
Copy link
Contributor Author

@patriknw This should do it: ./gradlew clean test publish

@patriknw
Copy link
Contributor

Task 'publish' not found in root project 'reactive-streams'

@viktorklang
Copy link
Contributor Author

@patriknw Hmmm... @akarnokd how do you usually test the jars?
You can get the jars created with "./gradlew jar" and then they get placed in each subproject's ../build/libs dir. I tried enabling the "maven-publish" plugin and do publishToMavenLocal but didn't find the jars in the local .m2

I'll update the version number of the artifacts in master so that doesn't need to be done manually.

@akarnokd
Copy link
Contributor

This time, I built RS, copied the jars into the RxJava main folder and added them as file dependencies to the RxJava build.gradle. (The usual publish and publishToMavenLocal suggested by SO didn't work and I didn't want to mess with RS' gradle file.)

@patriknw
Copy link
Contributor

Ok, I have tried reactive-streams-tck (and reactive-streams-examples) jars in lib directory of akka-stream-tests-tck after removing the ordinary dependency. One test is failing, but not deterministically. Created Akka issue akka/akka#27033 for details.

@viktorklang
Copy link
Contributor Author

viktorklang commented May 27, 2019 via email

@viktorklang
Copy link
Contributor Author

@patriknw Is there any progress on this on the Issue? We might want to issue a 1.0.3-RC1 to make it easier for people to check it out.

@reactive-streams/contributors Is anybody up for cutting a 1.0.3-RC1? :-)

@patriknw
Copy link
Contributor

It has stalled on our side because we didn’t get any response in akka/akka#27033

@viktorklang
Copy link
Contributor Author

@reactive-streams/contributors It would be interesting to get your thoughts on this comment: akka/akka#27033 (comment)

@Scottmitch
Copy link
Contributor

required_spec208_mustBePreparedToReceiveOnNextSignalsAfterHavingCall is the test in question which was changed in #441. The SubscriberPuppet interface has no clear definition for the expected behavior in the event there maybe "pending" demand when cancel is called.

Assumptions / request for education on SubscriberPuppet

However there is guidance around Ensure that at least {@code elements} are eventually requested by your {@link Subscriber}, which in combination with the rest of the java doc I would assume the intention is "as long as there is demand from the downstream subscription there will be some outstanding demand upstream (assuming no prior cancel)". I don't have full context on SubscriberPuppet but it seems strange for SubscriberPuppet to not deliver any demand on the first call to triggerRequest (if it hasn't been previously cancelled), because how does it know any other events will happen? Also as @jrudolph touched on in #441 (comment) that if this is going to a Subscription that may coalesce or do async processing the test may fail. @jroper can you commit on the expected behavior of the test in this scenario, or if this is not possible for some reason?

Pragmatic Question

Does this discussion need to block the release, or can we decouple and discuss in a followup issue/PR? For example can we take any of the following actions to make progress:

  • revert Wait for demand before signaling onNext #441
  • make required_spec208_mustBePreparedToReceiveOnNextSignalsAfterHavingCalledSubscriptionCancel less sensitive to SubscriberPuppet behavior (e.g. re-order expectRequest, etc...)

@viktorklang
Copy link
Contributor Author

Hi @Scottmitch, I'm currently on vacation so it'll take a bit of time before I can get to this properly (all of this is currently swapped out of my memory) :)

@jroper
Copy link
Contributor

jroper commented Jul 4, 2019

I've attempted to address this in #462 by clarifying the docs to allow triggerRequest and signalCancel to coalesce, and modifying the test to change the order of expectations.

@viktorklang
Copy link
Contributor Author

@Scottmitch Do you have any feedback on @jroper's proposal?
(Just back from vacation so still booting up)

@Scottmitch
Copy link
Contributor

@viktorklang - done. are there any other blockers?

@viktorklang
Copy link
Contributor Author

@Scottmitch Not that I know if. If we can get #462 merged then I think we are green for the RC1.

@viktorklang
Copy link
Contributor Author

@Scottmitch I'm aiming to cut RC1 today or tomorrow.

@Scottmitch
Copy link
Contributor

any updates @viktorklang?

@viktorklang
Copy link
Contributor Author

@Scottmitch Yep, I've spent a bit of time in meetings, I'm doing a dry-run this evening and if all goes well I'll push it.

@viktorklang
Copy link
Contributor Author

@Scottmitch Preparing release-notes for 1.0.3-RC1

@viktorklang
Copy link
Contributor Author

@Scottmitch I'm waiting for keys to sync, release has been staged.

@viktorklang
Copy link
Contributor Author

@Scottmitch Still waiting for keysync, might have to wait until tomorrow morning, it's midnight here soon.

@viktorklang
Copy link
Contributor Author

@Scottmitch @reactive-streams/contributors 1.0.3-RC1 is currently making its way to Maven Central. Time to try the RC1 out (primarily the TCK)

@akarnokd
Copy link
Contributor

RxJava 3.0.0-RC2 snapshot passes with a full spectrum of JDKs on CI and with JDK 13 & 14 locally.

@viktorklang
Copy link
Contributor Author

viktorklang commented Aug 16, 2019 via email

@viktorklang
Copy link
Contributor Author

@Scottmitch Any feedback so far?

@viktorklang
Copy link
Contributor Author

@reactive-streams/contributors If there are no issues reported by Friday then this release will be promoted to 1.0.3, so please test and report.

@viktorklang
Copy link
Contributor Author

@DougLea Doug, let me know if you have any feedback on the RC1

@DougLea
Copy link
Contributor

DougLea commented Aug 21, 2019

All seems OK with me. I assume that people have been checking tck updates with jdk9+ SubmissionPublisher?

@akarnokd
Copy link
Contributor

FWIW, that's part of the bridge tests and passed on release.

@patriknw
Copy link
Contributor

Tests ok in Akka

@smaldini
Copy link
Contributor

Looks ok on our side too @viktorklang

@viktorklang
Copy link
Contributor Author

Thanks @smaldini, @akarnokd, @patriknw & @DougLea!

Pushing the bits to Maven Central shortly

@akarnokd
Copy link
Contributor

Please don't forget to deploy the JavaDocs as well:
http://www.reactive-streams.org/reactive-streams-1.0.3-javadoc/

@viktorklang
Copy link
Contributor Author

@akarnokd Will do, currently working on updating the website.

@akarnokd
Copy link
Contributor

I have trouble linking to the javadocs as it seems package-list is missing or inaccessible:

http://www.reactive-streams.org/reactive-streams-1.0.3-javadoc/package-list

1.0.2 works

http://www.reactive-streams.org/reactive-streams-1.0.2-javadoc/package-list

Could be an anomaly due to Java 8 and Java 9 differ in how they generate docs. Maybe you could just copy over the file from 1.0.2.

@viktorklang
Copy link
Contributor Author

viktorklang commented Aug 23, 2019 via email

@akarnokd
Copy link
Contributor

Due to modules in Java 9 they changed how javadoc generates resources and looks like it no longer produces a package-list but only element-list despite you are not using modules. Sadly, Java 8's javadoc tool does not understand it and if it fails to fetch package-list, it simply won't generate links.

@viktorklang
Copy link
Contributor Author

viktorklang commented Aug 23, 2019 via email

@viktorklang
Copy link
Contributor Author

@akarnokd package-list's added!

@akarnokd
Copy link
Contributor

Excellent! The warning is now gone both local & Travis CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants