Error generating resource table - (_categoryoptioncomboname)

Hello,

This error keeps coming up while trying to generate one of the resource tables (_categoryoptioncomboname) . Other tables are generated without issues. Below is the relevant log -

  • ERROR 2013-07-02 04:08:35,285 Error while executing action (ExceptionInterceptor.java [http-bio-127.0.0.1-8080-exec-8])

java.lang.ArrayIndexOutOfBoundsException: 0

    at org.hisp.dhis.common.CombinationGenerator.getCurrent(CombinationGenerator.java:121)

    at org.hisp.dhis.common.CombinationGenerator.getNext(CombinationGenerator.java:97)

    at org.hisp.dhis.dataelement.DataElementCategoryCombo.getSortedOptionCombos(DataElementCategoryCombo.java:170)

    at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateCategoryOptionComboNames(DefaultResourceTableService.java:241)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

    at $Proxy106.generateCategoryOptionComboNames(Unknown Source)

    at org.hisp.dhis.dataadmin.action.resourcetable.GenerateResourceTableAction.execute(GenerateResourceTableAction.java:176)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

Any Ideas?

Thanks

…………………………………………………………………

Regards

Dapo Adejumo

+2348033683677

Skype : dapojorge

Hi Dapo,

this must be a problem related to the categories/category options in your database, ie. a data integrity issue like a category without options or similar. It is hard to make a diagnosis without seeing the database. I usually use these SQL integrity checks to reveal the problem. Ideally, none of these SQLs should return any rows:

– Get category option combos without category options

select * from categoryoptioncombo where categoryoptioncomboid not in (select distinct categoryoptioncomboid from categoryoptioncombos_categoryoptions);

– Get category option combos without category combo

select * from categoryoptioncombo where categoryoptioncomboid not in (select distinct categoryoptioncomboid from categorycombos_optioncombos);

– Get category options without category option combos

select * from dataelementcategoryoption where categoryoptionid not in (select distinct categoryoptionid from categoryoptioncombos_categoryoptions);

– Get catetegory options without categories

select * from dataelementcategoryoption where categoryoptionid not in (select distinct categoryoptionid from categories_categoryoptions);

– Get categories without category options

select * from dataelementcategory where categoryid not in (select distinct categoryid from categories_categoryoptions);

– Get categories without category combos (not an error but could be removed)

select * from dataelementcategory where categoryid not in (select distinct categoryid from categorycombos_categories);

– Get category combos without categories

select * from categorycombo where categorycomboid not in (select distinct categorycomboid from categorycombos_categories);

regards,

Lars

···

On Tue, Jul 2, 2013 at 5:16 AM, Dapo Adejumo dapo_adejumo@yahoo.com wrote:

Hello,

This error keeps coming up while trying to generate one of the resource tables (_categoryoptioncomboname) . Other tables are generated without issues. Below is the relevant log -

  • ERROR 2013-07-02 04:08:35,285 Error while executing action (ExceptionInterceptor.java [http-bio-127.0.0.1-8080-exec-8])

java.lang.ArrayIndexOutOfBoundsException: 0

    at org.hisp.dhis.common.CombinationGenerator.getCurrent(CombinationGenerator.java:121)
    at org.hisp.dhis.common.CombinationGenerator.getNext(CombinationGenerator.java:97)
    at org.hisp.dhis.dataelement.DataElementCategoryCombo.getSortedOptionCombos(DataElementCategoryCombo.java:170)
    at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateCategoryOptionComboNames(DefaultResourceTableService.java:241)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy106.generateCategoryOptionComboNames(Unknown Source)
    at org.hisp.dhis.dataadmin.action.resourcetable.GenerateResourceTableAction.execute(GenerateResourceTableAction.java:176)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)

Any Ideas?

Thanks

…………………………………………………………………

Regards

Dapo Adejumo

+2348033683677

Skype : dapojorge


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Thanks Lars,

Got the offending option. Will be good if the data integrity checks can pick this up since if can affect the resource tables.

…………………………………………………………………

Regards

Dapo Adejumo

+2348033683677

Skype : dapojorge

···

From: Lars Helge Øverland [mailto:larshelge@gmail.com]
Sent: Tuesday, July 2, 2013 1:58 PM
To: Dapo Adejumo
Cc: DHIS 2 developers
Subject: Re: [Dhis2-devs] Error generating resource table - (_categoryoptioncomboname)

Hi Dapo,

this must be a problem related to the categories/category options in your database, ie. a data integrity issue like a category without options or similar. It is hard to make a diagnosis without seeing the database. I usually use these SQL integrity checks to reveal the problem. Ideally, none of these SQLs should return any rows:

– Get category option combos without category options

select * from categoryoptioncombo where categoryoptioncomboid not in (select distinct categoryoptioncomboid from categoryoptioncombos_categoryoptions);

– Get category option combos without category combo

select * from categoryoptioncombo where categoryoptioncomboid not in (select distinct categoryoptioncomboid from categorycombos_optioncombos);

– Get category options without category option combos

select * from dataelementcategoryoption where categoryoptionid not in (select distinct categoryoptionid from categoryoptioncombos_categoryoptions);

– Get catetegory options without categories

select * from dataelementcategoryoption where categoryoptionid not in (select distinct categoryoptionid from categories_categoryoptions);

– Get categories without category options

select * from dataelementcategory where categoryid not in (select distinct categoryid from categories_categoryoptions);

– Get categories without category combos (not an error but could be removed)

select * from dataelementcategory where categoryid not in (select distinct categoryid from categorycombos_categories);

– Get category combos without categories

select * from categorycombo where categorycomboid not in (select distinct categorycomboid from categorycombos_categories);

regards,

Lars

On Tue, Jul 2, 2013 at 5:16 AM, Dapo Adejumo dapo_adejumo@yahoo.com wrote:

Hello,

This error keeps coming up while trying to generate one of the resource tables (_categoryoptioncomboname) . Other tables are generated without issues. Below is the relevant log -

  • ERROR 2013-07-02 04:08:35,285 Error while executing action (ExceptionInterceptor.java [http-bio-127.0.0.1-8080-exec-8])

java.lang.ArrayIndexOutOfBoundsException: 0

    at org.hisp.dhis.common.CombinationGenerator.getCurrent(CombinationGenerator.java:121)

    at org.hisp.dhis.common.CombinationGenerator.getNext(CombinationGenerator.java:97)

    at org.hisp.dhis.dataelement.DataElementCategoryCombo.getSortedOptionCombos(DataElementCategoryCombo.java:170)

    at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateCategoryOptionComboNames(DefaultResourceTableService.java:241)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

    at $Proxy106.generateCategoryOptionComboNames(Unknown Source)

    at org.hisp.dhis.dataadmin.action.resourcetable.GenerateResourceTableAction.execute(GenerateResourceTableAction.java:176)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

Any Ideas?

Thanks

…………………………………………………………………

Regards

Dapo Adejumo

+2348033683677

Skype : dapojorge


Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp

Thanks, yes you are right.

···

On Jul 3, 2013 9:23 AM, “Dapo Adejumo” dapo_adejumo@yahoo.com wrote:

Thanks Lars,

Got the offending option. Will be good if the data integrity checks can pick this up since if can affect the resource tables.

…………………………………………………………………

Regards

Dapo Adejumo

+2348033683677

Skype : dapojorge

From: Lars Helge Øverland [mailto:larshelge@gmail.com]

Sent: Tuesday, July 2, 2013 1:58 PM
To: Dapo Adejumo
Cc: DHIS 2 developers
Subject: Re: [Dhis2-devs] Error generating resource table - (_categoryoptioncomboname)

Hi Dapo,

this must be a problem related to the categories/category options in your database, ie. a data integrity issue like a category without options or similar. It is hard to make a diagnosis without seeing the database. I usually use these SQL integrity checks to reveal the problem. Ideally, none of these SQLs should return any rows:

– Get category option combos without category options

select * from categoryoptioncombo where categoryoptioncomboid not in (select distinct categoryoptioncomboid from categoryoptioncombos_categoryoptions);

– Get category option combos without category combo

select * from categoryoptioncombo where categoryoptioncomboid not in (select distinct categoryoptioncomboid from categorycombos_optioncombos);

– Get category options without category option combos

select * from dataelementcategoryoption where categoryoptionid not in (select distinct categoryoptionid from categoryoptioncombos_categoryoptions);

– Get catetegory options without categories

select * from dataelementcategoryoption where categoryoptionid not in (select distinct categoryoptionid from categories_categoryoptions);

– Get categories without category options

select * from dataelementcategory where categoryid not in (select distinct categoryid from categories_categoryoptions);

– Get categories without category combos (not an error but could be removed)

select * from dataelementcategory where categoryid not in (select distinct categoryid from categorycombos_categories);

– Get category combos without categories

select * from categorycombo where categorycomboid not in (select distinct categorycomboid from categorycombos_categories);

regards,

Lars

On Tue, Jul 2, 2013 at 5:16 AM, Dapo Adejumo dapo_adejumo@yahoo.com wrote:

Hello,

This error keeps coming up while trying to generate one of the resource tables (_categoryoptioncomboname) . Other tables are generated without issues. Below is the relevant log -

  • ERROR 2013-07-02 04:08:35,285 Error while executing action (ExceptionInterceptor.java [http-bio-127.0.0.1-8080-exec-8])

java.lang.ArrayIndexOutOfBoundsException: 0

    at org.hisp.dhis.common.CombinationGenerator.getCurrent(CombinationGenerator.java:121)
    at org.hisp.dhis.common.CombinationGenerator.getNext(CombinationGenerator.java:97)
    at org.hisp.dhis.dataelement.DataElementCategoryCombo.getSortedOptionCombos(DataElementCategoryCombo.java:170)
    at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateCategoryOptionComboNames(DefaultResourceTableService.java:241)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy106.generateCategoryOptionComboNames(Unknown Source)
    at org.hisp.dhis.dataadmin.action.resourcetable.GenerateResourceTableAction.execute(GenerateResourceTableAction.java:176)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)

Any Ideas?

Thanks

…………………………………………………………………

Regards

Dapo Adejumo

+2348033683677

Skype : dapojorge


Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp