1

While trying to load huge data(around 1,00,000 records) throws "GC overhead limit exceeded" error. The code snippet used is below:

public static void GridUploadPVT() throws Exception {
    try {
        KnowledgeBase knowledgeBaseTest = genKnowledgeBaseXlsx("GridUploadPVT.xlsx");
        StatelessKnowledgeSession session = knowledgeBaseTest.newStatelessKnowledgeSession();

        GridUploadPVT griduploadpvt = new GridUploadPVT(prodName, xAxis, yAxis, tranType, vehAge, "YES");
        session.execute(griduploadpvt);

    } catch (Exception ex) {
        System.out.println("Exception:" + ex.toString());
        throw new RuntimeException(excommonItem);
    }
}

private static KnowledgeBase genKnowledgeBaseXlsx(String xlsx) throws Exception {
    DecisionTableConfiguration dtconf = KnowledgeBuilderFactory.newDecisionTableConfiguration();
    dtconf.setInputType(DecisionTableInputType.XLSX);

    KnowledgeBuilder knowledgeBuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
    knowledgeBuilder.add(ResourceFactory.newClassPathResource(xlsx),
            ResourceType.DTABLE, dtconf);

    if (knowledgeBuilder.hasErrors()) {
        throw new RuntimeException(knowledgeBuilder.getErrors().toString());
    }

    KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();
    knowledgeBase.addKnowledgePackages(knowledgeBuilder.getKnowledgePackages());
    return knowledgeBase;
}
  • And what is your question? Probably, you should allocate more memory if your program runs out of it? – Nico Haase Apr 05 '18 at 12:29
  • 1
    Possible duplicate of [Error java.lang.OutOfMemoryError: GC overhead limit exceeded](https://stackoverflow.com/questions/1393486/error-java-lang-outofmemoryerror-gc-overhead-limit-exceeded) – Nico Haase Apr 05 '18 at 12:29
  • Already increased -Xms , -Xmx and -XX:MaxPermSize . But still getting same issue – Madhav Pratap Apr 05 '18 at 12:46

0 Answers0