[Dhis2-devs] Exception with Mysql database in version 2.21

Cc:

Thanks for replying Knut.

We upgraded directly from 2.16 to 2.21. But the errors seems more database related

For example if we see drop _orgunitstructure query, it should be dropped irrespective of versions.

···

On Mon, Dec 7, 2015 at 6:24 PM, Knut Staring knutst@gmail.com wrote:

You upgraded directly? Or step by step (2.17, 2.18…)


Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 1:52 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Dear All,

We recently upgraded DHIS 2.16 to 2.21 where database is Mysql some of the errors are listed below, can someone please guide us?(We are using aggregated data not tracker)

Error1:

In mysql *programrule *table is not created automatically. While starting getting the below error:

  • ERROR 2015-12-07 17:36:56,864 Problem updating: programrule, id column: programruleid (IdentityPopulator.java [localho

st-startStop-1])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT * from programrule WHERE uid

IS NULL]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’

doesn’t exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:471)

at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:526)

at org.hisp.dhis.common.IdentityPopulator.execute(IdentityPopulator.java:86)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:117)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:86)

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:71)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’ doesn’t exist

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)

at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:455)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 19 more

  • INFO 2015-12-07 17:36:57,144 Executing startup routine [6 of 13, runlevel 5]: TableCreator (DefaultStartupRoutineExec

utor.java [localhost-startStop-1])



Error2: While generating resource tables got the below error, think the query should be DROP TABLE IF EXISTS _orgunitstructure; Same applies for all resource tables.

  • INFO 2015-12-07 17:41:06,417 [Level: INFO, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messag

e: Generating resource tables] (InMemoryNotifier.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,465 Create table SQL: create table _orgunitstructure_temp (organisationunitid integer not nu

ll primary key, organisationunituid character(11), level integer, idlevel1 integer, uidlevel1 character(11), `idleve

l2integer,uidlevel2character(11),idlevel3integer,uidlevel3` character(11)); (JdbcResourceTableStore.java [ta

skScheduler-1])

  • INFO 2015-12-07 17:41:06,495 Populate table content rows: 203 (JdbcResourceTableStore.java [taskScheduler-1])
  • INFO 2015-12-07 17:41:06,546 Create index SQL: create unique index in_orgunitstructure_organisationunituid_VWU2G on _

orgunitstructure_temp(organisationunituid) (JdbcResourceTableStore.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,582 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [drop table _orgunitstructure;]; nested exception is com.mysql.jd

bc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table ‘dhis._orgunitstructure’] (InMemoryNotifier.java [tas

kScheduler-1])



Error3: Tried to copy resource table structures from old db and tried generate resource table option, this time got the below error:

  • INFO 2015-12-07 18:05:19,296 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 18:05:19 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [create unique index in_dataelementstructure_dataelementuid_M86c6

on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_datasetid_fVMFF on _dataelementstruc

ture_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelementstructure_temp(datasetuid);cre

ate index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodtypeid);]; nested exception is

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that c

orresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructure_datasetid

_fVMFF on _dataelementstructure_te’ at line 1] (InMemoryNotifier.java [taskScheduler-5])

  • ERROR 2015-12-07 18:05:19,319 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-5])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [create unique index in_dataelements

tructure_dataelementuid_M86c6 on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_dataset

id_fVMFF on _dataelementstructure_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelements

tructure_temp(datasetuid);create index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodty

peid);]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL sy

ntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create index in_d

ataelementstructure_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)

at org.hisp.dhis.resourcetable.jdbc.JdbcResourceTableStore.generateResourceTable(JdbcResourceTableStore.java:118

)

at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateDataElementTable(DefaultResourceTableService.

java:198)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

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

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

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

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce

ptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec

tSupport.java:281)

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

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

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

at com.sun.proxy.$Proxy143.generateDataElementTable(Unknown Source)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.generateAll(ResourceTableTask.java:121)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.run(ResourceTableTask.java:84)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.ja

va:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the ma

nual that corresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructur

e_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742)

at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)

at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 26 more

Thanks,
Neeraj Gupta


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

Knut Staring

Dept. of Informatics, University of Oslo

Norway: +4791880522

Skype: knutstar

http://dhis2.org

But I assume you ran all the Sql update scripts?

···

On Mon, Dec 7, 2015 at 6:24 PM, Knut Staring knutst@gmail.com wrote:

You upgraded directly? Or step by step (2.17, 2.18…)


Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 1:52 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Dear All,

We recently upgraded DHIS 2.16 to 2.21 where database is Mysql some of the errors are listed below, can someone please guide us?(We are using aggregated data not tracker)

Error1:

In mysql *programrule *table is not created automatically. While starting getting the below error:

  • ERROR 2015-12-07 17:36:56,864 Problem updating: programrule, id column: programruleid (IdentityPopulator.java [localho

st-startStop-1])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT * from programrule WHERE uid

IS NULL]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’

doesn’t exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:471)

at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:526)

at org.hisp.dhis.common.IdentityPopulator.execute(IdentityPopulator.java:86)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:117)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:86)

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:71)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’ doesn’t exist

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)

at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:455)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 19 more

  • INFO 2015-12-07 17:36:57,144 Executing startup routine [6 of 13, runlevel 5]: TableCreator (DefaultStartupRoutineExec

utor.java [localhost-startStop-1])



Error2: While generating resource tables got the below error, think the query should be DROP TABLE IF EXISTS _orgunitstructure; Same applies for all resource tables.

  • INFO 2015-12-07 17:41:06,417 [Level: INFO, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messag

e: Generating resource tables] (InMemoryNotifier.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,465 Create table SQL: create table _orgunitstructure_temp (organisationunitid integer not nu

ll primary key, organisationunituid character(11), level integer, idlevel1 integer, uidlevel1 character(11), `idleve

l2integer,uidlevel2character(11),idlevel3integer,uidlevel3` character(11)); (JdbcResourceTableStore.java [ta

skScheduler-1])

  • INFO 2015-12-07 17:41:06,495 Populate table content rows: 203 (JdbcResourceTableStore.java [taskScheduler-1])
  • INFO 2015-12-07 17:41:06,546 Create index SQL: create unique index in_orgunitstructure_organisationunituid_VWU2G on _

orgunitstructure_temp(organisationunituid) (JdbcResourceTableStore.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,582 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [drop table _orgunitstructure;]; nested exception is com.mysql.jd

bc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table ‘dhis._orgunitstructure’] (InMemoryNotifier.java [tas

kScheduler-1])



Error3: Tried to copy resource table structures from old db and tried generate resource table option, this time got the below error:

  • INFO 2015-12-07 18:05:19,296 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 18:05:19 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [create unique index in_dataelementstructure_dataelementuid_M86c6

on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_datasetid_fVMFF on _dataelementstruc

ture_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelementstructure_temp(datasetuid);cre

ate index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodtypeid);]; nested exception is

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that c

orresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructure_datasetid

_fVMFF on _dataelementstructure_te’ at line 1] (InMemoryNotifier.java [taskScheduler-5])

  • ERROR 2015-12-07 18:05:19,319 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-5])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [create unique index in_dataelements

tructure_dataelementuid_M86c6 on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_dataset

id_fVMFF on _dataelementstructure_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelements

tructure_temp(datasetuid);create index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodty

peid);]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL sy

ntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create index in_d

ataelementstructure_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)

at org.hisp.dhis.resourcetable.jdbc.JdbcResourceTableStore.generateResourceTable(JdbcResourceTableStore.java:118

)

at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateDataElementTable(DefaultResourceTableService.

java:198)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

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

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

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

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce

ptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec

tSupport.java:281)

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

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

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

at com.sun.proxy.$Proxy143.generateDataElementTable(Unknown Source)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.generateAll(ResourceTableTask.java:121)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.run(ResourceTableTask.java:84)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.ja

va:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the ma

nual that corresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructur

e_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742)

at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)

at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 26 more

Thanks,
Neeraj Gupta


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

Knut Staring

Dept. of Informatics, University of Oslo

Norway: +4791880522

Skype: knutstar

http://dhis2.org

Yes, ran all sql scripts.

···

On Tue, Dec 8, 2015 at 11:34 AM, Knut Staring knutst@gmail.com wrote:

But I assume you ran all the Sql update scripts?

On 8 Dec 2015 07:02, “Knut Staring” knutst@gmail.com wrote:

---------- Forwarded message ----------
From: “Neeraj Gupta” neeraj.hisp@gmail.com
Date: 8 Dec 2015 06:54
Subject: Re: [Dhis2-devs] Exception with Mysql database in version 2.21
To: “Knut Staring” knutst@gmail.com
Cc:

Thanks for replying Knut.

We upgraded directly from 2.16 to 2.21. But the errors seems more database related

For example if we see drop _orgunitstructure query, it should be dropped irrespective of versions.


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

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

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

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

On Mon, Dec 7, 2015 at 6:24 PM, Knut Staring knutst@gmail.com wrote:

You upgraded directly? Or step by step (2.17, 2.18…)


Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 1:52 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Dear All,

We recently upgraded DHIS 2.16 to 2.21 where database is Mysql some of the errors are listed below, can someone please guide us?(We are using aggregated data not tracker)

Error1:

In mysql *programrule *table is not created automatically. While starting getting the below error:

  • ERROR 2015-12-07 17:36:56,864 Problem updating: programrule, id column: programruleid (IdentityPopulator.java [localho

st-startStop-1])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT * from programrule WHERE uid

IS NULL]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’

doesn’t exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:471)

at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:526)

at org.hisp.dhis.common.IdentityPopulator.execute(IdentityPopulator.java:86)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:117)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:86)

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:71)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’ doesn’t exist

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)

at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:455)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 19 more

  • INFO 2015-12-07 17:36:57,144 Executing startup routine [6 of 13, runlevel 5]: TableCreator (DefaultStartupRoutineExec

utor.java [localhost-startStop-1])



Error2: While generating resource tables got the below error, think the query should be DROP TABLE IF EXISTS _orgunitstructure; Same applies for all resource tables.

  • INFO 2015-12-07 17:41:06,417 [Level: INFO, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messag

e: Generating resource tables] (InMemoryNotifier.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,465 Create table SQL: create table _orgunitstructure_temp (organisationunitid integer not nu

ll primary key, organisationunituid character(11), level integer, idlevel1 integer, uidlevel1 character(11), `idleve

l2integer,uidlevel2character(11),idlevel3integer,uidlevel3` character(11)); (JdbcResourceTableStore.java [ta

skScheduler-1])

  • INFO 2015-12-07 17:41:06,495 Populate table content rows: 203 (JdbcResourceTableStore.java [taskScheduler-1])
  • INFO 2015-12-07 17:41:06,546 Create index SQL: create unique index in_orgunitstructure_organisationunituid_VWU2G on _

orgunitstructure_temp(organisationunituid) (JdbcResourceTableStore.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,582 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [drop table _orgunitstructure;]; nested exception is com.mysql.jd

bc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table ‘dhis._orgunitstructure’] (InMemoryNotifier.java [tas

kScheduler-1])



Error3: Tried to copy resource table structures from old db and tried generate resource table option, this time got the below error:

  • INFO 2015-12-07 18:05:19,296 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 18:05:19 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [create unique index in_dataelementstructure_dataelementuid_M86c6

on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_datasetid_fVMFF on _dataelementstruc

ture_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelementstructure_temp(datasetuid);cre

ate index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodtypeid);]; nested exception is

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that c

orresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructure_datasetid

_fVMFF on _dataelementstructure_te’ at line 1] (InMemoryNotifier.java [taskScheduler-5])

  • ERROR 2015-12-07 18:05:19,319 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-5])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [create unique index in_dataelements

tructure_dataelementuid_M86c6 on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_dataset

id_fVMFF on _dataelementstructure_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelements

tructure_temp(datasetuid);create index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodty

peid);]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL sy

ntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create index in_d

ataelementstructure_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)

at org.hisp.dhis.resourcetable.jdbc.JdbcResourceTableStore.generateResourceTable(JdbcResourceTableStore.java:118

)

at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateDataElementTable(DefaultResourceTableService.

java:198)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

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

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

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

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce

ptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec

tSupport.java:281)

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

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

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

at com.sun.proxy.$Proxy143.generateDataElementTable(Unknown Source)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.generateAll(ResourceTableTask.java:121)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.run(ResourceTableTask.java:84)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.ja

va:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the ma

nual that corresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructur

e_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742)

at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)

at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 26 more

Thanks,
Neeraj Gupta


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

Knut Staring

Dept. of Informatics, University of Oslo

Norway: +4791880522

Skype: knutstar

http://dhis2.org

Thanks,
Neeraj Gupta

I can see that table programrule has a column “condition” which appears to be a reserved word in mysql.

Will look into it.

Lars

···

On Tue, Dec 8, 2015 at 7:05 AM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Yes, ran all sql scripts.


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

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

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

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

On Tue, Dec 8, 2015 at 11:34 AM, Knut Staring knutst@gmail.com wrote:

But I assume you ran all the Sql update scripts?

On 8 Dec 2015 07:02, “Knut Staring” knutst@gmail.com wrote:

---------- Forwarded message ----------
From: “Neeraj Gupta” neeraj.hisp@gmail.com
Date: 8 Dec 2015 06:54
Subject: Re: [Dhis2-devs] Exception with Mysql database in version 2.21
To: “Knut Staring” knutst@gmail.com
Cc:

Thanks for replying Knut.

We upgraded directly from 2.16 to 2.21. But the errors seems more database related

For example if we see drop _orgunitstructure query, it should be dropped irrespective of versions.


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

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

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

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

Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 6:24 PM, Knut Staring knutst@gmail.com wrote:

You upgraded directly? Or step by step (2.17, 2.18…)


Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 1:52 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Dear All,

We recently upgraded DHIS 2.16 to 2.21 where database is Mysql some of the errors are listed below, can someone please guide us?(We are using aggregated data not tracker)

Error1:

In mysql *programrule *table is not created automatically. While starting getting the below error:

  • ERROR 2015-12-07 17:36:56,864 Problem updating: programrule, id column: programruleid (IdentityPopulator.java [localho

st-startStop-1])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT * from programrule WHERE uid

IS NULL]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’

doesn’t exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:471)

at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:526)

at org.hisp.dhis.common.IdentityPopulator.execute(IdentityPopulator.java:86)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:117)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:86)

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:71)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’ doesn’t exist

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)

at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:455)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 19 more

  • INFO 2015-12-07 17:36:57,144 Executing startup routine [6 of 13, runlevel 5]: TableCreator (DefaultStartupRoutineExec

utor.java [localhost-startStop-1])



Error2: While generating resource tables got the below error, think the query should be DROP TABLE IF EXISTS _orgunitstructure; Same applies for all resource tables.

  • INFO 2015-12-07 17:41:06,417 [Level: INFO, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messag

e: Generating resource tables] (InMemoryNotifier.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,465 Create table SQL: create table _orgunitstructure_temp (organisationunitid integer not nu

ll primary key, organisationunituid character(11), level integer, idlevel1 integer, uidlevel1 character(11), `idleve

l2integer,uidlevel2character(11),idlevel3integer,uidlevel3` character(11)); (JdbcResourceTableStore.java [ta

skScheduler-1])

  • INFO 2015-12-07 17:41:06,495 Populate table content rows: 203 (JdbcResourceTableStore.java [taskScheduler-1])
  • INFO 2015-12-07 17:41:06,546 Create index SQL: create unique index in_orgunitstructure_organisationunituid_VWU2G on _

orgunitstructure_temp(organisationunituid) (JdbcResourceTableStore.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,582 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [drop table _orgunitstructure;]; nested exception is com.mysql.jd

bc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table ‘dhis._orgunitstructure’] (InMemoryNotifier.java [tas

kScheduler-1])



Error3: Tried to copy resource table structures from old db and tried generate resource table option, this time got the below error:

  • INFO 2015-12-07 18:05:19,296 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 18:05:19 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [create unique index in_dataelementstructure_dataelementuid_M86c6

on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_datasetid_fVMFF on _dataelementstruc

ture_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelementstructure_temp(datasetuid);cre

ate index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodtypeid);]; nested exception is

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that c

orresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructure_datasetid

_fVMFF on _dataelementstructure_te’ at line 1] (InMemoryNotifier.java [taskScheduler-5])

  • ERROR 2015-12-07 18:05:19,319 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-5])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [create unique index in_dataelements

tructure_dataelementuid_M86c6 on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_dataset

id_fVMFF on _dataelementstructure_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelements

tructure_temp(datasetuid);create index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodty

peid);]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL sy

ntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create index in_d

ataelementstructure_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)

at org.hisp.dhis.resourcetable.jdbc.JdbcResourceTableStore.generateResourceTable(JdbcResourceTableStore.java:118

)

at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateDataElementTable(DefaultResourceTableService.

java:198)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

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

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

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

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce

ptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec

tSupport.java:281)

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

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

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

at com.sun.proxy.$Proxy143.generateDataElementTable(Unknown Source)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.generateAll(ResourceTableTask.java:121)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.run(ResourceTableTask.java:84)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.ja

va:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the ma

nual that corresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructur

e_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742)

at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)

at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 26 more

Thanks,
Neeraj Gupta


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

Knut Staring

Dept. of Informatics, University of Oslo

Norway: +4791880522

Skype: knutstar

http://dhis2.org

Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org

Thanks Lars.

Shall I report the bug nn launchpad for this?

···

On Tue, Dec 8, 2015 at 1:55 PM, Lars Helge Øverland larshelge@gmail.com wrote:

I can see that table programrule has a column “condition” which appears to be a reserved word in mysql.

Will look into it.

Lars

On Tue, Dec 8, 2015 at 7:05 AM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Yes, ran all sql scripts.


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

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

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

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

Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org

On Tue, Dec 8, 2015 at 11:34 AM, Knut Staring knutst@gmail.com wrote:

But I assume you ran all the Sql update scripts?

On 8 Dec 2015 07:02, “Knut Staring” knutst@gmail.com wrote:

---------- Forwarded message ----------
From: “Neeraj Gupta” neeraj.hisp@gmail.com
Date: 8 Dec 2015 06:54
Subject: Re: [Dhis2-devs] Exception with Mysql database in version 2.21
To: “Knut Staring” knutst@gmail.com
Cc:

Thanks for replying Knut.

We upgraded directly from 2.16 to 2.21. But the errors seems more database related

For example if we see drop _orgunitstructure query, it should be dropped irrespective of versions.


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

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

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

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

Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 6:24 PM, Knut Staring knutst@gmail.com wrote:

You upgraded directly? Or step by step (2.17, 2.18…)


Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 1:52 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Dear All,

We recently upgraded DHIS 2.16 to 2.21 where database is Mysql some of the errors are listed below, can someone please guide us?(We are using aggregated data not tracker)

Error1:

In mysql *programrule *table is not created automatically. While starting getting the below error:

  • ERROR 2015-12-07 17:36:56,864 Problem updating: programrule, id column: programruleid (IdentityPopulator.java [localho

st-startStop-1])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT * from programrule WHERE uid

IS NULL]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’

doesn’t exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:471)

at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:526)

at org.hisp.dhis.common.IdentityPopulator.execute(IdentityPopulator.java:86)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:117)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:86)

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:71)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’ doesn’t exist

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)

at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:455)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 19 more

  • INFO 2015-12-07 17:36:57,144 Executing startup routine [6 of 13, runlevel 5]: TableCreator (DefaultStartupRoutineExec

utor.java [localhost-startStop-1])



Error2: While generating resource tables got the below error, think the query should be DROP TABLE IF EXISTS _orgunitstructure; Same applies for all resource tables.

  • INFO 2015-12-07 17:41:06,417 [Level: INFO, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messag

e: Generating resource tables] (InMemoryNotifier.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,465 Create table SQL: create table _orgunitstructure_temp (organisationunitid integer not nu

ll primary key, organisationunituid character(11), level integer, idlevel1 integer, uidlevel1 character(11), `idleve

l2integer,uidlevel2character(11),idlevel3integer,uidlevel3` character(11)); (JdbcResourceTableStore.java [ta

skScheduler-1])

  • INFO 2015-12-07 17:41:06,495 Populate table content rows: 203 (JdbcResourceTableStore.java [taskScheduler-1])
  • INFO 2015-12-07 17:41:06,546 Create index SQL: create unique index in_orgunitstructure_organisationunituid_VWU2G on _

orgunitstructure_temp(organisationunituid) (JdbcResourceTableStore.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,582 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [drop table _orgunitstructure;]; nested exception is com.mysql.jd

bc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table ‘dhis._orgunitstructure’] (InMemoryNotifier.java [tas

kScheduler-1])



Error3: Tried to copy resource table structures from old db and tried generate resource table option, this time got the below error:

  • INFO 2015-12-07 18:05:19,296 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 18:05:19 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [create unique index in_dataelementstructure_dataelementuid_M86c6

on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_datasetid_fVMFF on _dataelementstruc

ture_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelementstructure_temp(datasetuid);cre

ate index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodtypeid);]; nested exception is

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that c

orresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructure_datasetid

_fVMFF on _dataelementstructure_te’ at line 1] (InMemoryNotifier.java [taskScheduler-5])

  • ERROR 2015-12-07 18:05:19,319 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-5])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [create unique index in_dataelements

tructure_dataelementuid_M86c6 on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_dataset

id_fVMFF on _dataelementstructure_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelements

tructure_temp(datasetuid);create index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodty

peid);]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL sy

ntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create index in_d

ataelementstructure_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)

at org.hisp.dhis.resourcetable.jdbc.JdbcResourceTableStore.generateResourceTable(JdbcResourceTableStore.java:118

)

at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateDataElementTable(DefaultResourceTableService.

java:198)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

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

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

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

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce

ptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec

tSupport.java:281)

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

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

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

at com.sun.proxy.$Proxy143.generateDataElementTable(Unknown Source)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.generateAll(ResourceTableTask.java:121)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.run(ResourceTableTask.java:84)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.ja

va:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the ma

nual that corresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructur

e_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742)

at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)

at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 26 more

Thanks,
Neeraj Gupta


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

Knut Staring

Dept. of Informatics, University of Oslo

Norway: +4791880522

Skype: knutstar

http://dhis2.org

Thanks,
Neeraj Gupta

Hi Neeraj,

always good to have a bug to link to. I am testing the fix now and will apply to trunk and 2.21. Struggling a but with connectivity working from a training venue in Palestine, but it will be ready soon.

Markus

···

On Tue, Dec 8, 2015 at 1:55 PM, Lars Helge Øverland larshelge@gmail.com wrote:

I can see that table programrule has a column “condition” which appears to be a reserved word in mysql.

Will look into it.

Lars

On Tue, Dec 8, 2015 at 7:05 AM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Yes, ran all sql scripts.


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

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

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

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

Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org

On Tue, Dec 8, 2015 at 11:34 AM, Knut Staring knutst@gmail.com wrote:

But I assume you ran all the Sql update scripts?

On 8 Dec 2015 07:02, “Knut Staring” knutst@gmail.com wrote:

---------- Forwarded message ----------
From: “Neeraj Gupta” neeraj.hisp@gmail.com
Date: 8 Dec 2015 06:54
Subject: Re: [Dhis2-devs] Exception with Mysql database in version 2.21
To: “Knut Staring” knutst@gmail.com
Cc:

Thanks for replying Knut.

We upgraded directly from 2.16 to 2.21. But the errors seems more database related

For example if we see drop _orgunitstructure query, it should be dropped irrespective of versions.


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

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

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

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

Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 6:24 PM, Knut Staring knutst@gmail.com wrote:

You upgraded directly? Or step by step (2.17, 2.18…)


Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 1:52 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Dear All,

We recently upgraded DHIS 2.16 to 2.21 where database is Mysql some of the errors are listed below, can someone please guide us?(We are using aggregated data not tracker)

Error1:

In mysql *programrule *table is not created automatically. While starting getting the below error:

  • ERROR 2015-12-07 17:36:56,864 Problem updating: programrule, id column: programruleid (IdentityPopulator.java [localho

st-startStop-1])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT * from programrule WHERE uid

IS NULL]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’

doesn’t exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:471)

at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:526)

at org.hisp.dhis.common.IdentityPopulator.execute(IdentityPopulator.java:86)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:117)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:86)

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:71)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’ doesn’t exist

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)

at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:455)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 19 more

  • INFO 2015-12-07 17:36:57,144 Executing startup routine [6 of 13, runlevel 5]: TableCreator (DefaultStartupRoutineExec

utor.java [localhost-startStop-1])



Error2: While generating resource tables got the below error, think the query should be DROP TABLE IF EXISTS _orgunitstructure; Same applies for all resource tables.

  • INFO 2015-12-07 17:41:06,417 [Level: INFO, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messag

e: Generating resource tables] (InMemoryNotifier.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,465 Create table SQL: create table _orgunitstructure_temp (organisationunitid integer not nu

ll primary key, organisationunituid character(11), level integer, idlevel1 integer, uidlevel1 character(11), `idleve

l2integer,uidlevel2character(11),idlevel3integer,uidlevel3` character(11)); (JdbcResourceTableStore.java [ta

skScheduler-1])

  • INFO 2015-12-07 17:41:06,495 Populate table content rows: 203 (JdbcResourceTableStore.java [taskScheduler-1])
  • INFO 2015-12-07 17:41:06,546 Create index SQL: create unique index in_orgunitstructure_organisationunituid_VWU2G on _

orgunitstructure_temp(organisationunituid) (JdbcResourceTableStore.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,582 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [drop table _orgunitstructure;]; nested exception is com.mysql.jd

bc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table ‘dhis._orgunitstructure’] (InMemoryNotifier.java [tas

kScheduler-1])



Error3: Tried to copy resource table structures from old db and tried generate resource table option, this time got the below error:

  • INFO 2015-12-07 18:05:19,296 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 18:05:19 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [create unique index in_dataelementstructure_dataelementuid_M86c6

on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_datasetid_fVMFF on _dataelementstruc

ture_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelementstructure_temp(datasetuid);cre

ate index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodtypeid);]; nested exception is

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that c

orresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructure_datasetid

_fVMFF on _dataelementstructure_te’ at line 1] (InMemoryNotifier.java [taskScheduler-5])

  • ERROR 2015-12-07 18:05:19,319 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-5])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [create unique index in_dataelements

tructure_dataelementuid_M86c6 on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_dataset

id_fVMFF on _dataelementstructure_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelements

tructure_temp(datasetuid);create index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodty

peid);]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL sy

ntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create index in_d

ataelementstructure_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)

at org.hisp.dhis.resourcetable.jdbc.JdbcResourceTableStore.generateResourceTable(JdbcResourceTableStore.java:118

)

at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateDataElementTable(DefaultResourceTableService.

java:198)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

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

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

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

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce

ptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec

tSupport.java:281)

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

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

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

at com.sun.proxy.$Proxy143.generateDataElementTable(Unknown Source)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.generateAll(ResourceTableTask.java:121)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.run(ResourceTableTask.java:84)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.ja

va:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the ma

nual that corresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructur

e_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742)

at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)

at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 26 more

Thanks,
Neeraj Gupta


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

Knut Staring

Dept. of Informatics, University of Oslo

Norway: +4791880522

Skype: knutstar

http://dhis2.org

Thanks,
Neeraj Gupta

Thanks Markus,

I have registered a bug on launchpad.

···

On Tue, Dec 8, 2015 at 4:01 PM, Markus Bekken markus.bekken@gmail.com wrote:

Hi Neeraj,
always good to have a bug to link to. I am testing the fix now and will apply to trunk and 2.21. Struggling a but with connectivity working from a training venue in Palestine, but it will be ready soon.

Markus

  1. des. 2015 kl. 10.48 skrev Neeraj Gupta neeraj.hisp@gmail.com:

Thanks Lars.

Shall I report the bug nn launchpad for this?


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

On Tue, Dec 8, 2015 at 1:55 PM, Lars Helge Øverland larshelge@gmail.com wrote:

I can see that table programrule has a column “condition” which appears to be a reserved word in mysql.

Will look into it.

Lars


Thanks,
Neeraj Gupta

On Tue, Dec 8, 2015 at 7:05 AM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Yes, ran all sql scripts.


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

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

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

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

Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org

On Tue, Dec 8, 2015 at 11:34 AM, Knut Staring knutst@gmail.com wrote:

But I assume you ran all the Sql update scripts?

On 8 Dec 2015 07:02, “Knut Staring” knutst@gmail.com wrote:

---------- Forwarded message ----------
From: “Neeraj Gupta” neeraj.hisp@gmail.com
Date: 8 Dec 2015 06:54
Subject: Re: [Dhis2-devs] Exception with Mysql database in version 2.21
To: “Knut Staring” knutst@gmail.com
Cc:

Thanks for replying Knut.

We upgraded directly from 2.16 to 2.21. But the errors seems more database related

For example if we see drop _orgunitstructure query, it should be dropped irrespective of versions.


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

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

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

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

Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 6:24 PM, Knut Staring knutst@gmail.com wrote:

You upgraded directly? Or step by step (2.17, 2.18…)


Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 1:52 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Dear All,

We recently upgraded DHIS 2.16 to 2.21 where database is Mysql some of the errors are listed below, can someone please guide us?(We are using aggregated data not tracker)

Error1:

In mysql *programrule *table is not created automatically. While starting getting the below error:

  • ERROR 2015-12-07 17:36:56,864 Problem updating: programrule, id column: programruleid (IdentityPopulator.java [localho

st-startStop-1])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT * from programrule WHERE uid

IS NULL]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’

doesn’t exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:471)

at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:526)

at org.hisp.dhis.common.IdentityPopulator.execute(IdentityPopulator.java:86)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:117)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:86)

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:71)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’ doesn’t exist

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)

at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:455)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 19 more

  • INFO 2015-12-07 17:36:57,144 Executing startup routine [6 of 13, runlevel 5]: TableCreator (DefaultStartupRoutineExec

utor.java [localhost-startStop-1])



Error2: While generating resource tables got the below error, think the query should be DROP TABLE IF EXISTS _orgunitstructure; Same applies for all resource tables.

  • INFO 2015-12-07 17:41:06,417 [Level: INFO, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messag

e: Generating resource tables] (InMemoryNotifier.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,465 Create table SQL: create table _orgunitstructure_temp (organisationunitid integer not nu

ll primary key, organisationunituid character(11), level integer, idlevel1 integer, uidlevel1 character(11), `idleve

l2integer,uidlevel2character(11),idlevel3integer,uidlevel3` character(11)); (JdbcResourceTableStore.java [ta

skScheduler-1])

  • INFO 2015-12-07 17:41:06,495 Populate table content rows: 203 (JdbcResourceTableStore.java [taskScheduler-1])
  • INFO 2015-12-07 17:41:06,546 Create index SQL: create unique index in_orgunitstructure_organisationunituid_VWU2G on _

orgunitstructure_temp(organisationunituid) (JdbcResourceTableStore.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,582 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [drop table _orgunitstructure;]; nested exception is com.mysql.jd

bc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table ‘dhis._orgunitstructure’] (InMemoryNotifier.java [tas

kScheduler-1])



Error3: Tried to copy resource table structures from old db and tried generate resource table option, this time got the below error:

  • INFO 2015-12-07 18:05:19,296 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 18:05:19 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [create unique index in_dataelementstructure_dataelementuid_M86c6

on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_datasetid_fVMFF on _dataelementstruc

ture_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelementstructure_temp(datasetuid);cre

ate index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodtypeid);]; nested exception is

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that c

orresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructure_datasetid

_fVMFF on _dataelementstructure_te’ at line 1] (InMemoryNotifier.java [taskScheduler-5])

  • ERROR 2015-12-07 18:05:19,319 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-5])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [create unique index in_dataelements

tructure_dataelementuid_M86c6 on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_dataset

id_fVMFF on _dataelementstructure_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelements

tructure_temp(datasetuid);create index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodty

peid);]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL sy

ntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create index in_d

ataelementstructure_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)

at org.hisp.dhis.resourcetable.jdbc.JdbcResourceTableStore.generateResourceTable(JdbcResourceTableStore.java:118

)

at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateDataElementTable(DefaultResourceTableService.

java:198)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

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

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

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

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce

ptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec

tSupport.java:281)

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

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

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

at com.sun.proxy.$Proxy143.generateDataElementTable(Unknown Source)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.generateAll(ResourceTableTask.java:121)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.run(ResourceTableTask.java:84)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.ja

va:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the ma

nual that corresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructur

e_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742)

at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)

at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 26 more

Thanks,
Neeraj Gupta


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

Knut Staring

Dept. of Informatics, University of Oslo

Norway: +4791880522

Skype: knutstar

http://dhis2.org

Thanks,
Neeraj Gupta

A fix has been backported to 2.21. Get latest build on ci.dhis2.org in 20 minutes.

···

On Tue, Dec 8, 2015 at 12:17 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Thanks Markus,

I have registered a bug on launchpad.

On Tue, Dec 8, 2015 at 4:01 PM, Markus Bekken markus.bekken@gmail.com wrote:

Hi Neeraj,
always good to have a bug to link to. I am testing the fix now and will apply to trunk and 2.21. Struggling a but with connectivity working from a training venue in Palestine, but it will be ready soon.

Markus

  1. des. 2015 kl. 10.48 skrev Neeraj Gupta neeraj.hisp@gmail.com:

Thanks Lars.

Shall I report the bug nn launchpad for this?


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

Thanks,
Neeraj Gupta

On Tue, Dec 8, 2015 at 1:55 PM, Lars Helge Øverland larshelge@gmail.com wrote:

I can see that table programrule has a column “condition” which appears to be a reserved word in mysql.

Will look into it.

Lars


Thanks,
Neeraj Gupta

On Tue, Dec 8, 2015 at 7:05 AM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Yes, ran all sql scripts.


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

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

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

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

Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org

On Tue, Dec 8, 2015 at 11:34 AM, Knut Staring knutst@gmail.com wrote:

But I assume you ran all the Sql update scripts?

On 8 Dec 2015 07:02, “Knut Staring” knutst@gmail.com wrote:

---------- Forwarded message ----------
From: “Neeraj Gupta” neeraj.hisp@gmail.com
Date: 8 Dec 2015 06:54
Subject: Re: [Dhis2-devs] Exception with Mysql database in version 2.21
To: “Knut Staring” knutst@gmail.com
Cc:

Thanks for replying Knut.

We upgraded directly from 2.16 to 2.21. But the errors seems more database related

For example if we see drop _orgunitstructure query, it should be dropped irrespective of versions.


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

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

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

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

Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 6:24 PM, Knut Staring knutst@gmail.com wrote:

You upgraded directly? Or step by step (2.17, 2.18…)


Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 1:52 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Dear All,

We recently upgraded DHIS 2.16 to 2.21 where database is Mysql some of the errors are listed below, can someone please guide us?(We are using aggregated data not tracker)

Error1:

In mysql *programrule *table is not created automatically. While starting getting the below error:

  • ERROR 2015-12-07 17:36:56,864 Problem updating: programrule, id column: programruleid (IdentityPopulator.java [localho

st-startStop-1])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT * from programrule WHERE uid

IS NULL]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’

doesn’t exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:471)

at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:526)

at org.hisp.dhis.common.IdentityPopulator.execute(IdentityPopulator.java:86)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:117)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:86)

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:71)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’ doesn’t exist

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)

at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:455)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 19 more

  • INFO 2015-12-07 17:36:57,144 Executing startup routine [6 of 13, runlevel 5]: TableCreator (DefaultStartupRoutineExec

utor.java [localhost-startStop-1])



Error2: While generating resource tables got the below error, think the query should be DROP TABLE IF EXISTS _orgunitstructure; Same applies for all resource tables.

  • INFO 2015-12-07 17:41:06,417 [Level: INFO, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messag

e: Generating resource tables] (InMemoryNotifier.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,465 Create table SQL: create table _orgunitstructure_temp (organisationunitid integer not nu

ll primary key, organisationunituid character(11), level integer, idlevel1 integer, uidlevel1 character(11), `idleve

l2integer,uidlevel2character(11),idlevel3integer,uidlevel3` character(11)); (JdbcResourceTableStore.java [ta

skScheduler-1])

  • INFO 2015-12-07 17:41:06,495 Populate table content rows: 203 (JdbcResourceTableStore.java [taskScheduler-1])
  • INFO 2015-12-07 17:41:06,546 Create index SQL: create unique index in_orgunitstructure_organisationunituid_VWU2G on _

orgunitstructure_temp(organisationunituid) (JdbcResourceTableStore.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,582 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [drop table _orgunitstructure;]; nested exception is com.mysql.jd

bc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table ‘dhis._orgunitstructure’] (InMemoryNotifier.java [tas

kScheduler-1])



Error3: Tried to copy resource table structures from old db and tried generate resource table option, this time got the below error:

  • INFO 2015-12-07 18:05:19,296 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 18:05:19 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [create unique index in_dataelementstructure_dataelementuid_M86c6

on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_datasetid_fVMFF on _dataelementstruc

ture_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelementstructure_temp(datasetuid);cre

ate index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodtypeid);]; nested exception is

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that c

orresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructure_datasetid

_fVMFF on _dataelementstructure_te’ at line 1] (InMemoryNotifier.java [taskScheduler-5])

  • ERROR 2015-12-07 18:05:19,319 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-5])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [create unique index in_dataelements

tructure_dataelementuid_M86c6 on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_dataset

id_fVMFF on _dataelementstructure_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelements

tructure_temp(datasetuid);create index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodty

peid);]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL sy

ntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create index in_d

ataelementstructure_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)

at org.hisp.dhis.resourcetable.jdbc.JdbcResourceTableStore.generateResourceTable(JdbcResourceTableStore.java:118

)

at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateDataElementTable(DefaultResourceTableService.

java:198)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

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

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

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

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce

ptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec

tSupport.java:281)

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

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

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

at com.sun.proxy.$Proxy143.generateDataElementTable(Unknown Source)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.generateAll(ResourceTableTask.java:121)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.run(ResourceTableTask.java:84)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.ja

va:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the ma

nual that corresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructur

e_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742)

at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)

at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 26 more

Thanks,
Neeraj Gupta


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

Knut Staring

Dept. of Informatics, University of Oslo

Norway: +4791880522

Skype: knutstar

http://dhis2.org

Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org

Thanks Lars.

···

On Tue, Dec 8, 2015 at 4:49 PM, Lars Helge Øverland larshelge@gmail.com wrote:

A fix has been backported to 2.21. Get latest build on ci.dhis2.org in 20 minutes.

On Tue, Dec 8, 2015 at 12:17 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Thanks Markus,

I have registered a bug on launchpad.


Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org

On Tue, Dec 8, 2015 at 4:01 PM, Markus Bekken markus.bekken@gmail.com wrote:

Hi Neeraj,
always good to have a bug to link to. I am testing the fix now and will apply to trunk and 2.21. Struggling a but with connectivity working from a training venue in Palestine, but it will be ready soon.

Markus

  1. des. 2015 kl. 10.48 skrev Neeraj Gupta neeraj.hisp@gmail.com:

Thanks Lars.

Shall I report the bug nn launchpad for this?


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

Thanks,
Neeraj Gupta

On Tue, Dec 8, 2015 at 1:55 PM, Lars Helge Øverland larshelge@gmail.com wrote:

I can see that table programrule has a column “condition” which appears to be a reserved word in mysql.

Will look into it.

Lars


Thanks,
Neeraj Gupta

On Tue, Dec 8, 2015 at 7:05 AM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Yes, ran all sql scripts.


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

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

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

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

Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org

On Tue, Dec 8, 2015 at 11:34 AM, Knut Staring knutst@gmail.com wrote:

But I assume you ran all the Sql update scripts?

On 8 Dec 2015 07:02, “Knut Staring” knutst@gmail.com wrote:

---------- Forwarded message ----------
From: “Neeraj Gupta” neeraj.hisp@gmail.com
Date: 8 Dec 2015 06:54
Subject: Re: [Dhis2-devs] Exception with Mysql database in version 2.21
To: “Knut Staring” knutst@gmail.com
Cc:

Thanks for replying Knut.

We upgraded directly from 2.16 to 2.21. But the errors seems more database related

For example if we see drop _orgunitstructure query, it should be dropped irrespective of versions.


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

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

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

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

Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 6:24 PM, Knut Staring knutst@gmail.com wrote:

You upgraded directly? Or step by step (2.17, 2.18…)


Thanks,
Neeraj Gupta

On Mon, Dec 7, 2015 at 1:52 PM, Neeraj Gupta neeraj.hisp@gmail.com wrote:

Dear All,

We recently upgraded DHIS 2.16 to 2.21 where database is Mysql some of the errors are listed below, can someone please guide us?(We are using aggregated data not tracker)

Error1:

In mysql *programrule *table is not created automatically. While starting getting the below error:

  • ERROR 2015-12-07 17:36:56,864 Problem updating: programrule, id column: programruleid (IdentityPopulator.java [localho

st-startStop-1])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT * from programrule WHERE uid

IS NULL]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’

doesn’t exist

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:471)

at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:526)

at org.hisp.dhis.common.IdentityPopulator.execute(IdentityPopulator.java:86)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:117)

at org.hisp.dhis.system.startup.DefaultStartupRoutineExecutor.execute(DefaultStartupRoutineExecutor.java:86)

at org.hisp.dhis.system.startup.StartupListener.contextInitialized(StartupListener.java:71)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)

at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945)

at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1768)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘dhis.programrule’ doesn’t exist

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)

at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)

at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:455)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 19 more

  • INFO 2015-12-07 17:36:57,144 Executing startup routine [6 of 13, runlevel 5]: TableCreator (DefaultStartupRoutineExec

utor.java [localhost-startStop-1])



Error2: While generating resource tables got the below error, think the query should be DROP TABLE IF EXISTS _orgunitstructure; Same applies for all resource tables.

  • INFO 2015-12-07 17:41:06,417 [Level: INFO, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messag

e: Generating resource tables] (InMemoryNotifier.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,465 Create table SQL: create table _orgunitstructure_temp (organisationunitid integer not nu

ll primary key, organisationunituid character(11), level integer, idlevel1 integer, uidlevel1 character(11), `idleve

l2integer,uidlevel2character(11),idlevel3integer,uidlevel3` character(11)); (JdbcResourceTableStore.java [ta

skScheduler-1])

  • INFO 2015-12-07 17:41:06,495 Populate table content rows: 203 (JdbcResourceTableStore.java [taskScheduler-1])
  • INFO 2015-12-07 17:41:06,546 Create index SQL: create unique index in_orgunitstructure_organisationunituid_VWU2G on _

orgunitstructure_temp(organisationunituid) (JdbcResourceTableStore.java [taskScheduler-1])

  • INFO 2015-12-07 17:41:06,582 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 17:41:06 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [drop table _orgunitstructure;]; nested exception is com.mysql.jd

bc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table ‘dhis._orgunitstructure’] (InMemoryNotifier.java [tas

kScheduler-1])



Error3: Tried to copy resource table structures from old db and tried generate resource table option, this time got the below error:

  • INFO 2015-12-07 18:05:19,296 [Level: ERROR, category: RESOURCETABLE_UPDATE, time: Mon Dec 07 18:05:19 IST 2015, messa

ge: Process failed: StatementCallback; bad SQL grammar [create unique index in_dataelementstructure_dataelementuid_M86c6

on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_datasetid_fVMFF on _dataelementstruc

ture_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelementstructure_temp(datasetuid);cre

ate index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodtypeid);]; nested exception is

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that c

orresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructure_datasetid

_fVMFF on _dataelementstructure_te’ at line 1] (InMemoryNotifier.java [taskScheduler-5])

  • ERROR 2015-12-07 18:05:19,319 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-5])

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [create unique index in_dataelements

tructure_dataelementuid_M86c6 on _dataelementstructure_temp(dataelementuid);create index in_dataelementstructure_dataset

id_fVMFF on _dataelementstructure_temp(datasetid);create index in_dataelementstructure_datasetuid_nsdEu on _dataelements

tructure_temp(datasetuid);create index in_dataelementstructure_periodtypeid_EkjZg on _dataelementstructure_temp(periodty

peid);]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL sy

ntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'create index in_d

ataelementstructure_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTrans

lator.java:231)

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptio

nTranslator.java:73)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:416)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)

at org.hisp.dhis.resourcetable.jdbc.JdbcResourceTableStore.generateResourceTable(JdbcResourceTableStore.java:118

)

at org.hisp.dhis.resourcetable.DefaultResourceTableService.generateDataElementTable(DefaultResourceTableService.

java:198)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

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

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

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

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterce

ptor.java:99)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspec

tSupport.java:281)

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

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

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

at com.sun.proxy.$Proxy143.generateDataElementTable(Unknown Source)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.generateAll(ResourceTableTask.java:121)

at org.hisp.dhis.resourcetable.scheduling.ResourceTableTask.run(ResourceTableTask.java:84)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.ja

va:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the ma

nual that corresponds to your MySQL server version for the right syntax to use near 'create index in_dataelementstructur

e_datasetid_fVMFF on _dataelementstructure_te’ at line 1

at sun.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)

at com.mysql.jdbc.Util.getInstance(Util.java:360)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742)

at com.mchange.v2.c3p0.impl.NewProxyStatement.execute(NewProxyStatement.java:1006)

at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:432)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:405)

… 26 more

Thanks,
Neeraj Gupta


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

Knut Staring

Dept. of Informatics, University of Oslo

Norway: +4791880522

Skype: knutstar

http://dhis2.org

Thanks,
Neeraj Gupta