Вопрос

В работе приложения bpm'online возникла ошибка. Приносим извинения за неудобства.

Добрый день!

 

Работаю в файловом режиме.

После неловких моих движений стала появляться следующая ошибка:

Exception Message: Операция является недопустимой из-за текущего состояния объекта. Exception Type: Terrasoft.Common.TopologicalSorterLoopsException`1[Terrasoft.Core.Packages.Package] Exception Source: Terrasoft.Common Exception Stack Trace: в Terrasoft.Common.ListGraphNodeUtilities.OrderByTopology[T](IList`1 source) в Terrasoft.Core.Packages.WorkspaceUtilities.GetTopologyPackagePositions(UserConnection userConnection, Guid workspaceId) в Terrasoft.Core.SchemaManager`1.GetTopologyPackagePositions(Guid workspaceId) в Terrasoft.Core.SchemaManager`1.InitializeItems(Guid itemUId) в Terrasoft.Core.Entities.EntitySchemaManager.InitializeItems(Guid itemUId) в Terrasoft.Core.SchemaManager`1.InitializeItems() в Terrasoft.Core.Entities.EntitySchemaManager.Initialize(SchemaManagerProvider provider, SchemaManagerProviderConfigurationElement configuration) в Terrasoft.Core.SchemaManagerProvider.InitializeSchemaManager(String managerName) в Terrasoft.Core.SchemaManagerProvider.GetManager(String managerName) в Terrasoft.Core.UserConnection.GetSchemaManager(String schemaManagerName) в Terrasoft.Core.UserConnection.get_EntitySchemaManager() в Terrasoft.Core.DB.DBSecurityEngine.FindEntitySchemaNameByUId(Guid entitySchemaUId) в Terrasoft.Core.DB.DBSecurityEngine.GetEntitySchemaOperationsRightLevels(String schemaName) в Terrasoft.Core.DB.DBSecurityEngine.GetEntitySchemaOperationsRightLevel(String schemaName) в Terrasoft.Core.DB.DBSecurityEngine.GetIsEntitySchemaDeletingAllowed(String schemaName) в Terrasoft.WebApp.WorkspaceExplorerModule.CheckRights() в Terrasoft.WebApp.WorkspaceExplorerModule.Page_Load(Object sender, EventArgs e) в System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) в System.Web.UI.Control.OnLoad(EventArgs e) в System.Web.UI.Control.LoadRecursive() в System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Остановил приложение, затем пул приложений, очистил базу Redis. Запустил все обратно - ошибка не исчезла. Перезапустил службу IIS, то же не помогло. Восстановил резервную копию, так же не помогло. (попробую еще раз)

Служба технической поддержки не оказывает помощь по данному вопросу.

Подскажите, пожалуйста, может кто то сталкивался с этим, в чем может быть причина, что нужно исправить. Спасибо заранее.

Нравится

3 комментария

Во второй раз восстановил базу из другой резервной копии. Вышло сообщение о том что рабочее пространство Default не инициализировано. Скомпилировал приложение, пока все работает. 

Такое может быть, если зациклились зависимости пакетов. В следующий раз, если такое возникнет, можно не разворачивать бекап, а удалить или изменить запись в SysPackageDependency. Какую именно, можно будет понять, проанализировав недавно изменявшиеся пакеты запросом вроде этого:

select spd.syspackageid, sp.name, spd.dependonpackageid, sp2.name, spd2.dependonpackageid, sp3.name from SysPackageDependency spd 
inner join syspackage sp on sp.id = spd.syspackageid 
inner join syspackage sp2 on sp2.id = spd.dependonpackageid
inner join SysPackageDependency spd2 on spd2.syspackageid = spd.dependonpackageid
inner join syspackage sp3 on sp3.id = spd2.dependonpackageid where sp.name = 'название менявшегося пакета'

 

Спасибо, Александр, за поддержку! Да, я заметил по логам что компиляция стала уходить в цикл. Решил посмотреть логи продуктовой базы (июнь 2018), нашел там похожее сообщение о том что есть зацикленность в пакетах и успокоился на этом. Но ваш пост пролил свет на путь решения проблемы, буду разбираться дальше.

Показать все комментарии