Sitecore / experience-extractor

Extract data from Sitecore xDB for analysis in external tools and data integrations
Other
23 stars 15 forks source link

Extractor requires Sitecore.ExperienceAnalytics.Aggregation.config to be enabled #16

Open bljack333 opened 7 years ago

bljack333 commented 7 years ago

We have our Sitecore installation distributed across Content Delivery, Content Mgmt, and Processing/Reporting servers. Normally that config file is only enabled on the Processing server. With that disabled on the Content Mgmt server we get this exception: System.InvalidOperationException: experienceAnalytics/aggregation/services/dimensionDefinitionService at Sitecore.ExperienceAnalytics.Aggregation.AggregationContainer.CreateObject[T](String xpath) at Sitecore.ExperienceAnalytics.Aggregation.AggregationContainer.Repositories.<>c.<.cctor>b23_0() at ExperienceExtractor.Components.Parsing.Fields.XaFactoryHelpers.ParseDimension(ParseState state) in C:\Projects\ExperienceExtractor\experience-extractor\src\ExperienceExtractor.Components\Parsing\Fields\XaFactoryHelpers.cs:line 67 at ExperienceExtractor.Components.Parsing.Fields.XaFieldFactory.Parse(JobParser parser, ParseState state) in C:\Projects\ExperienceExtractor\experience-extractor\src\ExperienceExtractor.Components\Parsing\Fields\XaFieldFactory.cs:line 27 at ExperienceExtractor.Api.Parsing.JsonJobParser.Parse[TType](ParseState state) in C:\Projects\ExperienceExtractor\experience-extractor\src\ExperienceExtractor\Api\Parsing\JsonJobParser.cs:line 67 at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() at System.Linq.Enumerable.<ConcatIterator>d__581.MoveNext() at System.Linq.Buffer1..ctor(IEnumerable1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) at ExperienceExtractor.Api.Parsing.JobParser.ParseTableDefinition(ParseState state) in C:\Projects\ExperienceExtractor\experience-extractor\src\ExperienceExtractor\Api\Parsing\JobParser.cs:line 97 at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() at System.Linq.Buffer1..ctor(IEnumerable1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at ExperienceExtractor.Components.Parsing.Tables.DefaultTableFactory.Parse(JobParser parser, ParseState state) in C:\Projects\ExperienceExtractor\experience-extractor\src\ExperienceExtractor.Components\Parsing\Tables\DefaultTableFactory.cs:line 27 at ExperienceExtractor.Api.Parsing.JsonJobParser.Parse[TType](ParseState state) in C:\Projects\ExperienceExtractor\experience-extractor\src\ExperienceExtractor\Api\Parsing\JsonJobParser.cs:line 67 at ExperienceExtractor.Api.Jobs.Job.<>c__DisplayClass73_0.b0(Int32 i) in C:\Projects\ExperienceExtractor\experience-extractor\src\ExperienceExtractor\Api\Jobs\Job.cs:line 133 at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() at System.Linq.Buffer1..ctor(IEnumerable1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) at ExperienceExtractor.Api.Jobs.Job.Run() in C:\Projects\ExperienceExtractor\experience-extractor\src\ExperienceExtractor\Api\Jobs\Job.cs:line 119

{ "$id": "1", "$type": "ExperienceExtractor.Api.Jobs.JobInfo, ExperienceExtractor", "Id": "2670613f-b055-41a5-b94b-319a27d4e25f", "Created": "2017-05-09T13:40:49.5401218-05:00", "Ended": "2017-05-09T13:40:49.6001218-05:00", "ItemsProcessed": 0, "RowsCreated": 0, "Progress": null, "Status": "Failed", "StatusText": "System.InvalidOperationException: experienceAnalytics/aggregation/services/dimensionDefinitionService\r\n at Sitecore.ExperienceAnalytics.Aggregation.AggregationContainer.CreateObject[T](String xpath)\r\n at Sitecore.ExperienceAnalytics.Aggregation.AggregationContainer.Repositories.<>c.<.cctor>b__23_0()\r\n at ExperienceExtractor.Components.Parsing.Fields.XaFactoryHelpers.ParseDimension(ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor.Components\\Parsing\\Fields\\XaFactoryHelpers.cs:line 67\r\n at ExperienceExtractor.Components.Parsing.Fields.XaFieldFactory.Parse(JobParser parser, ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor.Components\\Parsing\\Fields\\XaFieldFactory.cs:line 27\r\n at ExperienceExtractor.Api.Parsing.JsonJobParser.Parse[TType](ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor\\Api\\Parsing\\JsonJobParser.cs:line 67\r\n at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()\r\n at System.Linq.Enumerable.<ConcatIterator>d__58`1.MoveNext()\r\n at System.Linq.Buffer`1..ctor(IEnumerable`1 source)\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at ExperienceExtractor.Api.Parsing.JobParser.ParseTableDefinition(ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor\\Api\\Parsing\\JobParser.cs:line 97\r\n at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()\r\n at System.Linq.Buffer`1..ctor(IEnumerable`1 source)\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at ExperienceExtractor.Components.Parsing.Tables.DefaultTableFactory.Parse(JobParser parser, ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor.Components\\Parsing\\Tables\\DefaultTableFactory.cs:line 27\r\n at ExperienceExtractor.Api.Parsing.JsonJobParser.Parse[TType](ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor\\Api\\Parsing\\JsonJobParser.cs:line 67\r\n at ExperienceExtractor.Api.Jobs.Job.<>c__DisplayClass73_0.<Run>b__0(Int32 i) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor\\Api\\Jobs\\Job.cs:line 133\r\n at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()\r\n at System.Linq.Buffer`1..ctor(IEnumerable`1 source)\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at ExperienceExtractor.Api.Jobs.Job.Run() in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor\\Api\\Jobs\\Job.cs:line 119", "SizeLimitExceeded": false, "Url": "/sitecore/experienceextractor/jobs/2670613f-b055-41a5-b94b-319a27d4e25f", "Specification": "{\r\n \"source\": {\r\n \"xdb\": {\r\n \"filters\": [\r\n {\r\n \"sample\": 0.3\r\n },\r\n {\r\n \"daterange\": {\r\n \"start\": \"2017-01-01Z\",\r\n \"end\": \"2017-05-09Z\"\r\n }\r\n }\r\n ]\r\n }\r\n },\r\n \"mapper\": {\r\n \"tables\": [\r\n {\r\n \"name\": \"Visits\",\r\n \"fields\": [\r\n {\r\n \"date\": \"Date\"\r\n },\r\n {\r\n \"xa\": \"Visits/By campaign\"\r\n },\r\n \"facts\"\r\n ],\r\n \"tables\": []\r\n }\r\n ]\r\n },\r\n \"postprocessors\": [\r\n \"msaccess\"\r\n ]\r\n}", "LastException": "System.InvalidOperationException: experienceAnalytics/aggregation/services/dimensionDefinitionService\r\n at Sitecore.ExperienceAnalytics.Aggregation.AggregationContainer.CreateObject[T](String xpath)\r\n at Sitecore.ExperienceAnalytics.Aggregation.AggregationContainer.Repositories.<>c.<.cctor>b__23_0()\r\n at ExperienceExtractor.Components.Parsing.Fields.XaFactoryHelpers.ParseDimension(ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor.Components\\Parsing\\Fields\\XaFactoryHelpers.cs:line 67\r\n at ExperienceExtractor.Components.Parsing.Fields.XaFieldFactory.Parse(JobParser parser, ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor.Components\\Parsing\\Fields\\XaFieldFactory.cs:line 27\r\n at ExperienceExtractor.Api.Parsing.JsonJobParser.Parse[TType](ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor\\Api\\Parsing\\JsonJobParser.cs:line 67\r\n at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()\r\n at System.Linq.Enumerable.<ConcatIterator>d__58`1.MoveNext()\r\n at System.Linq.Buffer`1..ctor(IEnumerable`1 source)\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at ExperienceExtractor.Api.Parsing.JobParser.ParseTableDefinition(ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor\\Api\\Parsing\\JobParser.cs:line 97\r\n at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()\r\n at System.Linq.Buffer`1..ctor(IEnumerable`1 source)\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at ExperienceExtractor.Components.Parsing.Tables.DefaultTableFactory.Parse(JobParser parser, ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor.Components\\Parsing\\Tables\\DefaultTableFactory.cs:line 27\r\n at ExperienceExtractor.Api.Parsing.JsonJobParser.Parse[TType](ParseState state) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor\\Api\\Parsing\\JsonJobParser.cs:line 67\r\n at ExperienceExtractor.Api.Jobs.Job.<>c__DisplayClass73_0.<Run>b__0(Int32 i) in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor\\Api\\Jobs\\Job.cs:line 133\r\n at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()\r\n at System.Linq.Buffer`1..ctor(IEnumerable`1 source)\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at ExperienceExtractor.Api.Jobs.Job.Run() in C:\\Projects\\ExperienceExtractor\\experience-extractor\\src\\ExperienceExtractor\\Api\\Jobs\\Job.cs:line 119" }
dthunziker commented 6 years ago

In addition to the aggregation config requirement, the module also requires all Speak related configs to be enabled. These config files are usually disabled on the processing Sitecore roles, so it can lead to some confusion as to where this module should be installed (CM, Processing, CM+Processing only, etc).

I ended up installing it on our processing role and enabling the Speak configs.