Skip to content

Implement RotatingServerAdvice enhancements #3028

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

Closed

Conversation

dturanski
Copy link
Contributor

Resolves #3027

Create AbstractStandardRotationPolicy subclasses implement onRotation(MessageSource source).

Pull dependent inner classes from RotatingServerAdvice to break circular dependencies.

*/
KeyDirectory getCurrent();

}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing newline.


/**
*
* @return the current {@link KeyDirectory}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this will pass checkstyle. Description needed.

@garyrussell
Copy link
Contributor

@dturanski Please rebase and re-push; I have fixed the .travis.yml for this branch.

@garyrussell
Copy link
Contributor

Merged as 03b6316 with minor formatting fixes.

* Implementations can reconfigure the message source before and/or after
* a poll.
*/
public interface RotationPolicy {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have to revert this change. It is fully blown breaking change in the point version.
I'm OK with a decoupling in the current 5.2 (preparing some polishing PR), but I'm against any breaking changes for public API in the point release.

Does it make sense, @garyrussell , @dturanski ?

Thanks

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically you're right. But I think it would be ok if we default it. Then it won't break anything. I'd be surprised if anyone else has actually implemented this interface.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We just can't guess from here. This interface is public in this place, therefore moving it somewhere else is a breaking change.
The first rule: don't break any public API in the point release!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, because I moved it from the inner class. Yes that is a breaking change.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good. So, @garyrussell , your turn now and then we will make a final decision!

@garyrussell
Copy link
Contributor

Yes; I had a brain fart yesterday.

But, we do need to satisfy David's extensibility needs.

@artembilan
Copy link
Member

But, we do need to satisfy David's extensibility needs.

Right, so we leave it fixed in 5.2 and also see my polishing in the #3032

@artembilan
Copy link
Member

Reverted: f7032c7

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

Successfully merging this pull request may close these issues.

3 participants