Friday, 25 January 2019

Sitecore ERROR : Exception When Executing Agent Aggregation

Are you facing below mentioned xConnect error? Not able to find out the possible cause and fix?



Well, one of my colleague was struggling with this error on Processing Server. Log files were full of below mentioned error.

8556 13:04:06 ERROR Exception when executing agent aggregation/aggregator Exception: Sitecore.XConnect.XdbCollectionUnavailableException Message: An error occurred while sending the request. Source: Sitecore.XConnect.Client at Sitecore.XConnect.Client.WebApi.CollectionBatchWebApiClient.<ExecuteBatch>d__11.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.XConnect.Client.Operations.HttpOperationInvoker.<Execute>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.XConnect.XdbContext.<ExecuteBatchAsyncInternal>d__79.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Sitecore.XConnect.XdbContext.<ExecuteBatchAsyncInternal>d__79.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.XConnect.XdbContext.<ExecuteAsync>d__72.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.XConnect.XdbContext.<GetAsync>d__35`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Analytics.Processing.AsyncPoolScheduler`2.<TryGetNextAsync>d__14.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Analytics.Aggregation.InteractionAggregationAgent.<ExecuteCoreAsync>d__15.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Analytics.Core.Agent.<ExecuteAsync>d__1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Analytics.Core.AsyncBackgroundService.<ExecuteAgentAsync>d__22.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Analytics.Core.AsyncBackgroundService.<RunAsync>d__26.MoveNext() Nested Exception Exception: Sitecore.Xdb.Common.Web.ConnectionTimeoutException Message: A task was canceled. Source: Sitecore.Xdb.Common.Web at Sitecore.Xdb.Common.Web.CommonWebApiClient`1.<ExecuteAsync>d__37.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.XConnect.Client.WebApi.CollectionBatchWebApiClient.<ExecuteBatch>d__11.MoveNext() Nested Exception Exception: System.Threading.Tasks.TaskCanceledException Message: A task was canceled. Source: mscorlib at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Sitecore.Xdb.Common.Web.CommonWebApiClient`1.<ExecuteAsync>d__37.MoveNext() 

This seems Scaling issue as the error was now completely disappeared after scaling up. So try scaling up your instance to get rid of such issue. Thanks to my colleague Thom for sharing this resoultion!

Let me know if you find any other resolution.

Friday, 11 January 2019

A Tip To Install Sitecore Package Faster!

Are you installing large Sitecore package? It could be update or any other Sitecore package. Is it taking a long time to install?



Then you can follow this tip to make installer 3 times faster.

Tip:
For time being, go and disable ContentSearch event handler in "packageinstall:items:ended"



Please note that installed items will not be indexed automatically as we have disabled above settings. So you are advised to do manual indexing once package is installed and revert above changes by enabling ContentSearch event handler.

Please note that this tip is also shared by someone on twitter and I am just documenting it to spread this tip to others because sharing is caring.

Monday, 31 December 2018

Flashback 2018: My Sitecore Journey

Well, 2018 was one of the fantastic years in my Sitecore Journey. I know I haven't written many blogs posts during this year and was heavily involved on ground work.

It's always a good idea to look back and pen down all gain & loss of the year. This will give you a clear picture about your last year actions and will certainly help you to set your next year's goals. By keeping this in my mind, I am inspired to share my 2018 journey with you, my friends.



2018 - Year in Review

Here are few highlights:
  • 22 Sitecore Implementation Review
  • 10+ Sitecore Training Delivered
  • 20+ Happy Sitecore customer engagement
  • 7 Onsite customer visit/training
  • 7 Sitecore User Group Event held via SUGUAE
  • Sitecore 9 Certification
  • Participated in Guru Bar at Sitecore Symposium
  • Sitecore Commerce Certification
  • Participated in one of the tough jobs of reviewing Sitecore MVP application

And last but not least, completed yet another fruitful year while working with Sitecore! This doesn't mean that I haven't faced any loss in this 2018 year. I faced many personal challenges in this 2018 year and have learned many lessons out of that. 

I wish you all a very Happy & Healthy New Year. 
May God Fulfil all your dreams in this new year 2019!

Looking forward to 2019 with many hopes...

Wednesday, 29 August 2018

Are you getting "No Service Error" while connecting through Sitecore Rocks?

If you are working with Sitecore Rocks and trying to connect Sitecore Rocks with your Sitecore project in Visual Studio then there are some chances to spot No Service Error shown in below screen-shot.


Solution:
Well, there is simple solution. Go to your Sitecore Webroot folder and open Web.config file


Remove <deny> tag from Web.config file for <location path="sitecore/shell"> tag only.


That's it!

Now try to connect again with Sitecore Rocks and you should have connection success.



In case, you are still getting connection error, then it is advised to close Visual Studio project and open again and try.

Hope this may help someone!

Thursday, 2 August 2018

Is You Custom SMTP Connection Not Working in Sitecore EXM?

Most of times you follow Sitecore official documentation or community blog posts to use several features of Sitecore. But even-though after following all instructions very carefully, you end up in a unpleasant situation where the configured feature/functionality is not working.

So are you in same situation where you tried to configure Sitecore Email Experience Manager (EXM) with custom SMTP connection but still you are facing error in Test Connection?



First of all check the logs in Eds.* file to get more details where exactly the connection problem is.


In my case, below lines in log file were game changer. It gave me instant strike that my gmail account is configured for second step verification hence I was not able to connect Sitecore EXM with my custom gmail SMTP details. This could be a case with you also and that's why I wrote this post - to help you friends who caught in the same boat.

readSmtpResponse:
SmtpCmdResp: 534-5.7.9 Application-specific password required. Learn more at
SmtpCmdResp: 534 5.7.9  https://support.google.com/mail/?p=InvalidSecondFactor a5- v6sm1673474wmf.3 - gsmtp

So how to fix this? You would say remove second factor verification from Gmail, right? 
Well, we developer always do everything to allow our application to run :), isn't it? No, we are not going to remove second step verification from Gmail and will fix the connection issue instead.

Here are the steps:
1. Login to your Gmail account
2. Navigate to https://security.google.com/settings/security/apppasswords
3. In 'select app' choose 'custom', give it an random name and press generate button
4. It will generate 16 chars token.


Now copy that 16 character token and replace it with your "password" under SMTP \App_Config\Sitecore\EmailExperience\Sitecore.EDS.Providers.CustomSMTP.config file



That's it, try to test EXM connection and it should work now.


Wednesday, 27 December 2017

Is Your Sitecore Powershell RemoteAutomation Page Not Working?

Recently one of the developers at customer office contacted me as he was facing error while accessing Sitecore Powershell RemoteAutomation Webservice. After helping him to fix the issue, he notified that he couldn't find this fix on internet or may be it was difficult to find it. This encouraged me to write a quick blog post to help our awesome Sitecore community out there.



He was facing resource cannot be found error while accessing Sitecore Powershell Remote Automation page via http://[SitecoreInstance]/sitecore%20modules/PowerShell/Services/RemoteAutomation.asmx URL.


By seeing above error, one can easily say that either the page you are accessing does not exist at desired location or URL is wrong. That's what we also checked and found that page does exist and URL is also correct. 

The next thing to look into was ofcourse logs where we found below error getting logged.

Exception: System.Web.HttpException
Message: The file '/sitecore modules/powershell/services/404.htm' does not exist.

Above line of error gave some hint that while accessing RemoteAutomation.asmx page, it is trying to access 404.htm page. But 404.htm page doesn't exist and that's why it is throwing resource not found error. 

This theory makes sense, but why it is trying to access 404.htm while hitting RemoteAutomation.asmx page? 

Well, that mischief is done by your web.config file sitting under Website\sitecore modules\PowerShell\Services path.


Solution:
Comment above highlighted line or create/place corresponding page to fix this error.

Now try to access your RemoteAutomation.asmx webservice and it should not complain and load fine as shown in below screen.


Hope that this may help someone to save some time!

Sunday, 17 December 2017

Tip # 8 : Sitecore Tip Of The Day!

Did you know Sitecore List Manager Import CSV Format?


If your answer is no, then you should spend a minute on this quick blog post to sharpen your Sitecore skills. But If you are aware about this then you can skip this tip and check out other interesting tips posted on this blog.


This tip is brought to you by Brijesh Patel

Sitecore List Manager is used to hold lists of contacts where these contacts can be recipients in an email campaign created in Sitecore Email Experience Manager.

The List Manager is well documented by Sitecore at https://doc.sitecore.net/sitecore_experience_platform/81/digital_marketing/the_list_manager

For creating a contact list you can,
1) Use List Manager: Firstly, create a list and keep on adding contacts manually. Might be a tedious task. 
2) Import from CSV: List Manager allows to add contact via a CSV file. I had a question about what can be the format of the CSV file. Brijesh Patel figured it out but would like to share it here as Sitecore Tip of The Day.

The CSV needs to have four fields,
1) Identifier: Not mandatory if email address is to be used as unique identifier
2) Email Address
3) First name
4) Last Name


The first row in a CSV file is a header and it is not imported. As List Manager allows mapping of fields any extra column defined in CSV which is not mapped will be ignored.


Liked this tip? If you have such a small and sweet Sitecore tip to share with the community then come and share here by filling this form

Stay tuned for more tips!