Hey devs, Be great to get a response on this. At the moment it's preventing us from using compulsory data elements at all.
I've reproduced it on other 2.26 instances too. Thanks, - Jasper On Tue, Nov 14, 2017 at 1:02 PM, Jasper Timm <jasper.t...@ehealthnigeria.org > wrote: > Hi devs, > > We're having trouble making data elements compulsory for a data set. This > is for DHIS2 2.26. > > When attempting to save a data set after adding data elements as > compulsory we get the following 500 error from the server: > "No row with the given identifier exists: [org.hisp.dhis.dataset. > DataSetElement#30043359]" > > The given id does exist in the DataSetElement table. If I was to guess, it > appears to be an issue with Hibernate caching... > > (Note, we were previously getting an error on the uniqueness constraint > for dataElementOperands, but we've removed this constraint from the DB.) > > Here is the relevant part of the stack trace: > > > 11:07:39 > * INFO 2017-11-14 11:07:39,759 (admin) Updating 1 object(s) of type > DataSet (DefaultObjectBundleService.java [http-apr-8080-exec-3685]) > > 11:07:39 > org.hibernate.ObjectNotFoundException: No row with the given identifier > exists: [org.hisp.dhis.dataset.DataSetElement#30043359] > > 11:07:39 > at org.hibernate.boot.internal.StandardEntityNotFoundDelegate > .handleEntityNotFound(StandardEntityNotFoundDelegate.java:28) > > 11:07:39 > at org.hibernate.event.internal.DefaultLoadEventListener.load( > DefaultLoadEventListener.java:227) > > 11:07:39 > at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad( > DefaultLoadEventListener.java:278) > > 11:07:39 > at org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad( > DefaultLoadEventListener.java:121) > > 11:07:39 > at org.hibernate.event.internal.DefaultLoadEventListener.onLoad( > DefaultLoadEventListener.java:89) > > 11:07:39 > at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1142) > > 11:07:39 > at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1025) > > 11:07:39 > at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:639) > > 11:07:39 > at org.hibernate.type.ManyToOneType.assemble(ManyToOneType.java:252) > > 11:07:39 > at org.hibernate.collection.internal.PersistentSet.initializeFromCache( > PersistentSet.java:128) > > 11:07:39 > at org.hibernate.cache.spi.entry.CollectionCacheEntry.assemble( > CollectionCacheEntry.java:58) > > 11:07:39 > at org.hibernate.event.internal.DefaultInitializeCollectionEventListener. > initializeCollectionFromCache(DefaultInitializeCollectionEve > ntListener.java:144) > > 11:07:39 > at org.hibernate.event.internal.DefaultInitializeCollectionEventListener. > onInitializeCollection(DefaultInitializeCollectionEventListener.java:59) > > 11:07:39 > at org.hibernate.internal.SessionImpl.initializeCollection( > SessionImpl.java:2004) > > 11:07:39 > at org.hibernate.collection.internal.AbstractPersistentCollection$ > 4.doWork(AbstractPersistentCollection.java:567) > > 11:07:39 > at org.hibernate.collection.internal.AbstractPersistentCollection. > withTemporarySessionIfNeeded(AbstractPersistentCollection.java:249) > > 11:07:39 > at org.hibernate.collection.internal.AbstractPersistentCollection. > initialize(AbstractPersistentCollection.java:563) > > 11:07:39 > at org.hibernate.collection.internal.AbstractPersistentCollection.read( > AbstractPersistentCollection.java:132) > > 11:07:39 > at org.hibernate.collection.internal.PersistentSet. > iterator(PersistentSet.java:163) > > 11:07:39 > at java.util.Spliterators$IteratorSpliterator.estimateSize(Spliterators. > java:1821) > > 11:07:39 > at java.util.Spliterator.getExactSizeIfKnown(Spliterator.java:408) > > 11:07:39 > at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:480) > > 11:07:39 > at java.util.stream.AbstractPipeline.wrapAndCopyInto( > AbstractPipeline.java:471) > > 11:07:39 > at java.util.stream.ReduceOps$ReduceOp.evaluateSequential( > ReduceOps.java:708) > > 11:07:39 > at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) > > 11:07:39 > at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) > > 11:07:39 > at org.hisp.dhis.dataelement.DataElement.getDataSets(DataElement.java:309) > > 11:07:39 > at org.hisp.dhis.dataelement.DataElement.getDataSet(DataElement.java:284) > > 11:07:39 > at org.hisp.dhis.dataelement.DataElement.getPeriodType( > DataElement.java:352) > > 11:07:39 > at org.hisp.dhis.dataelement.DataElement.getFrequencyOrder( > DataElement.java:433) > > 11:07:39 > at org.hisp.dhis.dataelement.DataElementOperand.updateProperties( > DataElementOperand.java:398) > > 11:07:39 > at org.hisp.dhis.dataelement.DataElementOperand.hashCode( > DataElementOperand.java:614) > > 11:07:39 > at java.util.HashMap.hash(HashMap.java:338) > > 11:07:39 > at java.util.HashMap.put(HashMap.java:611) > > 11:07:39 > at java.util.HashSet.add(HashSet.java:219) > > 11:07:39 > at org.hibernate.collection.internal.PersistentSet.add( > PersistentSet.java:186) > > 11:07:39 > at org.hisp.dhis.dxf2.metadata.objectbundle.hooks.DataSetObjectBundleHook. > postUpdate(DataSetObjectBundleHook.java:187) > > > -- > > *Jasper Timm* > > Lead Software Developer > > *eHealth Africa* > > Mobile +232 99891119 <+23299891119> > > www.ehealthafrica.org > > > <http://www.ehealthafrica.org/> > > -- *Jasper Timm* Lead Software Developer *eHealth Africa* Mobile +232 99891119 <+23299891119> www.ehealthafrica.org <http://www.ehealthafrica.org/>
_______________________________________________ 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