Showing posts with label SharePoint. Show all posts
Showing posts with label SharePoint. Show all posts

Thursday, November 21, 2013

Do you want to spend on SharePoint only for MS Office DocumentCollaboration ?

First you should know How to collaborate with SharePoint 2013 :



Now Let's see what Google provides :

Monday, July 22, 2013

Few Questions to be answered before you start a SharePoint project

Few Questions to be answered before you start a SharePoint project:

  1. Are you looking for a public facing site or an intranet portal? Do you need subset of information available on intranet to be published to outer word? Do you want to develop a portal as one stop solution for whole organization or it will be in parallel with various other system with scattered information e.g. user profiles , etc.

  2. What are the maximum users we want to target in next 5 years?

  3. Do you want to pre-plan for multilingual scenarios?

  4. The user policies and permission must be strictly defined well ahead and direct access (without SharePoint user groups) to content must be eliminated. Owners who define will manage the security must be clear and precise and well trained how to manage security in SharePoint.  Administrators and owners, who don’t know how to manage security, are the biggest loop holes in the security chain.

  5. Ownership of servers and management is a pain in butt at later stages, so must be documented and defined during initial stages.

  6.  Read only search accounts must be predefined. Using administrators as search accounts is a big security loop hole.

  7. Security patches and Upgrades for Windows Servers SharePoint SQL must be scheduled and monitored.  Blocking them forever is inviting hackers to dump the system.

  8. Antivirus scans are often ignored during planning stages. Never do that.

  9. It must be defined clearly what all need to be blob cached and duration of caching must be precise and documented. According front end server configuration might have to be changed. You may never want to blob cache secured contents.

  10. To avoid more expenditure on future upgrades maximize utilization of out of box features of SharePoint.

  11. You may never want to expose underlying framework information through headers . Plan for that during initial stages , if it is a public facing site .

  12. You may want to rely on Google analytic to understand Visitor flow and improvise the site accordingly during later stages . Plan for this .

  13. What might be the external systems from where information flows in or goes out of SharePoint future system . Plan security and minimize / define  and document the limitations .

  14. Do you want to go for automatic TFS / 3rd party deployments or want a more controlled deployments with dedicated administrator ?

  15. Have you take sign off on all the relevant SharePoint features to be accommodated in the ecosystem with capacity planning and infrastructure involved to avoid performance hits at later stages ?

You are requested to add more here as comments based on what you had to go through in your previous projects  . 

You may also like:
MOSS 2007 Troubleshooting Guide

Wednesday, June 26, 2013

Faulting application name: CcmExec.exe, version: 4.0.6221.1000, timestamp: 0x 339 6 Faulting module name: ntdll.dll, version:6.1.7601.17725, time stamp: 0x c4 8f

Ccmexec.exe refers to CCM Executive and operates as a component of the Microsoft SMS Agent Host for Microsoft Systems Management Server which handles Change and Configuration Management utility.

The error I was getting :

Log Name: Application
Source: Application Error
Date: x/xx/xxx xx:xx:xx xM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: xxxxxxx
Description:
Faulting application name: CcmExec.exe, version: 4.0.6221.1000, time stamp: 0x 339 6
Faulting module name: ntdll.dll, version: 6.1.7601.17725, time stamp: 0x c4 8f
Exception code: 0xc0000005
Fault offset: 0x0009ce74
Faulting process id: 0xbf8
Faulting application start time: 0x01 5e9 49 2bc
Faulting application path: C:\Windows\SysWOW64\CCM\CcmExec.exe
Faulting module path: C:\Windows\SysWOW64\ntdll.dll
Report Id: 59e021fb-dd92-11e2-bf93-0050568d00ab
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2013-06-25T12:25:42.000000000Z" />
<EventRecordID>2732038</EventRecordID>
<Channel>Application</Channel>
<Computer>MIA32132WWW004.managed.cln</Computer>
<Security />
</System>
<EventData>
<Data>CcmExec.exe</Data>
<Data>4.0.6221.1000</Data>
<Data>48339246</Data>
<Data>ntdll.dll</Data>
<Data>6.1.7601.17725</Data>
<Data>4ec49b8f</Data>
<Data>c0000005</Data>
<Data>0009ce74</Data>
<Data>bf8</Data>
<Data>01ce5e9fb49ec2bc</Data>
<Data>C:\Windows\SysWOW64\CCM\CcmExec.exe</Data>
<Data>C:\Windows\SysWOW64\ntdll.dll</Data>
<Data>59e021fb-dd92-11e2-bf93-0050568d00ab</Data>
</EventData>
</Event>

Suggested read : System Center Configuration Manager 


You may also like:

The COM+ System Application service entered the running state.


The application-specific permission settings do not grant Local Launch permission


MSDTC encountered an error (HR=0x80000171) while attempting to establish a


Question: The backing-file for the real-time session “WDC.BE95A9B1-DE15-4B78-B923-A12AB70BE951” has reached…

Tuesday, June 25, 2013

Monitor traffic b/w SQL server and front end

I want to monitor SQL traffic b/w Front End and SQL server. What could be the best approach for this ?

Reason :

In our uls logs , we are getting message :

Process : OWSTIMER.EXE (_x-_-_)
Thread ID : _x-_-_
Area : SharePoint Foundation
Category : Database
Event ID : f-_-
Level : Monitorable

Message :

A large block of literal text was sent to sql. This can result in blocking in sql and excessive memory use on the front end. Verify that no binary parameters are being passed as literals, and consider breaking up batches into smaller components. If this request is for a SharePoint list or list item, you may be able to resolve this by reducing the number of fields.

QL Profiler:

You may also like:











Question : Thread was being aborted : PerfmonInstanceIncrement

In our uls logs , we are getting message :

Process : w3wp.exe (_x-_-_)
Thread ID : _x_-_-
Area : SharePoint Server
Category : General
Event ID : 7-_-
Level : Warning

Message :

A runtime exception was detected. Details follow. Message: Thread was being aborted. Technical Details: System.Threading.ThreadAbortException: Thread was being aborted. at Microsoft.Office.Server.Diagnostics.ULS.NativeMethods.DoPerfmonInstance(Int32 instanceHandle, UInt32 pcid, Int64 lValue, PerfmonAction pcvo) at Microsoft.Office.Server.Diagnostics.ULS.PerfmonInstanceIncrement(Int32 instanceHandle, PCIDBase pcid, Int64 value)



Please help us identify the root cause and resolution for this .

We have also updated SPWebService.CollectSPRequestAllocationCallStacks property

You may also like:

Question : Memory Leak : Microsoft.SharePoint.SPRequestManager.GetContextRequest(SPRequestAuthenticationMode authenticationMode)


Question: The backing-file for the real-time session “WDC.BE95A9B1-DE15-4B78-B923-A12AB70BE951” has reached…


MOSS 2007 Troubleshooting Guide


Question : what is arpirowupdater.hxx ?


Question : what is merge.cxx ?


Monday, June 24, 2013

The COM+ System Application service entered the running state.

The COM+ System Application service manages the configuration and tracking of COM+ based components. If this service stops, most COM+ based components do not function properly. The Volume Shadow Copy Service, which is needed for Windows Backup and backup applications that rely on the Windows Backup API, requires this service.
This service is installed and enabled by default.

Log Name: System
Source: Service Control Manager
Date: x/xx/xxx xx:xx:xx xM
Event ID: 7036
Task Category: None
Level: Information
Keywords: Classic
User: N/A
Computer: xxxxxxx
Description:
The COM+ System Application service entered the running state.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Service Control Manager" Guid=”{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx12f4}" EventSourceName="Service Control Manager" />
<EventID Qualifiers="16384">7036</EventID>
<Version>0</Version>
<Level>4</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8080000000000000</Keywords>
<TimeCreated SystemTime=”xxxx-xx-xxTxx:xx:xx.xxxxxxxxxZ” />
<EventRecordID>xxxxxx1</EventRecordID>
<Correlation />
<Execution ProcessID="508" ThreadID="7864" />
<Channel>System</Channel>
<Computer>xxxx</Computer>
<Security />
</System>
<EventData>
<Data Name="param1">COM+ System Application</Data>
<Data Name="param2">running</Data>
<Binary>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</Binary>
</EventData>
</Event>

References :
Consequences of having Com+ System Application Disabled <http://communities.vmware.com/thread/238146?start=0&tstart=0>
http://technet.microsoft.com/en-us/library/dd349799(v=ws.10).aspx
http://technet.microsoft.com/en-us/library/cc781785(v=ws.10).aspx
http://social.technet.microsoft.com/Forums/windowsserver/en-US/107c8ab2-3057-4034-acf9-0179804b5aab/com-system-application-service-will-not-start-server-2008-r2



When COM+ System Application Service Start on my machine , the system becomes faster . Do you have some idea why this happens ?


You may also like:

MOSS 2007 Troubleshooting Guide


Question : Memory Leak : Microsoft.SharePoint.SPRequestManager.GetContextRequest(SPRequestAuthenticationMode authenticationMode)


The service did not respond to the start or control…


Include specific folder content in BlobCache SharePoint


Search – One or more property databases have fragmented indices.


Best practices for Blob cache



Question: The backing-file for the real-time session “WDC.BE95A9B1-DE15-4B78-B923-A12AB70BE951” has reached…

Sunday, June 23, 2013

The application-specific permission settings do not grant Local Launchpermission for the COM Server application with CLSID

The Network Access Protection (NAP) Agent is the primary service that allows a computer to function as a NAP client. The NAP Agent service is responsible for gathering client health data from the installed system health agents (SHAs) and forwarding that information to NAP enforcement clients for evaluation.



Network Access Protection (NAP) Agent error I am getting :




Log Name: System
Source: Microsoft-Windows-DistributedCOM
Date: x/xx/xxx xx:xx:xx xM
Event ID: 10016
Task Category: None
Level: Error
Keywords: Classic
User: SYSTEM
Computer: xxxxxxx
Description:
The application-specific permission settings do not grant Local Launch permission for the COM Server application with CLSID
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxFF48}
and APPID
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx9BA1} NAP Agent Service ( Component Services > Computers > My Computer > DCOM Config > NAP Agent Service )
to the user NT AUTHORITY\SYSTEM SID (x-x-x-xx) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-DistributedCOM" Guid="{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx407E}" EventSourceName="DCOM" />
<EventID Qualifiers="49152">10016</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime=”xxxx-xx-xxTxx:xx:xx.xxxxxxxxxZ” />
<EventRecordID>2304965</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>System</Channel>
<Computer>xxxx</Computer>
<Security UserID="x-x-x-xx" />
</System>
<EventData>
<Data Name="param1">application-specific</Data>
<Data Name="param2">Local</Data>
<Data Name="param3">Launch</Data>
<Data Name="param4">{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxFF48}</Data>
<Data Name="param5">{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx9BA1}</Data>
<Data Name="param6">NT AUTHORITY</Data>
<Data Name="param7">SYSTEM</Data>
<Data Name="param8">x-x-x-xx</Data>
<Data Name="param9">LocalHost (Using LRPC)</Data>
</EventData>
</Event>

References :
http://technet.microsoft.com/en-us/library/cc735503(v=ws.10).aspx
http://social.technet.microsoft.com/Forums/systemcenter/en-US/dfc465bc-7bbd-483e-b98b-2ba56fa98313/the-applicationspecific-permission-settings-do-not-grant-local-launch-permission-for-the-com-server

You may also like:

MOSS 2007 Troubleshooting Guide


The COM+ System Application service entered the running state.

The following fatal alert was generated: 10. The internal error state is 1203.

Log Name: System
Source: Schannel
Date: x/xx/xxx xx:xx:xx xM
Event ID: 36888
Task Category: None
Level: Error
Keywords:
User: SYSTEM
Computer: xxxxxxx
Description:
The following fatal alert was generated: 10. The internal error state is 1203.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Schannel" Guid="{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx5C85}" />
<EventID>36888</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8000000000000000</Keywords>
<TimeCreated SystemTime="xxxx-xx-xxTxx:xx:xx.xxxxxxxxxZ" />
<EventRecordID>xxxxxx9</EventRecordID>
<Correlation />
<Execution ProcessID="xxx" ThreadID="xxxx" />
<Channel>System</Channel>
<Computer>xxxx</Computer>
<Security UserID="Sx-x-x-xx" />
</System>
<EventData>
<Data Name="AlertDesc">10</Data>
<Data Name="ErrorState">1203</Data>
</EventData>
</Event>
Resolution : How to enable Schannel event logging in IIS < http://support.microsoft.com/kb/260729 >

Related :

What's New in TLS/SSL (Schannel SSP) <http://technet.microsoft.com/en-us/library/hh831771.aspx>
SSL/TLS communication problems after you install KB 931125<http://support.microsoft.com/kb/2801679>

Saturday, June 22, 2013

Question: The backing-file for the real-time session "WDC.BE95A9B1-DE15-4B78-B923-A12AB70BE951" has reached its maximum size.

Under eventvwr we are getting this message. Please help.

The backing-file for the real-time session "WDC.BE95A9B1-DE15-4B78-B923-A12AB70BE951" has reached its maximum size.

The service did not respond to the start or control request in a timelyfashion. (2147943453, 8007041d)

IIS version 7.5.7600.16385

After a server restart , when we do IISReset , we get the error :



The service did not respond to the start or control request in a timely fashion.

(2147943453, 8007041d)



But all the app pools are restarted successfully.

The eventvwr says that w3svc is started but asp performance counters could not be started successfully . Even though performance counters do work fine !!!!!!!!

What could be the reason , or where to start searching the cause ?

Resolution :

Reference : http://forums.iis.net/post/1883534.aspx and
http://support.microsoft.com/default.aspx?scid=kb;en-us;327649

You may also like:

get last app pool recycle timings

MSDTC encountered an error (HR=0x80000171) while attempting toestablish a secure connection with system

The Microsoft Distributed Transaction Coordinator service (MSDTC) tracks all parts of the transactions process, even over multiple resource managers on multiple computers. This helps ensure that the transaction is committed, if every part of the transaction succeeds, or is rolled back, if any part of the transaction process fails.



Sample error message :
Log Name: Application
Source: Microsoft-Windows-MSDTC Client 2
Date: x/xx/xxx xx:xx:xx xM
Event ID: 4879
Task Category: CM
Level: Warning
Keywords: Classic
User: N/A
Computer: xxxxxxx
Description:
MSDTC encountered an error (HR=0x80000171) while attempting to establish a secure connection with system HostNameOfCurrentServer.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-MSDTC Client 2" Guid="{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx0363}" EventSourceName="MSDTC Client 2" />
<EventID Qualifiers="32768">4879</EventID>
<Version>0</Version>
<Level>3</Level>
<Task>3</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime=”xxxx-xx-xxTxx:xx:xx.xxxxxxxxxZ” />
<EventRecordID>2733365</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>Application</Channel>
<Computer>xxxx</Computer>
<Security />
</System>
<EventData>
<Data Name="param1">80000171</Data>
<Data Name="param2">HostNameOfCurrentServer</Data>
</EventData>
</Event>

Suggested Articles:
Troubleshooting Problems with MSDTC 
Problem with MSDTC
MSDTC - Error while attempting to establish a secure connection (Standalone)

You may also like:

The application-specific permission settings do not grant Local Launch permission…


The COM+ System Application service entered the running state.


The following fatal alert was generated: 10. The internal error…


MOSS 2007 Troubleshooting Guide

Question : what is arpirowupdater.hxx ?

In our uls logs , we are getting message :

Process : mssearch.exe (_x-_-_)
Thread ID : _x-_-_
Area : SharePoint Server Search
Category : Exceptions
Event ID : _-_-
Level : High

Message :

<Exception><HR>0x80040e2f</HR><eip>000007FEF5D0A4E7</eip><module>d:\office\source\search\native\gather\plugins\arpi\arpirowupdater.hxx</module><line>2430</line></Exception>

Please help us identify the root cause and resolution for this .

You may also like:

Search – One or more property databases have fragmented indices.


Search History in SharePoint 2010


Question : what is merge.cxx ?

Monday, June 10, 2013

Search - One or more property databases have fragmented indices.

Heavily fragmented indexes can degrade query and crawl performance.

Cause :

Fragmentation exists when indexes have pages in which the logical ordering, based on the key value, does not match the physical ordering inside the data file. All leaf pages of an index contain pointers to the next and the previous pages in the index. This forms a doubly linked list of all index/data pages. Ideally, the physical order of the pages in the data file should match the logical ordering. Overall disk throughput is significantly increased when the physical ordering matches the logical ordering of the data.
Effects on Performance :

1. Query latency might increase.
2. Crawl rate may decrease as more time is spent writing metadata to the property database.
3. The property database defragmentation health rule detects that one or more property databases have fragmented indexes and attempts to correct the fragmentation. Note: when this rule is correcting the fragmentation, query latency and crawl rate are affected.
If you see a message like "Search - One or more property databases have fragmented indices." in Central Administration > Monitoring > Review Problems and Solutions

One of the possible Resolution is :

1.Go to Central Administration > Manage service applications > Search Application > Index reset in Left navigation > Reset Now
2.Go to Central Administration > Manage service applications > Search Application > Manage Content Sources > Sart Full Crawls for Content sources in the order of importance as per you business needs.

Reference :    One or more Search property databases have fragmented indices (SharePoint Server 2010) 

Saturday, June 8, 2013

Best practices for Blob cache

Blob cache is to reduce traffic in b/w sql server and front ends. So a copy of frequently accessed files is kept on each WFE. Enabling blob cache also passes information in http headers to client browser to fetch the data from cache rather than round trips.

This needs publishing framework. You might have to increase RAM on each front end on average by 800 bytes per file. Also, server relative urls should be less than 160 characters to be blob cached (with a path in file system as less than 260 characters)





But sometimes large blob cache will reduce your performance rather helping with heavy loads. Blob cache index are written to hard drive periodically and before recycle. When this serialization is progress, it will affect the time taken to serve the client request.

It is even more devastating when app pool recycle corrupt indexes and files are no longer being fetched from blob cache ; this happens generally because - if timeout for recycle is lower than time taken to save the indexes on disk





Best practices for Blob cache:



1. Try to keep the content stable for live environments and blob cache should be planned for content with lesser changes, when blob is invalidated by Framework?

2. Better to add mime types for files being blob cached.  Alternate in webconfig [ BlobCache node] use parameter browserFileHandling = "nosniff"  [ possible values nosniff|strict ]

3. The content in blobcache folder should be managed by framework. Let it be created and managed by SharePoint.

4. Server relative urls should be less than 160 characters to be blob cached ( with a path in file system as less than 260 characters)

5. How to flush blob cache ?

6. For large blob cache increase parameter WriteIndexInterval in webconfig [ BlobCache node]. Default is 60 . You might want to serialize it may after 1 hour [ 86400] for very large blob cache. { this setting is not recommended for small blob cache size }

7. Recommended time limits to shut down and start up web application is 300 seconds. Default is 90 seconds. For large blob cache you might even go up to 600 seconds.

8. Plan for sufficient disk space as per size of content.

You may also like:

Include specific folder content in BlobCache SharePoint


when blob cache must be invalidated by framework ?


System.UnauthorizedAccessException to BlobCache Folder


Getting multiple hits to files after enabling BLOB cache


One thought on “Best practices for Blob cache

I am getting below mentioned error in Microsoft.SharePoint.Publishing.BlobCache.CreateFile(String tempFileName, SPFile file, BlobCacheEntry target, Int32 chunkSize) :
Process : w3wp.exe (_x-_-_)
Thread ID : _x-_-_
Area : SharePoint Foundation
Category : Performance
Event ID : n-_-
Level : Monitorable
Message :
An SPRequest object was reclaimed by the garbage collector instead of being explicitly freed. To avoid wasting system resources, dispose of this object or its parent (such as an SPSite or SPWeb) as soon as you are done using it. Allocation Id: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx} This SPRequest was allocated at at Microsoft.SharePoint.Library.SPRequest..ctor() at Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(SPSite site, String name, Boolean bNotGlobalAdminCode, String strUrl, Boolean bNotAddToContext, Byte[] UserToken, String userName, Boolean bIgnoreTokenTimeout, Boolean bAsAnonymous) at Microsoft.SharePoint.SPWeb.InitializeSPRequest() at Microsoft.SharePoint.SPListCollection.EnsureListsData(Guid webId, String strListName) at Microsoft.SharePoint.SPListCollection.ItemByInternalName(String strInternalName, Boolean bThrowException) at Microsoft.SharePoint.SPItemEventProperties.get_List() at Microsoft.SharePoint.Taxonomy.TaxonomyItemEventReceiver.ItemUpdating(SPItemEventProperties properties) at Microsoft.SharePoint.SPEventManager.RunItemEventReceiver(SPItemEventReceiver receiver, SPUserCodeInfo userCodeInfo, SPItemEventProperties properties, SPEventContext context, String receiverData) at Microsoft.SharePoint.SPEventManager.RunItemEventReceiverHelper(Object receiver, SPUserCodeInfo userCodeInfo, Object properties, SPEventContext context, String receiverData) at Microsoft.SharePoint.SPEventManager.c__DisplayClassc`1.b__6() at Microsoft.SharePoint.SPSecurity.RunAsUser(SPUserToken userToken, Boolean bResetContext, WaitCallback code, Object param) at Microsoft.SharePoint.SPEventManager.InvokeEventReceivers[ReceiverType](SPUserToken userToken, Guid tranLockerId, RunEventReceiver runEventReceiver, Object receivers, Object properties, Boolean checkCancel) at Microsoft.SharePoint.SPEventManager.InvokeEventReceivers[ReceiverType](Byte[] userTokenBytes, Guid tranLockerId, RunEventReceiver runEventReceiver, Object receivers, Object properties, Boolean checkCancel) at Microsoft.SharePoint.SPEventManager.ExecuteItemEventReceivers(Byte[]& userToken, Guid& tranLockerId, Object& receivers, ItemEventReceiverParams& itemEventParams, Object& changedFields, EventReceiverResult& eventResult, String& errorMessage) at Microsoft.SharePoint.Library.SPRequestInternalClass.GetFileAsStream(String bstrUrl, String bstrWebRelativeUrl, Boolean bHonorLevel, Byte iLevel, OpenBinaryFlags grfob, String bstrEtagNotMatch, String& pEtagNew, String& pContentTagNew) at Microsoft.SharePoint.Library.SPRequest.GetFileAsStream(String bstrUrl, String bstrWebRelativeUrl, Boolean bHonorLevel, Byte iLevel, OpenBinaryFlags grfob, String bstrEtagNotMatch, String& pEtagNew, String& pContentTagNew) at Microsoft.SharePoint.SPFile.GetFileStreamCore(OpenBinaryFlags openOptions, String etagNotMatch, String& etagNew, String& contentTagNew) at Microsoft.SharePoint.SPFile.GetFileStream(OpenBinaryFlags openOptions, String etagNotMatch, String& etagNew, String& contentTagNew) at Microsoft.SharePoint.SPFile.OpenBinaryStream() at Microsoft.SharePoint.Publishing.BlobCache.CreateFile(String tempFileName, SPFile file, BlobCacheEntry target, Int32 chunkSize) at Microsoft.SharePoint.Publishing.BlobCache.c__DisplayClass34.c__DisplayClass37.b__31() at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock) at Microsoft.Office.Server.Diagnostics.ULS.SendWatsonOnExceptionTag(UInt32 tagID, ULSCatBase categoryID, String output, Boolean fRethrowException, TryBlock tryBlock, CatchBlock catchBlock, FinallyBlock finallyBlock) at Microsoft.SharePoint.Publishing.BlobCache.c__DisplayClass34.b__30() at Microsoft.SharePoint.SPSecurity.c__DisplayClass4.b__2() at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode) at Microsoft.SharePoint.Publishing.BlobCache.FetchItemFromWss(Uri path, Boolean isHostNamedSite) at Microsoft.SharePoint.Publishing.BlobCache.RewriteUrl(Object sender, EventArgs e, Boolean preAuthenticate) at Microsoft.SharePoint.Publishing.PublishingHttpModule.AuthorizeRequestHandler(Object sender, EventArgs ea) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error) at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
Please share your thought on this .


Wednesday, June 5, 2013

cache user accounts

For FBA web application using claims, we should specifically use FBA user like 0#.f|abc|username for SuperReader and SuperUser accounts.

Choose two such accounts , preferably new one.

Visit user policy for web application  under central admin

With option all zones, give superUser Full Control and SuperReader Read rights.

Set superReader and SuperUser  fr caching by below mentioned powershell command :

$myWebApp = Get-SPWebApplication -Identity "<WebApplication>"
$myWebApp.Properties["portalsuperuseraccount"] = "<SuperUser>"
$myWebApp.Properties["portalsuperreaderaccount"] = "<SuperReader>"
$myWebApp.Update()

 

Now go for one IISRESET

when blob cache must be invalidated by framework ?

As a general rule any kind of change in file content or permissions should force the cache to be rebuilt.

When a change is observed , file is removed from indexes.




OperationEffect on BLOB Cache
Editing a file that is BLOB cachedThe cached file is removed from the cache.
Deleting a file that is BLOB cachedThe cached file is removed from the cache.
Deleting a file that is not BLOB cachedAll cached files in the list containing the file that was deleted will be removed from the cache
Deleting a folder in a listAll cached files in the list containing the folder that was deleted will be removed from the cache
Renaming or Deleting a listAll cached files that were in the list will be removed from the cache
Making any changes to a list

  • ·         Permissions

  • ·         Title, or Description

  • ·         Adding or Removing Content Types

All cached files that were in the list will be removed from the cache
Renaming or Deleting a webAll cached entries in the web are removed from the cache
Adding or removing permissions to a web, changing inheritance, adding, updating, or deleting rolesAll cached entries in the web are removed from the cache
Deleting a site collectionAll cached entries contained in the site collection are removed from the cache
Modifying User Policy on the web applicationEntire cache is abandoned, a new cache folder is started

Ref : http://technet.microsoft.com/en-us/library/ee424404(v=office.14).aspx

You may also like:

Include specific folder content in BlobCache SharePoint


System.UnauthorizedAccessException to BlobCache Folder


Getting multiple hits to files after enabling BLOB cache

Getting multiple hits to files after enabling BLOB cache

SharePoint Blob Cache is capable of responding to partial content requests.
For large file size client application like media player can decide to send partial requests to server(you ca see requests with status code 206 in IIS logs). SharePoint Server ignores partial content requests and responds to these requests with the entire file , if blob cache is disabled.

So quite possible you get these multiple requests for large files , which were earlier being sent to browser in single request, but since now you have blob cache support , they are divided in to chunk requests.

You may also like:

Include specific folder content in BlobCache SharePoint


System.UnauthorizedAccessException to BlobCache Folder

Tuesday, June 4, 2013

System.UnauthorizedAccessException to BlobCache Folder

This is a common scenario that we use blobcache in multiple application hosted under same server, but they are running under different app pool /app pool accounts.

This can even make your server slow or stop responding with access denied message for blob cache folder.

Here are few work arounds you can go for :

  1. For each web app , use new root folder in drive.

  2. Give WSS_WPG full access on all these folders.

  3. Use same app pool account for all web applications using blobcache.

References:

http://technet.microsoft.com/en-us/library/cc263445.aspx

http://support.microsoft.com/kb/2015895

You may also like:

Include specific folder content in BlobCache SharePoint


Getting multiple hits to files after enabling BLOB cache



Sunday, June 2, 2013

Query : Not able to open central Admin

On every page in central admin I getting below mentioned error :

System.InvalidOperationException: Post cache substitution is not compatible with modules in the IIS integrated pipeline that modify the response buffers. Either a native module in the pipeline has modified an HTTP_DATA_CHUNK structure associated with a managed post cache substitution callback, or a managed filter has modified the response. at System.Web.HttpWriter.GetIntegratedSnapshot(Boolean& hasSubstBlocks, IIS7WorkerRequest wr) at System.Web.HttpResponse.GetSnapshot() at System.Web.Caching.OutputCacheModule.OnLeave(Object source, EventArgs eventArgs) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
And

Error initializing Safe control - Assembly:Microsoft.Office.SharePoint.ClientExtensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c TypeName: Microsoft.Office.SharePoint.ClientExtensions.Publishing.TakeListOfflineRibbonControl Error: Could not load type 'Microsoft.Office.SharePoint.ClientExtensions.Publishing.TakeListOfflineRibbonControl' from assembly 'Microsoft.Office.SharePoint.ClientExtensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'.

What could be the possible reason behind this ?

You may also like:

MOSS 2007 Troubleshooting Guide


Monitor traffic b/w SQL server and front end

Friday, May 31, 2013

Include specific folder content in BlobCache SharePoint

It is quite possible that you instruct blob cache framework to include only specific SP document Libraries . ( I have mentioned it as document libraries , as you must be aware it does not work well with custom folders created using designer etc)

Suppose I have few heavy .jpeg  and .dhx  in a spdocumentLibrary called  HeavyContent .

I want to cache all .pdf , .doc ,.docx ,.flv,.f4v ,.swf  in my web application , but  .jpeg and .dhx   are the one only from spdoc lib "HeavyContent"

Search for a tag similar to below mentioned  in web.config and edit the path parameter.  :

<BlobCache location="C:\myBlob\Public" path="(\.(doc|docx|pdf|swf|flv|f4v)$|HeavyContent.*\.(dhx|jpeg)$)" maxSize="10" max-age="86400" enabled="true" />

This will mark items as specified by path parameter regex  for 24 hrs , to be cached.

\.(doc|docx|pdf|swf|flv|f4v)$    <---->  everything which ends with extension mentioned

|                                            <---->   or

HeavyContent.*\.(dhx|jpeg)$ <----> content inside HeavyContent ending with dhx or jpeg



Disclaimer : I am not sure how performance will be affected by making path parameter complex.


Mime Types with BlobCache

Now suppose your IIS does not support some mime types like dhx and f4v.  You have two options :

Option 1 : add mime type at server level in IIS.

Option 2 : use    browserFileHandling = "Nosniff"  in the webconfig section discussed above.  [ Ref : http://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx ]
How to  Flushing the BLOB cache



  1. IISRESET [Recommended : Increase the startup and shutdown time limits on the web application to accommodate the extra time it takes to initialize or serialize the cache index for very large BLOB caches]

  2. Powershell :



Write-Host -ForegroundColor White ” – Enabling SP PowerShell cmdlets…”
If ((Get-PsSnapin |?{$_.Name -eq “Microsoft.SharePoint.PowerShell”})-eq $null)
{
$PSSnapin = Add-PsSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue | Out-Null
}


$webAppall = Get-SPWebApplication
foreach ($_.URL in $webAppall) {
$webApp = Get-SPWebApplication $_.URL
[Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($webApp)
Write-Host “Flushed the BLOB cache for:” $_.URL
}
3. change enable to false in web.config , change location parameter , set enable to true


You may also like: