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

[JENKINS-63022] Make Fingerprint Storage Engine configurable from the config page #4834

Merged
merged 34 commits into from
Jul 17, 2020

Conversation

stellargo
Copy link
Contributor

@stellargo stellargo commented Jul 8, 2020

See JENKINS-63022.

Proposed changelog entries

  • Developer: FingerprintStorage should now implemement descriptors, to make it configurable from the config page.
  • User: User can choose the fingerprint storage engine from the config page.

Proposed upgrade guidelines

N/A

Submitter checklist

  • (If applicable) Jira issue is well described
  • Changelog entries and upgrade guidelines are appropriate for the audience affected by the change (users or developer, depending on the change). Examples
    • Fill-in the Proposed changelog entries section only if there are breaking changes or other changes which may require extra steps from users during the upgrade
  • Appropriate autotests or explanation to why this change has no tests
  • For dependency updates: links to external changelogs and, if possible, full diffs

Desired reviewers

@mention

Maintainer checklist

Before the changes are marked as ready-for-merge:

  • There are at least 2 approvals for the pull request and no outstanding requests for change
  • Conversations in the pull request are over OR it is explicit that a reviewer does not block the change
  • Changelog entries in the PR title and/or Proposed changelog entries are correct
  • Proper changelog labels are set so that the changelog can be generated automatically
  • If the change needs additional upgrade steps from users, upgrade-guide-needed label is set and there is a Proposed upgrade guidelines section in the PR title. (example)
  • If it would make sense to backport the change to LTS, a Jira issue must exist, be a Bug or Improvement, and be labeled as lts-candidate to be considered (see query).

@stellargo
Copy link
Contributor Author

stellargo commented Jul 8, 2020

IIUC I need to obtain the object (singleton) from the list of configured descriptors. The problem is that hetero-list is not persisting this data.

@stellargo
Copy link
Contributor Author

So data binding does not seem to be happening because of java.lang.UnsupportedOperationException: Refusing to marshal redis.clients.jedis.JedisPool for security reasons; see https://jenkins.io/redirect/class-filter/. Investigating...

@stellargo
Copy link
Contributor Author

What I need to now figure out is how to fix the implementation of FingerprintStorage#get()

@oleg-nenashev
Copy link
Member

oleg-nenashev commented Jul 9, 2020

@stellargo

ExtensionList.lookupSingleton(GlobalFingerprintConfiguration.class).getFingerprintStorage()

@stellargo stellargo changed the title Move fingerprint configuration to use descriptors [JENKINS-63022] Move fingerprint configuration to use descriptors Jul 9, 2020
@stellargo stellargo changed the title [JENKINS-63022] Move fingerprint configuration to use descriptors [JENKINS-63022] Make Fingerprint Storage Engine configurable from the config page Jul 9, 2020
Copy link

@afalko afalko left a comment

Choose a reason for hiding this comment

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

Do we need to add any log lines?

@stellargo stellargo marked this pull request as ready for review July 9, 2020 16:34
@stellargo
Copy link
Contributor Author

Downstream PR: jenkinsci/redis-fingerprint-storage-plugin#36

@oleg-nenashev oleg-nenashev added the developer Changes which impact plugin developers label Jul 12, 2020
Copy link
Member

@oleg-nenashev oleg-nenashev left a comment

Choose a reason for hiding this comment

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

Looks good to me. We might need to adjust API in the future, but all important data is behind Beta flags

docs/enum.drawio Outdated Show resolved Hide resolved
@stellargo stellargo closed this Jul 14, 2020
@stellargo stellargo reopened this Jul 14, 2020
@timja timja added the rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted label Jul 14, 2020
@stellargo stellargo requested a review from timja July 15, 2020 13:31
@timja timja added the ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback label Jul 15, 2020
@timja
Copy link
Member

timja commented Jul 15, 2020

This PR is ready-for-merge now, we'll merge it after 24 hours if there's no negative feedback

@stellargo stellargo closed this Jul 15, 2020
@stellargo stellargo reopened this Jul 15, 2020
Copy link
Member

@oleg-nenashev oleg-nenashev left a comment

Choose a reason for hiding this comment

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

Last changes do not change the PR in principle, so I think we do not need to reset the merge timeout. It may be merged in 6 hours

@timja timja added the squash-merge-me Unclean or useless commit history, should be merged only with squash-merge label Jul 17, 2020
@timja timja merged commit 859f01f into jenkinsci:master Jul 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
developer Changes which impact plugin developers ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted squash-merge-me Unclean or useless commit history, should be merged only with squash-merge
Projects
None yet
4 participants