-
Notifications
You must be signed in to change notification settings - Fork 2.9k
POC: Feat/make indexing more resiliant #16546
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
Closed
Changes from 1 commit
Commits
Show all changes
101 commits
Select commit
Hold shift + click to select a range
779242f
chore: make indexing more resiliant
bielu1 ad5ccef
POC: add populator information to reindex model
bielu eb97962
Render folders before files in static files picker. (#18701)
AndyButland 5570583
Fixes issue with macro rendering in an RTE when GUIDs are used for ba…
AndyButland 68acc2a
Bumped version to 13.9.0-rc.
AndyButland eb91f4f
Make preview check for delivery API content case insensitive. (#18731)
AndyButland 9284b9e
Make preview check for delivery API content case insensitive. (#18731)
AndyButland 42a81be
V13 hotfix sqlserver integration tests (#18744)
andr317c fdca086
build(deps): bump @umbraco-ui/uui from 1.12.2 to 1.13.0 (#18830)
iOvergaard 05a7d33
Check we have matched a preview URL by ID when exiting preview. (#18841)
AndyButland 3e9ff6b
Check we have matched a preview URL by ID when exiting preview. (#18841)
AndyButland d60a2a2
Verify endpoint selection candidates with host attribute are ignored …
AndyButland a3db456
Move database cache rebuild to a background task with polling (13) (#…
AndyButland 0f02584
attempted fix for Datepicker v13 issue #16008 (#18903)
Navya-Sinhaa 0e0aca5
Verify endpoint selection candidates with host attribute are ignored …
AndyButland 3c8a621
Merge branch 'v13/dev' into v13/contrib
AndyButland a486d5d
Bumped version to 13.8.0.
AndyButland 7d9a2c6
Merge branch 'release/13.8.0' into v13/dev
AndyButland ab31fbb
Bump version to 13.8.1.
AndyButland c6effef
Handle file paths as not found in delivery API by route requests (#19…
AndyButland afa6fa5
attempted fix for Save and Preview button #15360 (#19138)
Navya-Sinhaa a22dcf0
Merge branch 'v13/contrib' into v13/dev
AndyButland a62fa93
Use windows agent for nuget push
nikolajlauridsen 097d045
V13 QA updated pipeline for acceptance to avoid issue when installing…
andr317c 8d85259
Upgrade examine to 3.7.1 (#19186)
dawoe d499655
Merge branch 'v13/contrib' into v13/dev
AndyButland 1efe860
V13: Clear Member Username Cache in Load Balanced Environments (#19191)
nikolajlauridsen 3caa43a
Fix root path regression for the Delivery API (#19216)
kjac 83107bb
Fix: #18421 - Added Max Length validation to PropertyTypeBasic Alias …
danielhnelson 34709be
Merge commit from fork
AndyButland e94e165
Fixed pipeline definition.
AndyButland dcbbed4
Fixed failures in unit tests.
AndyButland 5ba40c6
Merge branch 'release/13.8.1' into v13/dev
AndyButland 643f073
`TimedScope` improvements and login duration clean-up (#19243)
ronaldbarendse 6a4aa04
Handle existing RichTextEditorValue when parsing from markup or JSON …
AndyButland 0eee307
Added custom RichTextRegexValidator to validate markup instead of JSO…
tomvanenckevort 3d44a6f
Invalidate external login session on removal of provider (#19273)
AndyButland c0a0a34
Backport variable name updates and fix found porting the invalidation…
AndyButland 0fb91ef
add single blocklist delete (#18073)
Migaroez e471c1f
[V13] User notifications not sent correctly when having more than 400…
0597662
Fix for block grid styling regression issue #15973 (#19014)
Lili-Rossiter 4f1604f
V13/bugfix/partial cache (#19314)
Migaroez 6c2f93e
V13 QA Updated linux test images to match actual (#19309)
andr317c 0fc5b2a
Avoids unnecessary additional domain save notification publishing whe…
AndyButland 87b2153
Adds support for retrieval of data type references when data type is …
AndyButland 8433b2b
User invite email fails if visited more than once without completing …
dchallener 7d6a1e5
Optimize the member save as part of the member login process, by-pass…
AndyButland 127c6c4
Optimize the member save as part of the member login process, by-pass…
AndyButland eee04f4
fix: check for NullRepresentationInCache in AppCacheExtensions (#19350)
AndyButland 5556b0f
Fixed check for navigation to list after delete of member (#19364)
AndyButland c609caf
Fixed check for navigation to list after delete of member (#19364)
AndyButland d4e6af5
Merge branch 'release/13.9' into v13/dev
AndyButland d677e94
Fix issue with requests to delivery API by path where URL segment con…
AndyButland 4d8ca45
Removes unnecessary newlines from rich text as JSON delivery API outp…
AndyButland 7f4a8d5
Merge branch 'v13/dev' into v13/main
AndyButland b348b84
Lock appropriate tree for media operations (#19422)
rbottema 4b83a74
Resolved exception thrown from NuCache locking mechanism on near-simu…
AndyButland ebd228c
Ensure tag operations are case insensitive on insert across database …
AndyButland 0bcae3e
Fix null member edgecase (#19463)
Migaroez 97cc3ca
Bumped version to 13.9.0.
AndyButland 1d6e7f1
Bumped version to 13.9.1.
AndyButland a01382d
Merge branch 'release/13.9' into v13/dev
AndyButland 28570b4
Fix issues with removal of user logins on change to external login pr…
AndyButland f6dbe0f
Bumped version to 13.9.2.
AndyButland e1b9e5e
Merge branch 'release/13.9.1' into v13/dev
AndyButland 1e66fb6
Add a warning to the `CreateContentFromBlueprint` method xml docs (#1…
lauraneto 881535a
Merge branch 'v13/dev' into v13/main
AndyButland 4ad18dc
Preserve word boundaries when indexing RTE content with <br> tags (#1…
steveatkiss b414456
Merge commit from fork
kjac 1f5c21c
Fix pagination in Content Delivery API Index Helper (#19606)
Brynjarth 990e379
Ensures that null values aren't used to create a CompositeStringStrin…
AndyButland fd95dc3
Merge branch 'release/13.9.2' into v13/dev
AndyButland a60ccd3
#16772 partial fix backoffice redirect after login (#19663)
kows 13a2cd7
Clear member cache by older user name when member user name is update…
AndyButland 53cc663
Register no-op implementation of IMemberPartialViewCacheInvalidator i…
AndyButland 2748fdf
Adds variation by the header name Accept-Language to the delivery API…
AndyButland ce40103
Add support for programmatic creation of property types providing the…
AndyButland 417f151
Parse update date before sorting in media list view (#19711)
AndyButland ebd0017
Bumped version to 13.9.3.
AndyButland 67abecc
Add defensive coding to the member application initializer (#19760)
kjac 59ad072
Retrieve only user external logins when invalidate following removal …
AndyButland 22f7481
Bumped version to 13.11.0-rc.
AndyButland 509a2e1
The filter param should be urlencoded (#19774)
AaronSadlerUK 0d94f8b
Fix issue with use of EF Core scopes within notification handlers (ta…
Migaroez 9f37db1
Merge commit from fork
AndyButland 8eff28b
Merge branch 'release/13.9.3' into v13/dev
AndyButland a352c42
Merge branch 'release/13.9.3' into release/13.10
AndyButland b622e7e
Content picker search with start node configured not taking user star…
lauraneto 214f3fb
Umbraco Engage UmbracoUrlAlias Fix - Fixes #19654 (#19827)
cornehoskam 784e09e
Use a regex to filter our invalid culture codes rather than relying o…
AndyButland c2890e1
Bumped version to 13.10.0
AndyButland 33e201c
Merge branch 'release/13.10' into v13/dev
AndyButland 85aa6d3
Add Arabic (ar) backoffice translation (#19896)
tarikrital 45f7b7a
Retain original backoffice location on login after timeout (#19984)
AndyButland 60f84f7
Support querystring and anchor for local links in Delivery API output
kjac fe358b8
Merge branch 'v13/bugfix/18475-locallinks-parsing' of https://github.…
AndyButland a282002
Support querystring and anchor for local links in Delivery API output…
kjac e119186
Avoid throwing an exception on getting references when migrating cont…
AndyButland 7c180f6
Merge branch 'v13/dev' of https://github.com/umbraco/Umbraco-CMS into…
AndyButland 301be35
Make notification service able to handle segmented content (#20160)
kjac 37e6d1e
Merge branch 'v13/dev' into feat/make-indexing-more-resiliant
nielslyngsoe File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
src/Umbraco.Infrastructure/Examine/IIndexRebuildStatusManager.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| namespace Umbraco.Cms.Infrastructure.Examine; | ||
|
|
||
| public interface IIndexRebuildStatusManager | ||
| { | ||
| void SetRebuildingIndexStatus(IEnumerable<string> indexes, bool b); | ||
| bool GetRebuildingIndexStatus(string index); | ||
| } |
28 changes: 28 additions & 0 deletions
28
src/Umbraco.Infrastructure/Examine/IndexRebuildStatusManager.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| using Examine; | ||
|
|
||
| namespace Umbraco.Cms.Infrastructure.Examine; | ||
|
|
||
| /// <summary> | ||
| /// | ||
| /// </summary> | ||
| public class IndexRebuildStatusManager : IIndexRebuildStatusManager | ||
| { | ||
| IDictionary<string,bool> _rebuildingStatus = new Dictionary<string, bool>(); | ||
| public IndexRebuildStatusManager(IExamineManager examineManager) | ||
| { | ||
| foreach (var index in examineManager.Indexes) | ||
| { | ||
| _rebuildingStatus.Add(index.Name, false); | ||
| } | ||
| } | ||
|
|
||
| public void SetRebuildingIndexStatus(IEnumerable<string> indexes, bool isRebuilding) | ||
| { | ||
| foreach (var index in indexes) | ||
| { | ||
| _rebuildingStatus[index] = isRebuilding; | ||
| } | ||
| } | ||
|
|
||
| public bool GetRebuildingIndexStatus(string index) => _rebuildingStatus.TryGetValue(index, out var isRebuilding) && isRebuilding; | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule Umbraco.Web.UI.New.Client
added at
c48ede
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My recommended approach would be to do this: Shazwazza/Examine#372 (comment)
The only real way to know if the indexing is done in a resilient way would be to have an actual document in the index certifying that rebuilding is successful instead of relying on in-memory cache which is problematic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Shazwazza I am not 100% convinced about usage of additional index, as we both know less indexes is actually better with lucene. I am thinking maybe we should use additonal sql table, as it will be eqally resiliant as using index, but it will not require us to create index, what you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bielu Sorry, I probably wasn't clear in my suggestion. We don't want to use an extra index to store any data, we can just use a marker document within the index. For example:
__Populated: yThen the rebuild checker, just checks if the document count for
__Populated: y== 1There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Shazwazza that's make sense now! We can also extend it to check what populator are registered to show how many of them is done! I will make update to this pr
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Shazwazza i started changing implementation of this service to use examine underhood, can you have quick look and check if that is what you had in mind?
as in this way now we can also repeat failed batches (but i think I will need play around little more)