Not able to re-sync offerings
After truncate the tables LastModified, ServiceOffering and RequestOffering I restart CacheBuilder and wait 1h that the offerings appears again, but they aren't. I set the CachBuilder Log Level to "ALL". But the last entry is from yesterday:
2021-06-29 14:36:22,637, ERROR [ 19]: SQL Error:
System.Data.SqlClient.SqlException (0x80131904): Das Schema wurde nach dem Erstellen der Zieltabelle geändert. Führen Sie die SELECT INTO-Abfrage erneut aus.
For the issue above I found the reference https://support.cireson.com/KnowledgeBase/View/2493#!/ . But I don't know how to "Ensure that only one instance of the CacheBuilder (Windows service and\or command line) is running in a single environment".
Then I checked the PlatformLog where a issue is logged that says "...converting a varchar to datetime...", but couldn't find any reference, how to solve it
Main Critical 2021-06-30T12:03:16.8408543+02:00: Encountered exception while processing soft deletes for Cached_MT_System_WorkItem_ServiceRequest cacheableItems. Main Exception 2021-06-30T12:03:16.8408543+02:00: HResult: -2146232060, Source: .Net SqlClient Data Provider, Message: Bei der Konvertierung eines varchar-Datentyps in einen datetime-Datentyp liegt der Wert außerhalb des gültigen Bereichs., InnerException: , StackTrace bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) bei System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows) bei System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more) bei System.Data.SqlClient.SqlDataReader.Read() bei PlatformCache.Data.Services.Implementations.Database.<ReadFromParameterizedSql>d__5`1.MoveNext() in D:\a\1\s\Cireson.WebConsole\PlatformCache.Data\Services\Implementations\Database.cs:Zeile 73. bei System.Linq.Enumerable.<DistinctIterator>d__64`1.MoveNext() bei System.Collections.Generic.HashSet`1.UnionWith(IEnumerable`1 other) bei System.Collections.Generic.HashSet`1..ctor(IEnumerable`1 collection, IEqualityComparer`1 comparer) bei PlatformCache.Data.Models.RuntimeCache.RuntimeCacheUtil`1.<ProcessSoftDeletes>d__10.MoveNext() in D:\a\1\s\Cireson.WebConsole\PlatformCache.Data\Models\RuntimeCache\RuntimeCacheUtil.cs:Zeile 130. --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) bei PlatformCache.Data.Services.Implementations.CacheableItemSyncService.<ProcessSoftDeletes>d__8.MoveNext() in D:\a\1\s\Cireson.WebConsole\PlatformCache.Data\Services\Implementations\CacheableItemSyncService.cs:Zeile 98. --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) bei PlatformCache.Data.Services.Implementations.CacheableItemSyncService.<UpdateCacheableItems>d__6.MoveNext() in D:\a\1\s\Cireson.WebConsole\PlatformCache.Data\Services\Implementations\CacheableItemSyncService.cs:Zeile 71., TargetSite: Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action]) Main Exception 2021-06-30T12:03:52.1060488+02:00: HResult: -2146232060, Source: .Net SqlClient Data Provider, Message: Das Ausführungstimeout ist abgelaufen. Der Timeoutzeitraum wurde überschritten, bevor der Vorgang beendet wurde, oder der Server antwortet nicht., InnerException: System.ComponentModel.Win32Exception (0x80004005): Der Wartevorgang wurde abgebrochen, StackTrace bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) bei System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error) bei System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync() bei System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket() bei System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer() bei System.Data.SqlClient.TdsParserStateObject.TryReadByte(Byte& value) bei System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) bei System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery() bei System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed) bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.NonQuery(DbCommand command, DbCommandInterceptionContext interceptionContext) bei System.Data.Entity.Core.Objects.ObjectContext.ExecuteStoreCommandInternal(String commandText, Object[] parameters) bei System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) bei System.Data.Entity.Core.Objects.ObjectContext.<>c__DisplayClass59.<ExecuteStoreCommand>b__57() bei System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation) bei PlatformCache.Data.Models.RuntimeCache.CacheManagementService.<Process>d__12.MoveNext() in D:\a\1\s\Cireson.WebConsole\PlatformCache.Data\Models\RuntimeCache\CacheManagementService.cs:Zeile 125., TargetSite: Void OnError(System.Data.SqlClient.SqlException, Boolean, System.Action`1[System.Action])
Best Answer
-
Steffen_Dobritz Member IT Monkey ✭
Got help from Cireson-Support. The re-sync of CacheBuilder service worked as usal after setting the scope of CIs to "ALL" for those scsm-user-roles which are end user in the portal. And the PlatformLog error get solved by setup SSL for Cireson Platform
0
Answers
Hi @Steffen_Dobritz
This question is probably a bit out of my league but I'll take a shot at it. (If you do have Cireson support you should probably submit a incident for this at support.cireson.com).
First off "Ensure that only one instance of the CacheBuilder (Windows service and\or command line) is running in a single environment" means that there should only be one computer anywhere in your environment that is running the CacheBuilder service. So if you have more than one web server hosting the portal you need to uncheck the option to install the CacheBuilder on all but one of them.
I have had problems restarting the CacheBuilder service myself and sometimes just have to go into task manager and kill the process and restart the service.
In regards to changing the logging level, there are two very similarly named files "Cireson.CacheBuilder.Service.exe.config" and "Cireson.CacheBuilder.WindowsService.exe.config" you have to update the latter one (with WindowsService in the name) in order for the changes to take affect.
In regards to changing the logging level, there are two very similarly named files "Cireson.CacheBuilder.Service.exe.config" and "Cireson.CacheBuilder.WindowsService.exe.config" you have to update the latter one (with WindowsService in the name) in order for the changes to take affect.
You are right, thx :)
one computer anywhere in your environment that is running the CacheBuilder service. So if you have more than one web server hosting the portal
I don't have
Did changing the logging level get you any more information about what is going on @Steffen_Dobritz?
You can also run a query to see when the various parts of the cache are being synced. It could be that your offerings are being synced but there is some other issue keeping them from showing. (Run the query against the ServiceManagement db)
Is it possible to define the sync time? And is it compareable to the restart of the cireson Cache-Bulider?
Yes, the Platform Sync time can be controlled in the portal.
http://portalURL/Settings/Admin/DynamicDataConfiguration
Got help from Cireson-Support. The re-sync of CacheBuilder service worked as usal after setting the scope of CIs to "ALL" for those scsm-user-roles which are end user in the portal. And the PlatformLog error get solved by setup SSL for Cireson Platform