I have this project on Sitecore 8.1 and it works quite ok. Recently I had to migrate it to an other server. I restored the databases on a new server, I've copied the website folder, and started on the new server.
All is good, except one thing: when I delete an item the client freezes.
I have a log line like this
23144 10:52:39 INFO AUDIT (sitecore\admin): Recycle item:
master:/sitecore/content/Home/myfolder/myitem
After I shutdown the website an error appears in the log:
22592 11:07:07 ERROR Error while deleting items Exception:
System.Threading.ThreadAbortException Message: Thread was being
aborted. Source: mscorlib at System.Threading.Monitor.Enter(Object
obj) at Sitecore.Configuration.Factory.CreateObject(String
configPath, String[] parameters, Boolean assert) at
Sitecore.Search.SearchManager.get_SearchConfiguration() at
Sitecore.Data.Managers.IndexingManager.UpdateIndexAsync(Database
database) at Sitecore.MainUtil.RaiseEvent[T](EventHandler1
subscribers, Object sender, T eventArgs) at
Sitecore.Data.Engines.HistoryEngine.RegisterItemDeleted(Item item, ID
oldParentId) at System.EventHandler1.Invoke(Object sender,
TEventArgs e) at
Sitecore.Data.Engines.EngineCommand2.RaiseEvent[TArgs](EventHandler1
handlers, Func2 argsCreator) at
Sitecore.Data.Archiving.SqlArchive.DoArchiveItems(IEnumerable`1 items,
ID archivalId) at
Sitecore.Data.DataProviders.NullRetryer.Execute[T](Func1 action,
Action recover) at
Sitecore.Data.Archiving.SqlArchive.ArchiveItem(Item item) at
Sitecore.Data.Items.Item.Recycle() at
Sitecore.Shell.Framework.Pipelines.DeleteItems.Delete(List1 items)
at
Sitecore.Shell.Framework.Pipelines.DeleteItems.Execute(ClientPipelineArgs
args)
I'm not sure if this is related to the client freeze or is just because I shut down the app before deletion ended.
Do any of you have any idea why the client freezes?
Check the permissions of the indexes folder (security for your application's user). Probably the user will not be able to write to the folder.
You can compare the security settings with those on your log folder as that seems to work fine.
Might be a good idea to rebuild indexes to make sure you have all updates.
Related
I have setup a new development machine on Windows 10 with VS2017 and Sitecore 8.2 rev 170728 and am experiencing issues with TDS.
The TDS projects load, the Sitecore connector installs and I can see the _DEV folder and related files in the website folder but when I try and synchronise or perform the test from the TDS project properties I get a 503 error.
Exception The HTTP service located at http://sitecore/_DEV/TdsService.asmx is unavailable. This could be because the service is too busy or because no endpoint was found listening at the specified address. Please ensure that the address is correct and try accessing the service again later. (ServerTooBusyException):
Server stack trace:
at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at HedgehogDevelopment.SitecoreProject.VSIP.SitecoreConnector.TdsServiceSoap.Version(VersionRequest request)
at HedgehogDevelopment.SitecoreProject.VSIP.SitecoreConnector.TdsServiceSoapClient.HedgehogDevelopment.SitecoreProject.VSIP.SitecoreConnector.TdsServiceSoap.Version(VersionRequest request)
at HedgehogDevelopment.SitecoreProject.VSIP.SitecoreConnector.TdsServiceSoapClient.Version()
at HedgehogDevelopment.SitecoreProject.VSIP.Utils.Support.CheckClientVersion(TdsServiceSoapClient client, SitecoreProjectNode project, Boolean retry)
Inner Exception Details:
Exception The remote server returned an error: (503) Server Unavailable. (WebException):
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
Exception An error occured getting the TDS service version. Please review the Sitecore logs and/or windows events on the server to determine the problem. (ApplicationException):
at HedgehogDevelopment.SitecoreProject.VSIP.Utils.Support.GetTdsServiceSoapClient(String sitecoreWebUrl, String sitecoreAccessGuid, SitecoreProjectNode project, Boolean checkVersion)
at HedgehogDevelopment.SitecoreProject.VSIP.Utils.Support.GetTdsServiceSoapClient(SitecoreProjectNode project, Boolean checkVersion)
at HedgehogDevelopment.SitecoreProject.VSIP.ToolWindows.SyncWithSitecoreToolWindow.SyncItemsWithSitecore(SitecoreProjectNode project, SitecoreItemNode syncRoot, Boolean sycnChildren)
at HedgehogDevelopment.SitecoreProject.VSIP.SitecoreProjectPackage.ShowSitecoreSyncWindow(SitecoreProjectNode project, SitecoreItemNode selectedItem, Boolean syncChildren)
Everything is set correctly and the website is definitely up and running.
When I access the TdsService.asmx page directly I get an error trying to verify the version number
System.Web.Services.Protocols.SoapException: Service is Locked ---> HedgehogDevelopment.Padlock.PadlockException: Service is Locked
at HedgehogDevelopment.Padlock.Locking.CheckLock()
at HedgehogDevelopment.SitecoreProject.Service.TdsService.Version()
--- End of inner exception stack trace ---
at HedgehogDevelopment.SitecoreProject.Service.TdsService.Version()
I have tried uninstalling and reinstalling the Sitecore connector, even tried different versions of TDS, different VS projects and even pointing TDS at a clean Sitecore installation.
I am not seeing any information in windows event logs, IIS logs or the Sitecore logs related to this error.
I have granted full control access to the website folder, the folder the code is in and the inetpub folder.
I'm building a web farm environment for an ecommerce package. The package runs on .NET + AWS.
The package gives the ability to store session state in Redis Cache. The problem is that when I use Amazon Redis (v 2.82 I think) I get connectivity exceptions when trying to use the cache. No such issues on Azure.
the only difference that I see between the configs is that azure requires password whereas AWS does not.
System.NullReferenceException: Object reference not set to an instance of an object.
at StackExchange.Redis.ServerEndPoint.get_LastException()
at StackExchange.Redis.ExceptionFactory.GetServerSnapshotInnerExceptions(ServerEndPoint[] serverSnapshot)
at StackExchange.Redis.ExceptionFactory.NoConnectionAvailable(Boolean includeDetail, RedisCommand command, Message message, ServerEndPoint server, ServerEndPoint[] serverSnapshot)
at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message, ResultProcessor`1 processor, ServerEndPoint server)
at StackExchange.Redis.RedisBase.ExecuteSync[T](Message message, ResultProcessor`1 processor, ServerEndPoint server)
at StackExchange.Redis.RedisDatabase.ScriptEvaluate(String script, RedisKey[] keys, RedisValue[] values, CommandFlags flags)
at Microsoft.Web.Redis.StackExchangeClientConnection.<>c__DisplayClass4.<Eval>b__3()
at Microsoft.Web.Redis.StackExchangeClientConnection.RetryForScriptNotFound(Func`1 redisOperation)
at Microsoft.Web.Redis.StackExchangeClientConnection.RetryLogic(Func`1 redisOperation)
at Microsoft.Web.Redis.StackExchangeClientConnection.Eval(String script, String[] keyArgs, Object[] valueArgs)
at Microsoft.Web.Redis.RedisConnectionWrapper.Set(ISessionStateItemCollection data, Int32 sessionTimeout)
at Microsoft.Web.Redis.RedisSessionStateProvider.SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, Object lockId, Boolean newItem)
I am developing application and facing a problem when I use web services.
At any page which request web service, if app goes to background (by search or menu press for example) before request complete it causes an error when I retrieve the application from background again:
An error (Exception of type 'System.Net.WebException' was thrown.) occurred while transmitting data over the HTTP channel.
Any solution for this problem ?
When your application is sent to background, it is suspended, and all connections are therefore cut off. There's nothing you can do about that. Just catch the error and retry the call to the webservice.
You need to call the webservice again when the application is reactivated. One way of doing it is to maintain a bool variable flag.
set it to true when the webservice is started.
set it back to false when the response is received
in the Application_Activated event handler(App.xaml.cs) check the status of flag and call the webservice again if the flag is true.
Otherwise if you just wish to keep your webservice running under lock screen then set
PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
If your app goes to background your webrequest wont complete, You cant do anything about that. But you can prevent crash.
When you know the app is going background ( may be in onNavigatedFrom()) you detach the handler you previously attached to xxCompleted event or handle the thrown exception in handler for xxCompleted in the same way. The first solution implies you service client object must be a class member (private maybe), otherwise it wont be in scope in onNavigatedFrom(). To complete the request later you may use a marker ( bool successful, required) and in OnNavigatedTo() you can do like:
if(required && !successful)
{
// make the request again
}
still exception will be caught in the generated reference file, but the app wont crash and you'd know when you need to make the webrequest again.
I found the same problem, when I tried to fetch a sas uri and calling the PhotoChooserTask.show() simultaniously. So I had to ensure that webrequest is complete before the calling PhotoChooserTask.show().
We recently upgraded our Sitecore from 6.5 to 7.1 .
In the new version the interface for upload and selecting image has changed.
When you upload an image and try to search to select it. It says "no items found"
did anyone experience the same issue? How did you fixed it?
I installed the fresh version of Sitecore 7.1 and I don't have this problem.
I have a feeling that it should be an indexing config or building index for media library items. When you inspect the requests to Sitecore, the following url
/-/item/v1/sitecore/shell?facetsRootItemId=%7B7F43D3D0-CAC6-45D8-96FE-B76F4A117F9B%7D&search=%7B%22statusCode%22%3A500%2C%22error%22%3A%7B%22message%22%3A%22Index%20sitecore_master_index%20was%20not%20found%22%7D%7D&root=%7B3D6658D8-A0BF-4E75-B3E2-D050FABCF4E1%7D&searchConfig=%7BB0DF45DF-EA31-4C11-9E34-98B41DF549C5%7D&sc_content=master&language=en&format=%24convert_date_to_friendly_format&fields=__Created%7CDimensions&pageIndex=0&pageSize=20
returns
{"statusCode":200,"result":{"totalCount":0,"resultCount":0,"items":[],"facets":[{"Name":"Dimensions","Values":[]},{"Name":"Media Type","Values":[]},{"Name":"Updated","Values":[{"Count":0,"DisplayText":"Today","Priority":1,"Text":"Today","Value":"__smallupdateddate:[20140114 TO 20140114]"},{"Count":0,"DisplayText":"Yesterday","Priority":2,"Text":"Yesterday","Value":"__smallupdateddate:[20140113 TO 20140113]"},{"Count":0,"DisplayText":"Few days ago","Priority":3,"Text":"Few days ago","Value":"__smallupdateddate:[20140110 TO 20140112]"},{"Count":0,"DisplayText":"Last month","Priority":4,"Text":"Last month","Value":"__smallupdateddate:[20131214 TO 20140109]"},{"Count":0,"DisplayText":"Few months ago","Priority":5,"Text":"Few months ago","Value":"__smallupdateddate:[20130914 TO 20131213]"},{"Count":0,"DisplayText":"Older","Priority":6,"Text":"Older","Value":"__smallupdateddate:[00010101 TO 20130913]"}]}]}}
I checked the log and noticed when Sitecore tries to index media items it throws following exception
8328 16:37:58 ERROR Could not run the 'getMediaStream' pipeline for '/sitecore/media library/Files/Investors/Reports and Presentations/Prospectus/2009/MAp 2009 Entitlement Offer Booklet 20091014'. Original media data will be used.
Exception: System.Data.SqlClient.SqlException
Message: A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 0 - The wait operation timed out.)
Source: .Net SqlClient Data Provider
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at Sitecore.Data.SqlServer.SqlServerDataProvider.GetBlobSize(Guid blobId)
at Sitecore.Data.SqlServer.SqlServerDataProvider.GetBlobStream(Guid blobId, CallContext context)
at Sitecore.Data.DataProviders.DataProvider.GetBlobStream(Guid blobId, CallContext context, DataProviderCollection providers)
at Sitecore.Data.DataSource.GetBlobStream(Guid blobId)
at Sitecore.Nexus.Data.DataCommands.GetBlobStreamCommand.Execute(Guid ?, Database )
at Sitecore.Nexus.Data.NexusDataApi.GetBlobStream(Guid blobId, Database database)
at Sitecore.Data.Engines.DataCommands.GetBlobStreamCommand.DoExecute()
at Sitecore.Data.Engines.EngineCommand`2.Execute()
at Sitecore.Data.Engines.DataEngine.GetBlobStream(Guid blobId)
at Sitecore.Data.Managers.ItemProvider.GetBlobStream(Guid blobId, Database database)
at Sitecore.Data.Managers.ItemManager.GetBlobStream(Guid blobId, Database database)
at Sitecore.Data.Managers.ItemManager.GetBlobStream(Field field)
at Sitecore.Resources.Media.MediaData.GetBlobStream()
at Sitecore.Resources.Media.GetMediaStreamPipelineArgs.get_OutputStream()
at Sitecore.Resources.Media.ResizeProcessor.Process(GetMediaStreamPipelineArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Resources.Media.Media.GetStreamFromPipeline(MediaOptions options, Boolean& canBeCached)
Nested Exception
Exception: System.ComponentModel.Win32Exception
Sitecore got back to us with the following response. I'll keep you posted in case if you are experiencing same issue.
getMediaStream retrieves the media data (the file itself) from database. It looks like you have faced the bug that content search does not close media stream which leads to the db connections leak. This bug is fixed in Sitecore 7.0 update 3 however it is not merged into sitecore 7.1 yet.
It sounds like your content search indexes hasn't been rebuild or isn't configured correctly. Try to open the Content Editor. Right click the top ribbon and check that the developer ribbon is enabled. Go to the developer ribbon and select "rebuild all". This will rebuild the indexes.
Also make sure that the indexes are defined in configuration. Go to your App_Config/include and make sure that you have the files Sitecore.ContentSearch.config, Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config, Sitecore.ContentSearch.Lucene.Index.Core.config, Sitecore.ContentSearch.Lucene.Index.Master.config and Sitecore.ContentSearch.Lucene.Index.Web.config.
I've inherited a Sitecore project and am attempting to use TDS [Get Sitecore Items] with a new TDS project however I'm running into the following error. It's worth nothing that I get a warning before the error saying
Old Connector
---------------------------
Hedgehog Development TDS
---------------------------
Warning: The version of the sitecore connector is from an older version of TDS.
Click OK to install the latest version of the connector.
However I've even manually removed the Sitecore connector so I'm not sure why it's detecting an older version either.
Get Sitecore Items Error
---------------------------
Hedgehog Development TDS
---------------------------
Error The request channel timed out while waiting for a reply after 00:01:59.9912110. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.(TimeoutException) getting sitecore items.
Server stack trace:
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at HedgehogDevelopment.SitecoreProject.VSIP.SitecoreConnector.TdsServiceSoap.CheckAccessGuid(CheckAccessGuidRequest request)
at HedgehogDevelopment.SitecoreProject.VSIP.SitecoreConnector.TdsServiceSoapClient.HedgehogDevelopment.SitecoreProject.VSIP.SitecoreConnector.TdsServiceSoap.CheckAccessGuid(CheckAccessGuidRequest request)
at HedgehogDevelopment.SitecoreProject.VSIP.SitecoreConnector.TdsServiceSoapClient.CheckAccessGuid(String accessGuid)
at HedgehogDevelopment.SitecoreProject.VSIP.Utils.Support.GetTdsServiceSoapClient(SitecoreProjectNode project, Boolean checkVersion)
at HedgehogDevelopment.SitecoreProject.VSIP.Dialogs.GetSitecoreItems.LoadSitecoreItemsIntoTree(TreeNodeCollection nodes, String sitecoreBrowsePath, SitecoreItemNode node, Boolean isRoot, Boolean getAllChildren)
at HedgehogDevelopment.SitecoreProject.VSIP.Dialogs.GetSitecoreItems.GetSitecoreItems_Load(Object sender, EventArgs e)
It's also with nothing that while I think the error message says 1:59 minutes the error is instant and changes by a few MS on retry.
The TDS addin communicates with Sitecore via WCF. You can fiddle with the binding configuration the followering places:
Visual Studio 2010
"HedgehogDevelopment.SitecoreProject.VSIP.dll.config" and "HedgehogDevelopment.SitecoreProject.VSIP2010.dll.config" both located under "C:\Program Files (x86)\Hedgehog Development\Team Development for Sitecore (VS2010)"
Visual Studio 2012
"HedgehogDevelopment.SitecoreProject.VSIP.dll.config" and "HedgehogDevelopment.SitecoreProject.VSIP2012.dll.config" both located under "C:\Program Files (x86)\Hedgehog Development\Team Development for Sitecore (VS2012)"
I keep all of my four config files in sync where I change all timeout related values to 30 minutes and all size related values to "2147483647" (Max).
Remember to restart Visual Studio after saving the above files.
Can you browse to the Sitecore user interface? I've seen this error before when TDS can't communicate with Sitecore.
In our case, the issue was that the application pool for the site was using the 2.0 Framework instead of the 4.0 Framework.
The "Old Connector" message seems to always happen, no matter how many times I've updated my connector. I am fairly certain this is just a bug in the IDE plugin where the first time it synchronizes after Visual Studio opens it needs to make itself know that the plugin is up to date. I have no concrete data on this, but after the initial sync it stops warning me about the connector.
Regarding the timeout, you may want to verify that the TDS project configurations map up to your environment (project URL, paths, database connection strings).
If your application setup is correct, then this exception is because your SQL server service is not started.
I had the same problem. For me it was a connection issue to the database. check your TDS connection settings :).