Build of SD package is in error.
Following errors appear in TRC_USD_TASKMAN :
041120-16:10:58.2455308L|003248|00003f90|TaskMan |TM:00 |AAORDEXE.CXX |004128|NOTIFY | Container building:All ATMs [11/4/2020 04:09:10 PM],uuid:[7D2D958B-CB05-48F8-8B6C-F594324D1CF7].
041120-16:10:58.2456174L|003248|00003f90|TaskMan |TM:00 |AAORDEXE.CXX |004135|NOTIFY | Container build begin:All ATMs [11/4/2020 04:09:10 PM],uuid:[7D2D958B-CB05-48F8-8B6C-F594324D1CF7].
041120-16:11:13.5639918L|003248|00003f90|TaskMan |TM:00 |XEXHAND.CXX |000639|NOTIFY | ##EXCEPTION## VersionError T@:ps\collection.cxx:333.
041120-16:11:13.5640114L|003248|00003f90|TaskMan |TM:00 |XEXHAND.CXX |000641|NOTIFY | ##EXCEPTION## VersionError(not unique): Table usd_applic, ObjectId FDB35409-0C88-4B4A-B4A6-5442CBF730A4, Comment: insertSorted.
041120-16:11:13.5643055L|003248|00003f90|TaskMan |TM:00 |XEXHAND.CXX |000677|NOTIFY | ##EXCEPTION## VersionError C@:FoldJob\jobcont.cxx:7340.
041120-16:11:13.5643778L|003248|00003f90|TaskMan |TM:00 |XEXHAND.CXX |000639|NOTIFY | ##EXCEPTION## VersionError T@:FoldJob\jobcont.cxx:7343.
041120-16:11:13.5643992L|003248|00003f90|TaskMan |TM:00 |XEXHAND.CXX |000641|NOTIFY | ##EXCEPTION## VersionError(not unique): Table usd_applic, ObjectId FDB35409-0C88-4B4A-B4A6-5442CBF730A4, Comment: insertSorted.
041120-16:11:13.6106964L|003248|00003f90|TaskMan |TM:00 |XEXHAND.CXX |000677|NOTIFY | ##EXCEPTION## VersionError C@:FoldJob\jobcont.cxx:7386.
041120-16:11:29.8824331L|003248|00003f90|TaskMan |TM:00 |XEXHAND.CXX |000639|NOTIFY | ##EXCEPTION## VersionError T@:ps\collection.cxx:333.
041120-16:11:45.9019691L|003248|00003f90|TaskMan |TM:00 |AAORDEXE.CXX |004170|ERROR | AAOrderExecutor::runActivationProc error building container
041120-16:11:45.9749309L|003248|00003f90|TaskMan |TM:00 |AAORDEXE.CXX |005810|NOTIFY | Container failed:All ATMs [11/4/2020 04:09:10 PM],uuid:[7D2D958B-CB05-48F8-8B6C-F594324D1CF7].
In Windows Event Viewer Application following error appears :
Job Container All ATMs [11/4/2020 04:09:10 PM] failed ca://usd/system - exception: name= VersionError comment= insertSorted location= T@:ps\collection.cxx:333 C@:FoldJob\jobcont.cxx:7340 T@:FoldJob\jobcont.cxx:7343 C@:FoldJob\jobcont.cxx:7386
Job Container All ATMs [11/4/2020 04:09:10 PM] computer job build failed. ca://usd/system
Client Automation All Versions
SELECT
h.host_name,
R.itemname 'Package Name', r.itemversion 'Package Version',
P1.itemname 'Procedure Name1',
A1.status,
dateadd(ss, A1.completiontime+ datediff(ss,getutcdate(),getdate()), convert(datetime,'19700101')) [Install Time1]
FROM usd_applic A1, usd_actproc P1, usd_rsw r, ca_discovered_hardware h
WHERE A1.actproc=P1.objectid and P1.itemname='* Find SW' and r.objectid=P1.rsw and h.dis_hw_uuid=A1.target
and exists (select * from usd_actproc P2 where P2.rsw=P1.rsw and P1.objectid<>P2.objectid and P2.task=0 and P2.itemname<>'delivery proc')
ORDER BY host_name, 2, 3
select
h.host_name,
R.itemname 'Package Name', r.itemversion 'Package Version',
P1.itemname 'Procedure Name1',
A1.status,
dateadd(ss, A1.completiontime+ datediff(ss,getutcdate(),getdate()), convert(datetime,'19700101')) [Install Time1],
P2.itemname 'Procedure Name2',
A2.status,
dateadd(ss, A2.completiontime+ datediff(ss,getutcdate(),getdate()), convert(datetime,'19700101')) [Install Time2]
from usd_applic A1, usd_actproc P1, usd_applic A2, usd_actproc P2, usd_rsw r, ca_discovered_hardware h
where A1.actproc=P1.objectid and P1.itemname='* Find SW' and A2.target=A1.target and A1.objectid<>A2.objectid and A2.actproc=P2.objectid and r.objectid=P1.rsw and r.objectid=P2.rsw
and P2.itemname<>'delivery proc' and h.dis_hw_uuid=A1.target and P2.task=0 and A1.uninstallstate=0 and A2.uninstallstate=0 and A2.status=9
order by 1,2
Solution for Cause 1 :
Execute these SQL Queries (in a single block) to replace "*Find SW" by an install procedure of the package :
DECLARE @date_time VARCHAR(50), @sql VARCHAR(255)
SET @date_time=convert(varchar(255),GETDATE(),121)
SET @date_time=REPLACE(@date_time,' ','___')
SET @date_time=REPLACE(@date_time,'-','_')
SET @date_time=REPLACE(@date_time,':','_')
SET @date_time=LEFT(@date_time,LEN(@date_time)-4)
IF OBJECT_ID ('tempdb.dbo.#TMP','U') IS NOT NULL DROP TABLE #TMP
IF OBJECT_ID ('tempdb.dbo.#TMP2','U') IS NOT NULL DROP TABLE #TMP2
SELECT A.objectid 'Detect', B.objectid 'Install', (B.opmask & 4096)/4096 'Default_Proc'
INTO #tmp
FROM usd_actproc A, usd_actproc B
WHERE A.itemname='* Find SW' and A.type=3 and A.task=0 and
A.rsw=B.rsw and A.objectid<>B.objectid and B.task=0 and B.itemname<>'delivery proc'
DELETE #TMP FROM #TMP T1 WHERE T1.Default_Proc=0 and exists (select * from #TMP T2 WHERE T2.Default_Proc=1 and T1.Detect=T2.Detect)
SELECT TOP 1 * INTO #TMP2 FROM #TMP WHERE Detect in (SELECT Detect FROM #TMP GROUP BY Detect HAVING COUNT(*)>1)
DELETE #TMP FROM #TMP T1
WHERE T1.Detect IN (SELECT T2.Detect FROM #TMP2 T2) AND T1.install not in (SELECT T2.Install FROM #TMP2 T2)
SET @sql='SELECT * INTO usd_applic_BACKUP_FINDSW_'+@date_time+' FROM usd_applic A, #TMP T WHERE A.actproc=T.Detect'
Exec(@sql)
PRINT 'Backup Table usd_applic_BACKUP_FINDSW_'+@date_time+ ' created'
UPDATE usd_applic
SET actproc=T.install
FROM usd_applic A, #TMP T
WHERE A.actproc=T.Detect
A table usd_applic_BACKUP_FINDSW_<datetime> (ex: usd_applic_BACKUP_FINDSW_2021_03_01___12_14_26) is created. In case of problem values could be restored with this SQL Query :
UPDATE usd_applic
SET actproc=B.actproc
FROM usd_applic A, usd_applic_BACKUP_FINDSW_<datetime> B
WHERE A.objectid=B.objectid
Replace usd_applic_BACKUP_FINDSW_<datetime> by backup tablename created by previous block of queries.
Solution for Cause 2 :
Execute following SQL Query in Microsoft SQL Server Management Studio :
select
h.host_name,
R.itemname 'Package Name', r.itemversion 'Package Version',
P1.itemname 'Procedure Name1',
A1.status,
dateadd(ss, A1.completiontime+ datediff(ss,getutcdate(),getdate()), convert(datetime,'19700101')) [Install Time1],
P2.itemname 'Procedure Name2',
A2.status,
dateadd(ss, A2.completiontime+ datediff(ss,getutcdate(),getdate()), convert(datetime,'19700101')) [Install Time2]
from usd_applic A1, usd_actproc P1, usd_applic A2, usd_actproc P2, usd_rsw r, ca_discovered_hardware h
where A1.actproc=P1.objectid and P1.itemname='* Find SW' and A2.target=A1.target and A1.objectid<>A2.objectid and A2.actproc=P2.objectid and r.objectid=P1.rsw and r.objectid=P2.rsw
and P2.itemname<>'delivery proc' and h.dis_hw_uuid=A1.target
And delete the SD jobs for the machines returned by this query.
Example :
In this example delete the SD jobs for package "ECHO_TEST_FILE.TXT 2.00" procedure "* Find SW" and "install"
under Software Jobs and "Installed Packages"