Friday, 23 December 2011

Thursday, 22 December 2011


SSO error while start and stopping the application

An error of this form appears while trying to start/delete/restart the BizTalk application in Administration console:
"Could not store transport type data for Receive Location 'Recv.Loc' to config store. Primary SSO Server 'Sql-server' failed. The external credentials in the SSO database are more recent."
Error details are:
SSO AUDIT
Function: SetConfigInfo
Tracking ID: df1dd0b0-c9d5-4012-bb97-336aa8df78b3
Client Computer: BTS06-Platform.contoso.com (mmc.exe:1884)
Client User: BTS06-PLATFORM\Administrator
Application Name: {D2241406-0767-4C13-98EB-43EECE80F8A0}
Error Code: 0xC0002A40, The external credentials in the SSO database are more recent.
Description
This error arises when the system date is not correct.
·         Run the following query in SSODB database.
select dateadd(m,-1,ec_timestamp),* from SSODB..SSOX_ExternalCredentials
where datediff(m,ec_timestamp,getdate())<>0
select dateadd(year,-1,ec_timestamp),* from SSODB..SSOX_ExternalCredentials
where datediff(year,ec_timestamp,getdate())<>0
·         If any rows are retrieved then there has been some changes in the system date. Run the following query in case any rows are retrieved in the first case.
update SSODB..SSOX_ExternalCredentials set  ec_timestamp = dateadd(m,-1,ec_timestamp) where datediff(m,ec_timestamp,getdate())<>0
update SSODB..SSOX_ExternalCredentials set  ec_timestamp = dateadd(year,-1,ec_timestamp) where datediff(year,ec_timestamp,getdate())<>0
·         Now restart Host Instances and continue with the application.

Thursday, 15 December 2011


IIS thread counts and web services requests

Worker process:

In iis6 and iis 7, worker process is handling all the asp.net and WCF services.

Application pool and worker process:

Each application pool have one worker process

Thread handling in iis7

Each worker processor can handle 20 threads per processor, but this can be changed by editing machine.config with parameter called autoconfig=true/false. default thread timeout is 20 minutes(relatively so high), If asmx or wcf service not accepting any new requests, we should check about thread count, if it is exceeding than 20 performance will be affected.


Thread handling in ii6:
Default thread count value is decided based on server configuration, it may vary based on server hardware and architecture.

How to check thread count:
Task manager or performance counter both are good option to check thread count.

How to find which thread causing trouble:
performance counter, processor monitor, thread dumps are best option. If we go, iis thread dumps, iisstate needs to be installed.

Advisable:
While hosting asmx or wcf services, we have to divide services and host in separate application pool. While making call with some other services, we have to do timout, if destination service, not responding particular time and that timedout needs to be logged. It is really helpful during the investigation.