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

chore: Change JsonSchema EvaluationOptions instance to shared object #9807

Merged
merged 1 commit into from
Mar 21, 2024

Conversation

filzrev
Copy link
Contributor

@filzrev filzrev commented Mar 21, 2024

This PR intended to avoid error that reported at #9746.

When EvaluationOptions new instance is passed to JsonSchema::Evaluate method.
JsonSchema.NET clear internal constraints cache and rebuild constraints.
And it cause errors when running Evaluate from multiple thread simultaneously.

In this PR. I've changed EvaluationOptions to static readonly shared object.

Copy link

codecov bot commented Mar 21, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 78.99%. Comparing base (fe673ec) to head (0155802).
Report is 83 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9807      +/-   ##
==========================================
+ Coverage   74.31%   78.99%   +4.67%     
==========================================
  Files         536      536              
  Lines       23189    23192       +3     
  Branches     4056     4028      -28     
==========================================
+ Hits        17234    18321    +1087     
+ Misses       4853     3747    -1106     
- Partials     1102     1124      +22     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@yufeih yufeih left a comment

Choose a reason for hiding this comment

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

🔥

@yufeih yufeih added the bug-fix Makes the pull request to appear in "Bug Fixes" section of the next release note label Mar 21, 2024
@yufeih yufeih merged commit b998ce6 into dotnet:main Mar 21, 2024
7 checks passed
@filzrev filzrev deleted the chore-reuse-jsonschema-evaloptions branch March 21, 2024 14:55
filzrev added a commit to filzrev/docfx that referenced this pull request Mar 27, 2024
…otnet#9807)

chore: change JsonSchema EvaluationOptions to shared object
renovate bot referenced this pull request in buehler/dotnet-operator-sdk Apr 7, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [docfx](https://togithub.com/dotnet/docfx) | `2.75.3` -> `2.76.0` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/docfx/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/docfx/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/docfx/2.75.3/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/docfx/2.75.3/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>dotnet/docfx (docfx)</summary>

### [`v2.76.0`](https://togithub.com/dotnet/docfx/releases/tag/v2.76.0)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### 🎉 New Features

- feat: Add DefineConstants supports for source file based build by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9707](https://togithub.com/dotnet/docfx/pull/9707)
- feat: Add additional layout options to modern template by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9737](https://togithub.com/dotnet/docfx/pull/9737)
- feat: Add pdfPrintBackground setting by
[@&#8203;cjlotz](https://togithub.com/cjlotz) in
[/~https://github.com/dotnet/docfx/pull/9742](https://togithub.com/dotnet/docfx/pull/9742)
- feat: Update roslyn packages by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9753](https://togithub.com/dotnet/docfx/pull/9753)
- feat: Publish nightly pre-release packages by
[@&#8203;yufeih](https://togithub.com/yufeih) in
[/~https://github.com/dotnet/docfx/pull/9788](https://togithub.com/dotnet/docfx/pull/9788)
- feat: Add DLL references support for file-based API metadata
generation by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9825](https://togithub.com/dotnet/docfx/pull/9825)
- feat: Support DOCFX_SOURCE_REPOSITORY_URL by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9759](https://togithub.com/dotnet/docfx/pull/9759)
- feat: Add feature to configure markdig extension by docfx.json
configs. by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9820](https://togithub.com/dotnet/docfx/pull/9820)
- feat: Support for all emphasis supported by MarkDig by
[@&#8203;EMaderbacher](https://togithub.com/EMaderbacher) in
[/~https://github.com/dotnet/docfx/pull/9762](https://togithub.com/dotnet/docfx/pull/9762)

##### 🐞 Bug Fixes

- fix: `docfx download` command behaviors by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9721](https://togithub.com/dotnet/docfx/pull/9721)
- fix: Resolved .NET SDK version problem on source-based API metadata
generation by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9713](https://togithub.com/dotnet/docfx/pull/9713)
- fix: Don't overwrite `_disabledToc` when metadata is explicitly
defined by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9741](https://togithub.com/dotnet/docfx/pull/9741)
- fix: Outputted PDF displays garbled characters when name contains
non-ASCII chars by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9769](https://togithub.com/dotnet/docfx/pull/9769)
- fix: Move script tags into head in modern template by
[@&#8203;fuzzykiller](https://togithub.com/fuzzykiller) in
[/~https://github.com/dotnet/docfx/pull/9768](https://togithub.com/dotnet/docfx/pull/9768)
- fix: Broken examples problems when using inheritdoc tag by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9754](https://togithub.com/dotnet/docfx/pull/9754)
- fix: NullReferenceException occurred when both include and exclude are
null by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9786](https://togithub.com/dotnet/docfx/pull/9786)
- fix: Change JsonSchema EvaluationOptions instance to shared object by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9807](https://togithub.com/dotnet/docfx/pull/9807)
- fix: Bug fix Invalid documentation on type parameter
[#&#8203;9755](https://togithub.com/dotnet/docfx/issues/9755) by
[@&#8203;soniyaprasad77](https://togithub.com/soniyaprasad77) in
[/~https://github.com/dotnet/docfx/pull/9806](https://togithub.com/dotnet/docfx/pull/9806)

##### 🚀 Performance Improvements

- perf: Optimize xrefmap.json file deserialization performance by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9824](https://togithub.com/dotnet/docfx/pull/9824)

##### 🔧 Engineering

- chore: percy snapshot by [@&#8203;yufeih](https://togithub.com/yufeih)
in
[/~https://github.com/dotnet/docfx/pull/9747](https://togithub.com/dotnet/docfx/pull/9747)
- chore: Add detailed error message for specific exceptions by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9746](https://togithub.com/dotnet/docfx/pull/9746)
- chore: update pdfpig nuget package version by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9803](https://togithub.com/dotnet/docfx/pull/9803)

##### 📄 Documentation

- docs: Split docfx CLI reference docs based on commands by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9708](https://togithub.com/dotnet/docfx/pull/9708)
- docs: Update markdown documentation regarding MarkDig extension by
[@&#8203;tbolon](https://togithub.com/tbolon) in
[/~https://github.com/dotnet/docfx/pull/9810](https://togithub.com/dotnet/docfx/pull/9810)
- docs: Update `docfx.json` config reference document by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9813](https://togithub.com/dotnet/docfx/pull/9813)
- docs: Correct `docfx template` page title by
[@&#8203;peitschie](https://togithub.com/peitschie) in
[/~https://github.com/dotnet/docfx/pull/9812](https://togithub.com/dotnet/docfx/pull/9812)
- docs: Add a warning about relative path resolution. by
[@&#8203;voroninp](https://togithub.com/voroninp) in
[/~https://github.com/dotnet/docfx/pull/9828](https://togithub.com/dotnet/docfx/pull/9828)

#### New Contributors

- [@&#8203;EMaderbacher](https://togithub.com/EMaderbacher) made their
first contribution in
[/~https://github.com/dotnet/docfx/pull/9762](https://togithub.com/dotnet/docfx/pull/9762)
- [@&#8203;fuzzykiller](https://togithub.com/fuzzykiller) made their
first contribution in
[/~https://github.com/dotnet/docfx/pull/9768](https://togithub.com/dotnet/docfx/pull/9768)
- [@&#8203;soniyaprasad77](https://togithub.com/soniyaprasad77) made
their first contribution in
[/~https://github.com/dotnet/docfx/pull/9806](https://togithub.com/dotnet/docfx/pull/9806)
- [@&#8203;tbolon](https://togithub.com/tbolon) made their first
contribution in
[/~https://github.com/dotnet/docfx/pull/9810](https://togithub.com/dotnet/docfx/pull/9810)
- [@&#8203;peitschie](https://togithub.com/peitschie) made their first
contribution in
[/~https://github.com/dotnet/docfx/pull/9812](https://togithub.com/dotnet/docfx/pull/9812)
- [@&#8203;voroninp](https://togithub.com/voroninp) made their first
contribution in
[/~https://github.com/dotnet/docfx/pull/9828](https://togithub.com/dotnet/docfx/pull/9828)

**Full Changelog**:
dotnet/docfx@v2.75.3...v2.76.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9pm,before 6am" in timezone
Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/buehler/dotnet-operator-sdk).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ian-buse referenced this pull request in dh2i-devs/dotnet-operator-sdk May 3, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [docfx](https://togithub.com/dotnet/docfx) | `2.75.3` -> `2.76.0` |
[![age](https://developer.mend.io/api/mc/badges/age/nuget/docfx/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/docfx/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/docfx/2.75.3/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/docfx/2.75.3/2.76.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>dotnet/docfx (docfx)</summary>

### [`v2.76.0`](https://togithub.com/dotnet/docfx/releases/tag/v2.76.0)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### 🎉 New Features

- feat: Add DefineConstants supports for source file based build by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9707](https://togithub.com/dotnet/docfx/pull/9707)
- feat: Add additional layout options to modern template by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9737](https://togithub.com/dotnet/docfx/pull/9737)
- feat: Add pdfPrintBackground setting by
[@&#8203;cjlotz](https://togithub.com/cjlotz) in
[/~https://github.com/dotnet/docfx/pull/9742](https://togithub.com/dotnet/docfx/pull/9742)
- feat: Update roslyn packages by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9753](https://togithub.com/dotnet/docfx/pull/9753)
- feat: Publish nightly pre-release packages by
[@&#8203;yufeih](https://togithub.com/yufeih) in
[/~https://github.com/dotnet/docfx/pull/9788](https://togithub.com/dotnet/docfx/pull/9788)
- feat: Add DLL references support for file-based API metadata
generation by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9825](https://togithub.com/dotnet/docfx/pull/9825)
- feat: Support DOCFX_SOURCE_REPOSITORY_URL by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9759](https://togithub.com/dotnet/docfx/pull/9759)
- feat: Add feature to configure markdig extension by docfx.json
configs. by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9820](https://togithub.com/dotnet/docfx/pull/9820)
- feat: Support for all emphasis supported by MarkDig by
[@&#8203;EMaderbacher](https://togithub.com/EMaderbacher) in
[/~https://github.com/dotnet/docfx/pull/9762](https://togithub.com/dotnet/docfx/pull/9762)

##### 🐞 Bug Fixes

- fix: `docfx download` command behaviors by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9721](https://togithub.com/dotnet/docfx/pull/9721)
- fix: Resolved .NET SDK version problem on source-based API metadata
generation by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9713](https://togithub.com/dotnet/docfx/pull/9713)
- fix: Don't overwrite `_disabledToc` when metadata is explicitly
defined by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9741](https://togithub.com/dotnet/docfx/pull/9741)
- fix: Outputted PDF displays garbled characters when name contains
non-ASCII chars by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9769](https://togithub.com/dotnet/docfx/pull/9769)
- fix: Move script tags into head in modern template by
[@&#8203;fuzzykiller](https://togithub.com/fuzzykiller) in
[/~https://github.com/dotnet/docfx/pull/9768](https://togithub.com/dotnet/docfx/pull/9768)
- fix: Broken examples problems when using inheritdoc tag by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9754](https://togithub.com/dotnet/docfx/pull/9754)
- fix: NullReferenceException occurred when both include and exclude are
null by [@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9786](https://togithub.com/dotnet/docfx/pull/9786)
- fix: Change JsonSchema EvaluationOptions instance to shared object by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9807](https://togithub.com/dotnet/docfx/pull/9807)
- fix: Bug fix Invalid documentation on type parameter
[#&#8203;9755](https://togithub.com/dotnet/docfx/issues/9755) by
[@&#8203;soniyaprasad77](https://togithub.com/soniyaprasad77) in
[/~https://github.com/dotnet/docfx/pull/9806](https://togithub.com/dotnet/docfx/pull/9806)

##### 🚀 Performance Improvements

- perf: Optimize xrefmap.json file deserialization performance by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9824](https://togithub.com/dotnet/docfx/pull/9824)

##### 🔧 Engineering

- chore: percy snapshot by [@&#8203;yufeih](https://togithub.com/yufeih)
in
[/~https://github.com/dotnet/docfx/pull/9747](https://togithub.com/dotnet/docfx/pull/9747)
- chore: Add detailed error message for specific exceptions by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9746](https://togithub.com/dotnet/docfx/pull/9746)
- chore: update pdfpig nuget package version by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9803](https://togithub.com/dotnet/docfx/pull/9803)

##### 📄 Documentation

- docs: Split docfx CLI reference docs based on commands by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9708](https://togithub.com/dotnet/docfx/pull/9708)
- docs: Update markdown documentation regarding MarkDig extension by
[@&#8203;tbolon](https://togithub.com/tbolon) in
[/~https://github.com/dotnet/docfx/pull/9810](https://togithub.com/dotnet/docfx/pull/9810)
- docs: Update `docfx.json` config reference document by
[@&#8203;filzrev](https://togithub.com/filzrev) in
[/~https://github.com/dotnet/docfx/pull/9813](https://togithub.com/dotnet/docfx/pull/9813)
- docs: Correct `docfx template` page title by
[@&#8203;peitschie](https://togithub.com/peitschie) in
[/~https://github.com/dotnet/docfx/pull/9812](https://togithub.com/dotnet/docfx/pull/9812)
- docs: Add a warning about relative path resolution. by
[@&#8203;voroninp](https://togithub.com/voroninp) in
[/~https://github.com/dotnet/docfx/pull/9828](https://togithub.com/dotnet/docfx/pull/9828)

#### New Contributors

- [@&#8203;EMaderbacher](https://togithub.com/EMaderbacher) made their
first contribution in
[/~https://github.com/dotnet/docfx/pull/9762](https://togithub.com/dotnet/docfx/pull/9762)
- [@&#8203;fuzzykiller](https://togithub.com/fuzzykiller) made their
first contribution in
[/~https://github.com/dotnet/docfx/pull/9768](https://togithub.com/dotnet/docfx/pull/9768)
- [@&#8203;soniyaprasad77](https://togithub.com/soniyaprasad77) made
their first contribution in
[/~https://github.com/dotnet/docfx/pull/9806](https://togithub.com/dotnet/docfx/pull/9806)
- [@&#8203;tbolon](https://togithub.com/tbolon) made their first
contribution in
[/~https://github.com/dotnet/docfx/pull/9810](https://togithub.com/dotnet/docfx/pull/9810)
- [@&#8203;peitschie](https://togithub.com/peitschie) made their first
contribution in
[/~https://github.com/dotnet/docfx/pull/9812](https://togithub.com/dotnet/docfx/pull/9812)
- [@&#8203;voroninp](https://togithub.com/voroninp) made their first
contribution in
[/~https://github.com/dotnet/docfx/pull/9828](https://togithub.com/dotnet/docfx/pull/9828)

**Full Changelog**:
dotnet/docfx@v2.75.3...v2.76.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9pm,before 6am" in timezone
Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/buehler/dotnet-operator-sdk).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
p-kostov pushed a commit to ErpNetDocs/docfx that referenced this pull request Jun 28, 2024
…otnet#9807)

chore: change JsonSchema EvaluationOptions to shared object
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug-fix Makes the pull request to appear in "Bug Fixes" section of the next release note
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants