Home Self-Service Portal - Community

Update of SCSM 2016 with the CiresonPortal

Hello,
I have a problem with the update of SCSM 2016 with the CiresonPortal, let me explain:
sometimes when I make changes to the requestoffering in SCSM the changes are not visible on the CiresonPortal even after restarting CaheBuilder and IIS, but on the SCSM 2016 integrated portal the changes are visible.
sometimes I have to reinstall the cireson portal for the changes to be visible !!!!!
thank you for helping me .
the version of CiresonPortal is 8.2.0.2016

Answers

  • Joe_BurrowsJoe_Burrows Cireson Devops Super IT Monkey ✭✭✭✭✭
    Hi Medjkane

    Check C:\inetpub\ciresonportal\bin\logs\cachebuilder.log - if their are issues with syncing the errors will show here to assist with troubleshooting.

    Regards
    Joe
  • Medjkane_SalihaMedjkane_Saliha Member IT Monkey ✭
    hello @Joe_Burrows
    i have this error: ERROR [  14]:  Unable to sync WorkItemCommand, the operation failed, but will be tried again in 55269ms. Please review the log for errors, then correct them and restart the cachebuilder service if needed.
    thanks

  • Medjkane_SalihaMedjkane_Saliha Member IT Monkey ✭
    hi @Joe_Burrows
    I communicate all the contents of the log:
    2017-12-11 13:47:45,380, ERROR [  14]:  SQL Error:
    System.Data.SqlClient.SqlException (0x80131904): Schema changed after the target table was created. Rerun the Select Into query.
       à System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       à System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
       à System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
       à System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
       à System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
       à System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
       à Cireson.ServiceManager.DAL.Database.CreateTempTable(ISqlConnectionWrapper connection, String tempTableName, String tableName, HashSet`1 columnNames)
       à Cireson.ServiceManager.DAL.Database.<UpsertAsync>d__20`1.MoveNext()
    --- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
       à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       à Cireson.CacheBuilder.Service.Commands.ScopedAccessCommand.<Incremental>d__16.MoveNext()
    --- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
       à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       à Cireson.CacheBuilder.Service.Commands.WorkItemCommand.<>c__DisplayClass7_0.<<Synchronize>b__0>d.MoveNext()
    --- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
       à System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       à Cireson.ServiceManager.DAL.Database.<Retry>d__11.MoveNext()
    ClientConnectionId :e8068b16-cef1-4b55-82cd-72a6ccabca2a
    Error Number :539,State :77,Class :16
    2017-12-11 13:47:45,510, ERROR [  14]:  Unable to sync WorkItemCommand, the operation failed, but will be tried again in 55269ms. Please review the log for errors, then correct them and restart the cachebuilder service if needed.


     thanks

  • Medjkane_SalihaMedjkane_Saliha Member IT Monkey ✭
    hi
    I was able to solve my problem thanks, I used the commands:TRUNCATE TABLE LastModified; after stop cachebuilder and restart.
    thank you for help

  • john_doylejohn_doyle Cireson Support Ninja IT Monkey ✭✭✭✭
    Hi @Medjkane_Saliha 

    I have seen errors like that when indices have been added to the scoping tables in the ServiceManagement tables (i.e.the ones which start with 'Access_').
    The problem is that these tables are truncated and repopulated by a bulk copy operation from the ServiceManager tables. If SQL notices the change and rebuilds the indices, then the bulk copy operation will fail with the error you got.
    The out-of-the-box indices are removed before the bulk copy operation and added back when the operation is complete. Any custom indices on the table will not be removed and leave you vulnerable to this sort of failure.

    If you do need to add custom indices to the scoping tables (and you can achieve significant improvement on heavily scoped databases by doing so), then you need to define the commands to add and remove the index in the appropriate stored procedure. Each scoping table has its own stored procedure, like spSchema_ToggleIndicesConstraints_Access_CI$User_WorkItem

    For example, to add a non-clustered index to the Access_CI$User_WorkItem table, you would modify the stored procedure like this:
    ALTER PROCEDURE [dbo].[spSchema_ToggleIndicesConstraints_Access_CI$User_WorkItem]<br>&nbsp;&nbsp;&nbsp; @Drop bit<br>AS<br>BEGIN<br>&nbsp;&nbsp;&nbsp; SET NOCOUNT ON;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; IF(@Drop = 1)<br>&nbsp;&nbsp;&nbsp; BEGIN<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; BEGIN TRY<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; DROP INDEX IX_Access_User_WorkItem_UserId ON Access_CI$User_WorkItem;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; END TRY BEGIN CATCH END CATCH<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; BEGIN TRY<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; DROP INDEX IX_Access_User_WorkItem ON Access_CI$User_WorkItem;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; END TRY BEGIN CATCH END CATCH<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; BEGIN TRY<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ALTER TABLE Access_CI$User_WorkItem DROP CONSTRAINT PK_Access_User_WorkItem;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; END TRY BEGIN CATCH END CATCH <br>&nbsp;&nbsp;&nbsp; END<br>&nbsp;&nbsp;&nbsp; ELSE<br>&nbsp;&nbsp;&nbsp; BEGIN<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ALTER TABLE Access_CI$User_WorkItem ADD CONSTRAINT PK_Access_User_WorkItem PRIMARY KEY CLUSTERED <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UserId ASC,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; WorkItemId ASC<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; )<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; CREATE NONCLUSTERED INDEX IX_Access_User_WorkItem ON Access_CI$User_WorkItem<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; WorkItemId ASC<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; )<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; CREATE NONCLUSTERED INDEX IX_Access_User_WorkItem_UserId ON Access_CI$User_WorkItem<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UserId ASC<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; )<br>&nbsp;&nbsp;&nbsp; END<br>END

    Now when cache builder is restarted, it will create the new index when the scoping information has been copied from the ServiceManager database.

  • Medjkane_SalihaMedjkane_Saliha Member IT Monkey ✭
    hi @john_doyle
    thank you for your request.I have run it , without problem.
    but I executed:
    TRUNCATE TABLE LastModified;
    TRUNCATE TABLE ServiceOffering;
    TRUNCATE TABLE RequestOffering;
     and restart cachebuilder, no service offer is displayed
    I restarted the website and started recycling.

    :-(   !!!!!!!

  • john_doylejohn_doyle Cireson Support Ninja IT Monkey ✭✭✭✭
    Hi @Medjkane_Saliha  It sounds like you still have not resolved the issue which is causing the cache builder service to fail. You should not have to repeatedly truncate those tables. I would recommend that you edit the file C:\inetpub\CiresonPortal\bin\Cireson.CacheBuilder.WindowsService.exe.config and change line 56 so that it reads:       <level value="ALL" />

    Save the file and restart the cache builder service. You need to watch the cachebuilder.log file for errors and warnings.



  • Medjkane_SalihaMedjkane_Saliha Member IT Monkey ✭
    hi
    i have parametre the log of cachebuilder , i haven't error , just info,debug or work
    but i haven't request offring in cireson portal.
    where is a problem ? how to force the display
    can you help me , please

Sign In or Register to comment.