Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    GDC job fails with KnowledgeBase error

    • Article Type: General
    • Product: Voyager
    • Product Version: 8.2.0

    Problem Symptoms

    When attempting to run a GDC job, job fails with following error in log:
    2013-06-05 11:56:13,468 604487 [main] ERROR com.exlibris.voyager.jobd.ScanJob - Error building knowledge base
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:604)
    at java.util.ArrayList.get(ArrayList.java:382)
    at com.exlibris.voyager.drools.KnowledgeBaseBuilder.readKnowledgeBase(KnowledgeBaseBuilder.java:130)
    at com.exlibris.voyager.drools.RulesRunnerImpl.buildKnowledge(RulesRunnerImpl.java:61)
    at com.exlibris.voyager.jobd.ScanJob.init(ScanJob.java:152)
    at com.exlibris.voyager.jobd.JobExecutor.execute(JobExecutor.java:289)
    at com.exlibris.voyager.jobd.JobExecutor.main(JobExecutor.java:260)
    2013-06-05 11:56:13,471 604490 [main] ERROR 5 - Error building knowledge base
    2013-06-05 11:56:13,479 604498 [main] ERROR com.exlibris.voyager.jobd.AbstractRunnableJob -
    Failed ScanJob (name = <job name>, id = <job id>) at Wed Jun 05 11:56:13 EDT 2013

    Cause

    The dialect file (gdc.dsl) is not loading.

    Resolution

    Before proceeding, double-check it is not the rule itself causing the issue by testing a different (known good) rule in Preview. If all rules are impacted:
     

    • Open an Incident to request Support reload the gdc.dsl.
       
    • Alternatively, if you feel comfortable doing this yourself, follow these steps:

    1. SSH to your Voyager server and login as the voyager user.
    2. cd /m1/voyager/xxxdb/ini
    3. Ensure that gdc.dsl exists in this directory. If not, contact Voyager Support.
    4. cd ../sbin
    5. ./Prulemgmt -a d -p /m1/voyager/xxxdb/ini/gdc.dsl -n gdc.dsl
    6. You should receive a success message:
    /m1/voyager/xxxdb/ini/gdc.dsl succesfully written to database as name gdc.dsl 

    After receiving the success message, restart jobd by typing the following in the same /sbin directory (you may need to kill jobd first):

    1. ./Pjobd

    Additional Information

    A similar but not identical error log entry can be generated by problems in your rule.  One method that might be helpful to identify any errors in your rule is to run the job that is failing in Preview mode in Job Management > "Do not update database" mode and check the jobd.log file.  

     

     


    • Article last edited: 08-Oct-2019