Tag Archives: workaround

Distributed Cache Status Down, CacheHostInfo is null

This problem troubled me for like 2 days consecutively while i have to stay in the data center (with the crazily cool air-con) to troubleshoot, its kinda driving me crazy.

I have two (2) SharePoint 2013 app servers to be running Distributed Cache services. Each to be allocated with 8 GB RAM. When i setup one of the Distributed Cache server (running alone), it was fine. The issue came when i tried to start the other SharePoint App server (within the same SharePoint farm) to run the Distributed Cache service, the App Fabric Caching Services stuck at “Starting” status for about 5 mins+  Subsequently, error thrown to System Log file saying the service terminated unexpectedly.

I Followed Technet guide and it doesn’t work.

Tried to “Remove-SPDistributedCacheServiceInstance”, it loaded for a long long time then thrown “net.tcp://<servername>/” times out.

In the Central Admin > Manage Services on server. Selected the Not-working app server. I found the Distributed Cache service is not started. Click on the “Start” link, it threw “Cachehostinfo is null” friendly message…

Tried Get-SPServiceInstance to get the broken distributed cache instance, deleted and rerun “Add-SPDistributedCacheServiceInstance”, it loaded, again for a lon glong time.


Add-CacheHost -ProviderType "SPDistributedCacheProvider -ConnectionString "Data Source=<SPSQL ALIAS>;Initial Catalog=Config;Integrated Security=True;Enlist=False"

Still no help.

After checking the window System Log file, i noticed this error was thrown somewhen during the process.

Event ID 4
The kerberos client received a KRB_AP_ERR_MODIFIED error from the server &lt;My Broken Server Name&gt;. 
The target name used was &lt;My Service Account&gt;. This indicates that the password used to encrypt the kerberos 
service ticket is different than that on the target server.

Fishy enough.

If you are having this problem, you can consider the following step

My Resolution

  1. Check Network Connection for both your SharePoint servers that are running the Distributed Cache.
  2. Go to the Properties of the connection
  3. Double click “Internet Protocol Version 4 (TCP/IPv4)
  4. Ensure both servers are using SAME and WORKING DNS Servers. Reason why is that my servers were having two Domain Controllers (one for backup replication purposes). For some reason, the DCs cannot talk to each other.
  5. Remove the Alternate DNS Server as for now.
  6. Try to Remove-SPDistributedCacheServiceInstance and Add-SPDistributedCacheServiceInstance for the non-working app server.

Hope it solves your problem =)

How to find your SharePoint Farm Account

Surprisingly, if you are new to SharePoint, you may be confused by the fancy terminology such as, SharePoint Setup Account, SharePoint Database Access Account, SharePoint Central App Pool account bla bla..

In usual case (if you did follow Technet properly), your SharePoint Farm Account would be the same as y our SharePoint Database Access Account.

So how do you know which account you have setup as SharePoint Farm Account (though it may sound silly to ask your self this question)? or maybe to check on other’s existing SharePoint farm? You can try the following

Approach 1

  1. Go to your SharePoint Central Administration (CA) page. (or you may fire up a CMD run with Administrator and execute the following)
    "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\BIN\psconfigui.exe" -cmd showcentraladmin
  2. Go to “Security” > “Configure Service Accounts”. (or you may directly hit the relative path from your CA ‘/_admin/FarmCredentialManagement.aspx’)
  3. In the Drop Down list, select Farm Account
  4. Your SharePoint Farm Account will be shown. In my case, it is “SP2013\spfarm”

How to find my SharePoint Farm Account

Approach 2

  1. Go to “Services”. (or fire up Run – [Windows + R] key and enter “services.msc”)
  2. Look up to “SharePoint Timer Services” and check the value in “Log on as” column.
  3. The account running SharePoint Timer Services is always the SharePoint Farm Account.

Approach 3

(if only you have access to the Active Directory)

  1. Go to “Active Directory Users and Computers”. (or you may fire up Run – [Windows + R] key and enter “dsa.msc”)
  2. Navigate to Your Domain  > Users
  3. Double click on “WSS_ADMIN_WPG” group.
  4. Click on “Members” tab
  5. If you setup the Farm base on Technet guide, you shall see 2 accounts added into this group. One of them is SharePoint Setup Account and another one should be the SharePoint Farm Account.

How to find your SharePoint Farm Account

SharePoint – Personalize Web Part Drag and Drop – 2 Page loads

SharePoint – Personalisation

Personalize This Page

This feature requires user to have customisable permissions (Includes all permissions in SharePoint default READ permission Level)

  • Manage Personal Views
  • Add/Remove Private Web Parts
  • Update Personal Web Parts
  • Add and Customize Page
  • Browse Directories.

By design, User can add/edit/delete/close web part from a SharePoint Page. The different between Delete and Close web part is that Delete allows user to remove whatever web parts that were added by the user. Close is to hide Web Parts that were pre-added by the System Account (or User with higher rights) in the Shared View.

SharePoint Page comes with 2 different views, namely, Shared View and Personal View. Shared View is the default view  that setup by the Page Owner. All web parts by default will be seen by all users unless otherwise Closed by the user. Normal User can’t delete a web part from Shared View.

There is a small design flaw in SharePoint Drag and Drop feature. By design, if you drag a web part from one web part zone to another, the changes can be reflected in the client side. However, refreshing the page doesn’t immediately update the page view. You have to refresh the current page twice in order for the changes to be reflected in your page view.

The recommended way of prevent this Two page refresh update issue is to making use of the “Stop Editing” button on the Ribbon panel. For some reason if you use custom Page Layout. The Stop Editing button will not be displayed in the ribbon tap. With this, you need to include a button (in Edit Mode) to allow use to submit the web part changes after dragging and dropping the web parts.

The button simply have to make a javascript call “javascript:MSOLayout_ToggleLayoutMode()“. This javascript mimics the “Stop Editing” button’s function.