Agile PLM Start up Issue Troubleshooting Jie Chen May, 2009
Agenda <ul><li>Agile Startup Tasks </li></ul><ul><li>Averify, Agile_Check and “admin.validate” Trigger </li></ul><ul><li>S...
<ul><li>Check Schema Version </li></ul><ul><li>Load Supported Languages </li></ul><ul><li>Load Lists </li></ul><ul><li>Loa...
Check Schema Version <ul><li>DB Schema Version </li></ul><ul><li>select value from propertytable where parentid=5001 and p...
Load Supported Languages <ul><li>Task:   Load all the supported languages  </li></ul><ul><li>SQL:   SELECT entryID, entryV...
Load Lists <ul><li>Task:   Load all the list values and lists in multi-languages </li></ul><ul><li>Note:   Obsolete list v...
Load Nodes&Attributes <ul><li>Task: </li></ul><ul><li>Load all attributes’ data from Propertytable </li></ul><ul><li>Load ...
Load Resources in Multi-Languages <ul><li>Task:   Load the resources from agileclasses.jar </li></ul><ul><li>Localization ...
Load Criteria/Privilege/Role <ul><li>Task: </li></ul><ul><ul><li>Load AdminMsatt table </li></ul></ul><ul><ul><li>Load App...
Others <ul><li>Load Notify Template </li></ul><ul><li>Load Server Setting </li></ul><ul><li>Start tasks’ thread (ACS, Noti...
Validate Admin Data <ul><li>Run Averify </li></ul><ul><li>Agile_Check.sql </li></ul><ul><li>Enable “admin.validate” Trigge...
“ admin.validate” Type <ul><li>Node Property Referential Integrity </li></ul><ul><li>Node Assignment Referential Integrity...
“ admin.validate” Log <ul><li>E.g: </li></ul><ul><li>09/03/13 05:50:13 Validating: Invalid Role Privilege Assignment </li>...
Scenario 1 <ul><li>Log </li></ul><ul><li>08/10/30 07:48:02 com.agile.admin.client.value.AdminException: List 911 does not ...
Scenario 2 <ul><li>Log </li></ul><ul><li>com.agile.admin.client.value.AdminException: Node 1179 does not exist in the cach...
Scenario 3 <ul><li>Log </li></ul><ul><li>08/03/31 08:17:16 java.lang.IndexOutOfBoundsException: Class Type : -1 is not a v...
Scenario 4 <ul><li>Log </li></ul><ul><li><2009-03-13 05:55:28,569> <AdminLangRes:ERROR> load lang list entry failed </li><...
Q & A
Upcoming SlideShare
Loading in …5
×

Agile PLM Startup Issue Research

3,468 views

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,468
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Agile PLM Startup Issue Research

  1. 1. Agile PLM Start up Issue Troubleshooting Jie Chen May, 2009
  2. 2. Agenda <ul><li>Agile Startup Tasks </li></ul><ul><li>Averify, Agile_Check and “admin.validate” Trigger </li></ul><ul><li>Scenario </li></ul><ul><li>Q&A </li></ul>
  3. 3. <ul><li>Check Schema Version </li></ul><ul><li>Load Supported Languages </li></ul><ul><li>Load Lists </li></ul><ul><li>Load Properties and Nodes </li></ul><ul><li>Load Resources&Entries in Multi-Languages </li></ul><ul><li>Load Roles/Privileges/Criterias </li></ul><ul><li>More… </li></ul>Agile Startup Tasks
  4. 4. Check Schema Version <ul><li>DB Schema Version </li></ul><ul><li>select value from propertytable where parentid=5001 and propertyid=37 </li></ul><ul><li>Server Schema Version </li></ul><ul><li>Hard-coded </li></ul><ul><li>Admin Data Schema Version </li></ul><ul><li>select value from propertytable where parentid=5001 and propertyid=726 </li></ul><ul><li>Admin Server Schema Version </li></ul><ul><li>Hard-coded </li></ul>Compare Compare
  5. 5. Load Supported Languages <ul><li>Task: Load all the supported languages </li></ul><ul><li>SQL: SELECT entryID, entryValue FROM listentry WHERE parentid=4462 ORDER BY entryID; </li></ul><ul><li>Example result: </li></ul><ul><ul><ul><li>0 en_US </li></ul></ul></ul><ul><ul><ul><li>1 ja_JP </li></ul></ul></ul><ul><ul><ul><li>2 zh_TW </li></ul></ul></ul><ul><ul><ul><li>3 fr_FR </li></ul></ul></ul><ul><ul><ul><li>4 zh_CN </li></ul></ul></ul><ul><ul><ul><li>5 de_DE </li></ul></ul></ul>
  6. 6. Load Lists <ul><li>Task: Load all the list values and lists in multi-languages </li></ul><ul><li>Note: Obsolete list values not saved in Cache (ListEntry.active=2) </li></ul><ul><li>Troubleshooting </li></ul><ul><li>keywords in error log: </li></ul><ul><li>ListFactory.getList(…); </li></ul><ul><li> List XXXXX does not exist in the cache </li></ul><ul><li>Action: </li></ul><ul><li> Check list value if it exists in ListEntry table and its status (active? Obsolete?) </li></ul>
  7. 7. Load Nodes&Attributes <ul><li>Task: </li></ul><ul><li>Load all attributes’ data from Propertytable </li></ul><ul><li>Load all Nodes in multi-languages from Nodetable </li></ul><ul><li>TroubleShooting: </li></ul><ul><li>Keywords in error log: </li></ul><ul><li>ADNode .setDerivedNodeAtt(…) </li></ul><ul><li>Action: </li></ul><ul><li>Check propertytable if all the parentIDs in propertytable exist in nodetable </li></ul>
  8. 8. Load Resources in Multi-Languages <ul><li>Task: Load the resources from agileclasses.jar </li></ul><ul><li>Localization resources: </li></ul><ul><ul><li>com.agile.resources.ListName </li></ul></ul><ul><ul><li>com.agile.resources.ListDesc </li></ul></ul><ul><ul><li>com.agile.resources.Nodetable </li></ul></ul><ul><ul><li>And more </li></ul></ul><ul><li>TroubleShooting: </li></ul><ul><li>Keywords in error log: </li></ul><ul><li>AdminLangRes.getBundle(…) </li></ul><ul><li>Can't find bundle for base name com.agile.resources.ListEntry, locale ja_JP </li></ul><ul><li>Action: </li></ul><ul><li>Check the localization property file in agileclasses.jar </li></ul>
  9. 9. Load Criteria/Privilege/Role <ul><li>Task: </li></ul><ul><ul><li>Load AdminMsatt table </li></ul></ul><ul><ul><li>Load AppliedTo table </li></ul></ul><ul><ul><li>Load AdminCriteria table </li></ul></ul><ul><ul><li>Combine Criteria, Privilege and Role together </li></ul></ul><ul><li>TroubleShooting: </li></ul><ul><li>Keywords in error log: </li></ul><ul><li> ADInitLoad.loadAssignEntry(…) </li></ul><ul><li> ADPriv.setPrivEntry(…) </li></ul><ul><li>Action: </li></ul><ul><li>Check Criteria/Privilege/Role exist in nodetable or not and check if privilege loses Criteria info in AdminMsatt table </li></ul>
  10. 10. Others <ul><li>Load Notify Template </li></ul><ul><li>Load Server Setting </li></ul><ul><li>Start tasks’ thread (ACS, Notification, MemoryMonitor) </li></ul><ul><li>More… </li></ul>
  11. 11. Validate Admin Data <ul><li>Run Averify </li></ul><ul><li>Agile_Check.sql </li></ul><ul><li>Enable “admin.validate” Trigger </li></ul><ul><ul><li>OASopmnopmn.xml </li></ul></ul><ul><ul><li><process-type id=&quot;home&quot; module-id=&quot;OC4J&quot; status=&quot;enabled&quot;> </li></ul></ul><ul><ul><li><module-data> </li></ul></ul><ul><ul><li><category id=&quot;start-parameters&quot;> </li></ul></ul><ul><ul><li><data id=&quot;java-options&quot; value=&quot; -Dadmin.validate=true -Xrs –server …/> </li></ul></ul>
  12. 12. “ admin.validate” Type <ul><li>Node Property Referential Integrity </li></ul><ul><li>Node Assignment Referential Integrity </li></ul><ul><li>Node AppliedTo Referential Integrity </li></ul><ul><li>Node Criteria Referential Integrity </li></ul><ul><li>Duplicate Properties </li></ul><ul><li>Invalid Applied To Attributes in Modify Privileges </li></ul><ul><li>Applied To Attributes without Modifiable Properties </li></ul><ul><li>Invalid Role Privilege Assignment </li></ul><ul><li>Invalid Node Criteria Assignment </li></ul><ul><li>Invalid Attribute Reference in TableInfo </li></ul><ul><li>Invalid Table Reference in TableInfo </li></ul><ul><li>Invalid Tab Reference in TableInfo </li></ul><ul><li>Invalid Class Reference in TableInfo </li></ul>
  13. 13. “ admin.validate” Log <ul><li>E.g: </li></ul><ul><li>09/03/13 05:50:13 Validating: Invalid Role Privilege Assignment </li></ul><ul><li>ERROR! </li></ul><ul><li>PARENTID: 2474722 ATTID: 409 VALUE: 9502 </li></ul><ul><li>PARENTID: 2474735 ATTID: 409 VALUE: 9501 </li></ul><ul><li>PARENTID: 2474735 ATTID: 409 VALUE: 9502 </li></ul><ul><li>TroubleShooting: </li></ul><ul><li>Check Role and Privilege </li></ul>
  14. 14. Scenario 1 <ul><li>Log </li></ul><ul><li>08/10/30 07:48:02 com.agile.admin.client.value.AdminException: List 911 does not exist in the cache. It may have been deleted already. </li></ul><ul><li>08/10/30 07:48:02 at com.agile.admin.server.list.ListFactory.getList(ListFactory.java:44) </li></ul><ul><li>08/10/30 07:48:02 at com.agile.admin.server.ADInitLoad. loadLangList (ADInitLoad.java:797) </li></ul><ul><li>08/10/30 07:48:02 at com.agile.admin.server.ADInitLoad.startAdmin(ADInitLoad.java:309) </li></ul><ul><li>08/10/30 07:48:02 at com.agile.ui.pcm.InitServlet.init(InitServlet.java:61) </li></ul><ul><li>Troubleshooting </li></ul><ul><li>Cause: </li></ul><ul><li>All the values of List 911 are possibly deleted from JavaClient. </li></ul><ul><li>Solution: </li></ul><ul><li>Check parentID 911 in ListEntry table (exists? Obsolete?) </li></ul>
  15. 15. Scenario 2 <ul><li>Log </li></ul><ul><li>com.agile.admin.client.value.AdminException: Node 1179 does not exist in the cache. It may have been deleted already. </li></ul><ul><li>08/04/04 10:05:28 at com.agile.admin.server.ADictionary.getNodeByID(ADictionary.java:212) </li></ul><ul><li>08/04/04 10:05:28 at com.agile.admin.server.ADInitLoad. loadAssignEntry (ADInitLoad.java:1031) </li></ul><ul><li>08/04/04 10:05:28 at com.agile.admin.server.ADInitLoad.startAdmin(ADInitLoad.java:318) </li></ul><ul><li>Troubleshooting </li></ul><ul><li>Cause: </li></ul><ul><li>Criteria’s parentID (Privilege) lost from nodetable </li></ul><ul><li>or Privilege’s ParentID(Role) lost from nodetable </li></ul><ul><li>Solution: </li></ul><ul><li>Query database to check Node 1179 is a Criteria or a Privilege </li></ul>
  16. 16. Scenario 3 <ul><li>Log </li></ul><ul><li>08/03/31 08:17:16 java.lang.IndexOutOfBoundsException: Class Type : -1 is not a valid Base Class </li></ul><ul><li>08/03/31 08:17:16 at com.agile.admin.server.agileclass.AbstractClassObject.getBaseClassIndex (AbstractClassObject.java:1825) </li></ul><ul><li>08/03/31 08:17:16 at com.agile.admin.server.rolepriv. ADPriv.setPrivEntry (ADPriv.java:1067) </li></ul><ul><li>08/03/31 08:17:16 at com.agile.admin.server.rolepriv. ADPriv.initPrivMartix (ADPriv.java:1141) </li></ul><ul><li>08/03/31 08:17:16 at com.agile.admin.server.ADInitLoad.startAdmin(ADInitLoad.java:341) </li></ul><ul><li>Troubleshooting </li></ul><ul><li>Cause: </li></ul><ul><li>One privilege misses Criteria data </li></ul><ul><li>Solution: </li></ul><ul><li>Enable admin.validate trigger to find out what privilege lost criteria </li></ul>
  17. 17. Scenario 4 <ul><li>Log </li></ul><ul><li><2009-03-13 05:55:28,569> <AdminLangRes:ERROR> load lang list entry failed </li></ul><ul><li>java.util.MissingResourceException: Can't find bundle for base name com.agile.resources.ListEntry, locale ja_JP </li></ul><ul><li>at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:836) </li></ul><ul><li>at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:805) </li></ul><ul><li>at java.util.ResourceBundle.getBundle(ResourceBundle.java:576) </li></ul><ul><li>at com.agile.admin.server.AdminLangRes.getBundle(AdminLangRes.java:945) </li></ul><ul><li>at com.agile.admin.server.AdminLangRes.loadListEntry(AdminLangRes.java:198) </li></ul><ul><li>at com.agile.admin.server.AdminLangRes.loadResources(AdminLangRes.java:94) </li></ul><ul><li>at com.agile.admin.server.ADInitLoad.startAdmin(ADInitLoad.java:307) </li></ul><ul><li>Troubleshooting </li></ul><ul><li>Cause: </li></ul><ul><li>Japanese language is supported but no com.agile.resources.ListEntry_ja_JP.properties in agileclasses.jar </li></ul><ul><li>Solution: </li></ul><ul><li>Replicate com.agile.resources.ListEntry_ja_JP.properties </li></ul>
  18. 18. Q & A

×