Commit Graph

50 Commits

Author SHA1 Message Date
Stephan
81234cd702 Rename DI to Composing 2017-05-30 15:46:25 +02:00
Stephan
8561d85f7a porting 7.6-rc1 into 8 2017-05-24 12:25:39 +02:00
Stephan
7f39f7748f Persistence reorg, killed DatabaseContext 2016-12-16 17:56:10 +01:00
Stephan
49d54f497d Persistence reorg 2016-12-16 17:20:51 +01:00
Stephan
a49af20275 More persistence layer refactoring 2016-11-29 10:31:25 +01:00
Stephan
c6e4e3b3ed Merge origin/dev-v7-deploy into dev-v8-zbwip 2016-11-04 18:40:42 +01:00
Stephan
71afe908b4 U4-9101 - comments and misc 2016-10-26 18:01:32 +02:00
Shannon
8e4e7e5b19 Ensures no duplicates are processed between rows 2016-10-26 12:19:36 +02:00
Shannon
c667627d2f Changes max row retrieval to 100 2016-10-26 12:01:43 +02:00
Shannon
8b411c3d46 Adds checks to see if the app is shutting down while processing instruction batches, if so it will exit instruction processing. Also set a timeout on the wait lock so that if the app is shutting down it will after 5 seconds. 2016-10-26 11:37:59 +02:00
Shannon
876d78b4ad During instruction processing, always check if the app is shutting down and if so then exit, if it's in the middle of a batch it will exit even if it's processed a few and will not save the last synced id meaning the batch will get processed again .Reverts the change to process only a portion of the instructions json blob and save back to the db - that won't work in LB scenarios. 2016-10-25 16:23:49 +02:00
Shannon
68e871d175 Ensures that any given JSON blob written to the instructions can only contain the maximum number of instructions to process 2016-10-25 16:01:55 +02:00
Shannon
d7d4b26a66 This changes the instruction fetch process to query for the top records based on the MaxProcessingInstructionCount. This changes the Fetch to be a Query so they are not all loaded into memory and instead uses a db reader. This checks if any JSON blob contains more than the MaxProcessingInstructionCount and if so, it breaks out of the reader, takes the max amount to be processed and re-saves the remaining back to the same record so that this single request does not over-process instructions (which can take a long time and cause all sorts of problems) 2016-10-25 15:50:33 +02:00
Stephan
a00ee8d275 Rename DependencyInjection into DI, cleanup components, compose 2016-10-17 11:00:12 +02:00
Stephan
0597eea72b Resvolution - Components, Runtime & Booting 2016-09-19 16:33:43 +02:00
Stephan
caf3c4280a Resvolution - CacheRefresherResolver 2016-09-19 16:30:32 +02:00
Stephan
ecee4d3702 Merge branch dev-v8 into temp-u4-8497 2016-07-20 12:38:57 +02:00
Stephan
77c2766d55 Merge branch origin/dev-v7 into dev-v8 2016-07-18 14:42:06 +02:00
Shannon
ff0711f786 bumps version txt file 2016-07-11 10:09:17 +02:00
Stephan
3c7245f9ba Merge origin/dev-v7 into dev-v8 2016-07-08 16:32:06 +02:00
Stephan
a7ae9e66cd U4-8624 - throttle pruning instr. and optimize query 2016-07-05 12:29:16 +02:00
Stephan
a0f00efcef Merge branch 'dev-v7' into temp-U4-8624 2016-07-05 12:00:29 +02:00
Shannon
81a4130f46 U4-8624 umbracoCacheInstructions is slowing server response 2016-06-28 16:31:24 +02:00
Shannon
1c40d9d0d8 U4-8627 Umbraco.Core.Sync.DatabaseServerMessenger - No last synced Id found when '0' is stored and there are no instructions 2016-06-23 16:55:04 +02:00
Stephan
06574b8b40 U4-8447 - prepare for NuCache (work-in-progress) 2016-05-26 17:12:04 +02:00
Stephan
365a01a476 From PetaPoco to NPoco (#1207)
* NPoco - 2.x (builds)

* NPoco - v3.1 (does not build)

* NPoco - builds

* NPoco - configure database factory (tests fail)

* Pick fix from 7.4

* NPoco - stock v3.1 - sort-of working

* NPoco - fix merge

* Fix Newtonsoft.Json in web.Template.Debug.config

* NPoco - fix SELECT *

* NPoco - fixing repositories

* NPoco - fix EntityRepository

* NPoco - fix EntityRepository

* NPoco - cosmetic

* NPoco - use 3.1.0-u001 from github/zpqrtbnk/NPoco

* Fixes build, NPoco needed to be referenced in the cms and UmbracoExamine projects

* Fixes lots of tests

* fixes more tests

* NPoco - bugfixing

* Bugfix CacheHelper in tests

* Bugfix connection mocking in tests

* NPoco - inject database in Sql.Select<>

* NPoco - discovery retry policy only once

* Enable C# 6 for Umbraco.Core

* NPoco - introduce UmbracoSql, cleanup

* NPoco - more cleanup and fixing

* NPoco - fix UserRepository

* Optimize InGroupsOf

* Implement UmbracoDatabase.FetchByGroups

* NPoco - fix Select

* NPoco - simplify GetPagedResultsByQuery

* Cherry-pick DisableBrowserCacheAttribute fix from 7.4

* Upgrade NPoco to use Sql<TContext>

* U4-8257 - cleanup relators

* 4-8257 - cleanup more relators

* Upgrade NPoco with more OOTB version

* fixes a couple tests, changes double check lock to Lazy<T>
2016-04-12 15:11:07 +02:00
Shannon
39c39879f9 Moves IPackageAction to _Legacy Core for now 2016-03-17 16:05:56 +01:00
Shannon
f6f54fd057 Merge branch 'master-v7' into dev-v8
Conflicts:
	build/UmbracoVersion.txt
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Core/CoreBootManager.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/UpdateRelatedLinksData.cs
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs
	src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs
	src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs
	src/Umbraco.Core/Persistence/Repositories/EntityContainerRepository.cs
	src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/PublicAccessRepository.cs
	src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs
	src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs
	src/Umbraco.Core/Persistence/RepositoryFactory.cs
	src/Umbraco.Core/PropertyEditors/PropertyEditorValueConvertersResolver.cs
	src/Umbraco.Core/Services/ContentTypeService.cs
	src/Umbraco.Core/Services/FileService.cs
	src/Umbraco.Core/Services/LocalizationService.cs
	src/Umbraco.Core/Services/MemberTypeService.cs
	src/Umbraco.Core/Services/PackagingService.cs
	src/Umbraco.Core/Services/ServiceContext.cs
	src/Umbraco.Tests/Persistence/Querying/ContentTypeSqlMappingTests.cs
	src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/config/ClientDependency.config
	src/Umbraco.Web.UI/packages.config
	src/Umbraco.Web.UI/web.Template.config
	src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs
	src/Umbraco.Web/Models/Mapping/ContentTypeModelMapper.cs
	src/Umbraco.Web/PropertyEditors/ImageCropperPropertyValueEditor.cs
	src/Umbraco.Web/PropertyEditors/ListViewPropertyEditor.cs
	src/Umbraco.Web/Services/ApplicationTreeService.cs
	src/Umbraco.Web/Services/SectionService.cs
	src/Umbraco.Web/Trees/MemberTreeController.cs
	src/Umbraco.Web/UI/Pages/ClientTools.cs
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/WebBootManager.cs
	src/Umbraco.Web/umbraco.presentation/macro.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadNodeTypes.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/channels/api.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewTasksBase.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/exportDocumenttype.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/protectPage.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/templateControls/ItemRenderer.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/MediaExtensions.cs
	src/umbraco.businesslogic/BasePages/ClientTools.cs
	src/umbraco.businesslogic/UmbracoSettings.cs
	src/umbraco.cms/businesslogic/CMSNode.cs
	src/umbraco.cms/businesslogic/Content.cs
	src/umbraco.cms/businesslogic/cache/Cache.cs
	src/umbraco.cms/businesslogic/datatype/DataTypeDefinition.cs
	src/umbraco.cms/businesslogic/propertytype/propertytype.cs
	src/umbraco.cms/businesslogic/web/Document.cs
	src/umbraco.cms/helpers/DeepLink.cs
	src/umbraco.editorControls/tinyMCE3/TinyMCE.cs
2016-03-10 19:20:15 +01:00
Shannon
5f246c533c Fixes issue when there are zero instructions in the db table and we've never synced before, in this case it will always cold boot because it will never saved the last synced, in this scenario also the indexes will not build because we've cleared the collection before they can run. 2016-02-11 18:07:31 +01:00
Shannon
0af97f63e2 U4-7857 Flexible Load Balancing does not sync with the correct timeout threshold 2016-02-02 11:11:47 +01:00
Stephan
c9c451be65 U4-7682 Minor review adjustments 2016-01-28 14:19:32 +01:00
Shannon
a0036d925e U4-7682 Add option to DatabaseServerMessengerOptions to force a Cold Boot if there are too many instructions 2016-01-28 12:14:30 +01:00
Shannon
75990b5961 U4-7643 DatabaseServerMessenger.cs causes lucene indexes to rebuild on app startup 2016-01-05 14:20:13 +01:00
Shannon
6f43230a9b Core is more or less building (i think) 2015-12-18 14:24:17 +01:00
Shannon
84db2f4d85 U4-7285 Every server that reads a instruction from umbracoCacheInstruction will also write the same instruction to the database. Intentional ? 2015-10-27 19:24:56 +01:00
albinj
f535ece685 U4-7283 - Only Master/Single ServerRole should be removing old instructions from the database 2015-10-21 14:29:18 +01:00
Stephan
308f64a7e2 doc BatchedDatabaseServerMessenger startup 2015-07-29 11:22:12 +02:00
Shannon
7d7e92432e Fixes how the BatchedDatabaseServerMessenger startsup/boots 2015-07-24 17:34:06 +02:00
Stephan
d1b6b5c76f DatabaseServerMessenger - cleanup 2015-07-17 10:48:09 +02:00
Shannon
18e8f09654 BatchedDatabaseServerMessenger only exists in Web now, no reason for it to be in Core. CoreBootManager by default now uses DatabaseServerMessenger (non-batched), WebBootManager now uses BatchedDatabaseServerMessenger and is always enabled by default unless the Dist Calls setting in umbracoSettings is enabled, in that case it will revert to using the legacy batched web services messenger. 2015-07-15 17:27:01 +02:00
Shannon
a5d5809385 Fixes DatabaseServerMessenger, when an exception occurs, we need to log but we cannot keep trying to process an invalid instruction otherwise we're in an infinite error loop and no further instructions will ever get processed. 2015-07-15 10:50:01 +02:00
Shannon
d9d38b9cc1 Merge remote-tracking branch 'origin/dev-v7' into dev-v7
Conflicts:
	src/Umbraco.Core/Sync/DatabaseServerMessenger.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Tests/packages.config
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/Umbraco.Web.csproj
	src/UmbracoExamine/UmbracoExamine.csproj
	src/umbraco.MacroEngines/umbraco.MacroEngines.csproj
2015-07-15 10:32:55 +02:00
Shannon
1e147f97e1 Updates examine, updates loghelper references. 2015-07-15 10:29:28 +02:00
Stephan
effa632fab DatabaseServerMessenger - ensure instructions 2015-07-14 16:21:05 +02:00
Shannon
a4dbc33b9a updates LogHelper references 2015-07-14 10:52:04 +02:00
Stephan
7bf28a20e7 DatabaseServerMessenger - sync only if MainDom 2015-07-13 22:57:39 +02:00
Stephan
fce688f47f DatabaseServerMessenger - local identity is unique appdomain 2015-07-08 14:42:38 +02:00
Stephan
99ff86aefb DistributedCache - don't serialize payload on local node 2015-05-18 16:35:42 +02:00
Stephan
9213304161 Bugfix distributed cache 2015-03-05 10:49:22 +01:00
Stephan
46fdd605ae Refactor distributed cache & merge Shazwazza's DataBaseServerMessenger 2015-03-05 10:49:21 +01:00