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

GH-4401 switch to new config vocabulary as the default #4699

Merged
merged 10 commits into from
Aug 28, 2023

Conversation

abrokenjester
Copy link
Contributor

@abrokenjester abrokenjester commented Jul 29, 2023

GitHub issue resolved: #4401

Briefly describe the changes proposed in this PR:

  • remove experimental status of CONFIG vocabulary
  • switch back to use of new vocabulary as the default (using legacy vocab as a fallback)
  • added support for fully converting existing config files
  • added test coverage for working with legacy config files
  • added an env var feature flag to optionally switch back to legacy vocabulary.
  • added release/upgrade notes

PR Author Checklist (see the contributor guidelines for more details):

  • my pull request is self-contained
  • I've added tests for the changes I made
  • I've applied code formatting (you can use mvn process-resources to format from the command line)
  • I've squashed my commits where necessary
  • every commit message starts with the issue number (GH-xxxx) followed by a meaningful description of the change

@abrokenjester abrokenjester force-pushed the GH-4401/switch-to-new-vocab-as-standard branch 4 times, most recently from 037c218 to 37a3902 Compare August 7, 2023 00:09
@abrokenjester abrokenjester force-pushed the GH-4401/switch-to-new-vocab-as-standard branch 5 times, most recently from 5158d2d to 1d5e992 Compare August 19, 2023 05:03
@abrokenjester abrokenjester marked this pull request as ready for review August 19, 2023 05:04
@abrokenjester
Copy link
Contributor Author

@hmottestad I'm getting a build failure in the osgi-runtime - I seem to recall you recently had a similar issue?

@abrokenjester
Copy link
Contributor Author

Looks like there was a fix for the osgi issue on main which is not yet synced onto the develop branch. Doing a manual branch sync.

@abrokenjester
Copy link
Contributor Author

Doing a small fix in the package-assembly github action - see #4746

@abrokenjester abrokenjester force-pushed the GH-4401/switch-to-new-vocab-as-standard branch from 69d6fda to fa9bd00 Compare August 19, 2023 07:03
@hmottestad
Copy link
Contributor

I'm having a bit of second thoughts about changing up the vocabulary. I know that we don't own the domain names anymore, but that doesn't really affect our code.

I had put some effort into making the new and old vocabulary work together in 4.3, but it still managed to break the sail templates used in the workbench. And we don't have a single test for the workbench as far as I can tell. It's a bit worrying that we will have to do a lot of manual verification and hope we've thought of everything. And that also goes for everyone building on top of RDF4J, for instance GraphDB and Halyard.

@abrokenjester
Copy link
Contributor Author

I'm planning to run some further manual tests and report those here. I've also, as part of this PR, significantly improved test coverage and added better support for mixed vocab usage as well as the choice to stick completely with legacy vocab for now (though I don't recommend that).

Workbench test coverage is a problem, but not to the extent that I want to cancel this improvement. The breakage in 4.3 was unfortunate but those problems have been addressed, and this time we are doing this as part of a major release.

@abrokenjester
Copy link
Contributor Author

abrokenjester commented Aug 19, 2023

Test Notes

default behavior

  • Server and Workbench start correctly
  • new repository gets created with new vocabulary config and is usable
  • legacy config gets read correctly and converted

useLegacyConfig flag enabled

  • Server and Workbench start correctly
  • new repository gets created with legacy vocabulary config and is usable
  • legacy config gets read correctly and is not converted

Writing configs will still use old vocabulary in legacy mode, but reading
will accept both vocabularies (preferring legacy, falling back to new if present)
@abrokenjester abrokenjester force-pushed the GH-4401/switch-to-new-vocab-as-standard branch from d4e827d to ebdc4b8 Compare August 20, 2023 01:07
@abrokenjester
Copy link
Contributor Author

Given the above and the test results I shared, could I get another review over this? If there's additional things you'd like to see tested (but don't have the time to do yourself) let me know and I can take a look at it over the weekend. If not, I would consider this done and we can merge it into develop.

@hmottestad
Copy link
Contributor

I'll try to find some time to look it over again.

Copy link
Contributor

@hmottestad hmottestad left a comment

Choose a reason for hiding this comment

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

I tested on my laptop a bit and didn't manage to break anything. So I think this is good to go.

Maybe it's time for another milestone build after this is merged.

@abrokenjester abrokenjester merged commit ec46beb into develop Aug 28, 2023
7 checks passed
@abrokenjester abrokenjester deleted the GH-4401/switch-to-new-vocab-as-standard branch August 28, 2023 03:17
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.

2 participants