Hi. No, I'm the one doing the export, and i'm trying to send the export to Rowan. And all of my ConceptAnswer.answerDrug fields point to real Drugs in the export database.
i.e., select answer_drug from concept_answer where answer_drug is not null and answer_drug not in (select drug_id from drug); returns 0 rows. So there's no wrong data in the export DB. On the import database, the Drug should just be created. And this is what's not working. d On Thu, Mar 1, 2012 at 11:50 AM, Rafal Korytkowski <[email protected]>wrote: > Dave, it's Hibernate that complains about the violated FK constraint which > throws an exception while initializing the object. It should be possible to > catch that runtime exception. We would have to watch out for that as it may > happen either while loading an object or calling one of its getters > (depending on the lazy-loading setting). The catch should be somewhere in > OpenmrsObjectVisitor where the exception is thrown (see Rowan's stacktrace). > > The question is if MDS should be handling wrong data in your db :-) > > -Rafal > > > > On 1 March 2012 20:10, Rowan Seymour <[email protected]> wrote: > >> Rafal was right - we were missing the drug in the database after a >> previous SQL import of concepts... which is why SQL dumps are not a great >> way to move concepts around and why we really appreciate the work you guys >> are doing on MDS >> >> >> On 1 March 2012 20:48, Dave Thomas <[email protected]> wrote: >> >>> Why wouldn't the drug just be added to the metadata sharing package when >>> referenced by answer_drug? >>> >>> I don't see why you'd ever want to import/export a concept with an >>> answer_drug where you wouldn't want the package to include the drug. >>> >>> (rolling up sleeves to look at metadatasharing code) >>> >>> d >>> >>> >>> On Thu, Mar 1, 2012 at 4:35 AM, Rafal Korytkowski <[email protected]>wrote: >>> >>>> It's possible that you may have imported it. Normally MySQL dumps are >>>> imported with foreign_key_checks=OFF. >>>> >>>> I'd assume this drug is in the concept_answer table so execute this >>>> query: >>>> >>>> select * from concept_answer where answer_drug = 142; >>>> >>>> -Rafal >>>> >>>> >>>> On 1 March 2012 13:10, Rowan Seymour <[email protected]> wrote: >>>> >>>>> There is no drug 142. Am looking in the database to see where we could >>>>> have a FK constraint violation. It's InnoDB tables >>>>> with foreign_key_checks=ON so I don't see how it's possible. What do you >>>>> think is referencing that drug? >>>>> >>>>> I'll create a ticket for the other exception. >>>>> >>>>> Thanks >>>>> >>>>> >>>>> On 1 March 2012 13:15, Rafal Korytkowski <[email protected]> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> The export fails since you've got a FK constraint violation in your >>>>>> db: *No row with the given identifier exists: >>>>>> [org.openmrs.Drug#142]. *Make sure that a drug with id 142 exists or >>>>>> don't reference it in your concepts. >>>>>> >>>>>> Regarding the import it's trying to save concepts in the wrong order. >>>>>> Can you please create a ticket and attach your package if it's possible >>>>>> or >>>>>> else I'll ask you to help me inspect the xml further. >>>>>> >>>>>> -Rafal >>>>>> >>>>>> On 1 March 2012 11:29, Rowan Seymour <[email protected]> wrote: >>>>>> >>>>>>> Another exception - this time trying to export all concepts from the >>>>>>> same server: >>>>>>> >>>>>>> *Caused by: org.openmrs.module.metadatasharing.task.TaskException: >>>>>>> Export failed* >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.execute(ExportPackageTask.java:125) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.api.impl.MetadataSharingServiceImpl.executeTask(MetadataSharingServiceImpl.java:198) >>>>>>> * >>>>>>> * ...* >>>>>>> *Caused by: org.hibernate.ObjectNotFoundException: No row with the >>>>>>> given identifier exists: [org.openmrs.Drug#142]* >>>>>>> * at >>>>>>> org.hibernate.impl.SessionFactoryImpl$1.handleEntityNotFound(SessionFactoryImpl.java:377) >>>>>>> * >>>>>>> * at >>>>>>> org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:79) >>>>>>> * >>>>>>> * at >>>>>>> org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:68) >>>>>>> * >>>>>>> * at >>>>>>> org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.visitor.impl.OpenmrsObjectVisitor$1.visit(OpenmrsObjectVisitor.java:89) >>>>>>> * >>>>>>> * at >>>>>>> com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:129) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.visitor.impl.OpenmrsObjectVisitor.visitFields(OpenmrsObjectVisitor.java:83) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.resolveRelatedItems(ExportPackageTask.java:176) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.access$2(ExportPackageTask.java:175) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask$1.visitMetadata(ExportPackageTask.java:202) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask$1.visit(ExportPackageTask.java:184) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.visitor.impl.OpenmrsObjectVisitor$1.visit(OpenmrsObjectVisitor.java:96) >>>>>>> * >>>>>>> * at >>>>>>> com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:129) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.visitor.impl.OpenmrsObjectVisitor.visitFields(OpenmrsObjectVisitor.java:83) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.resolveRelatedItems(ExportPackageTask.java:176) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.exportSubpackage(ExportPackageTask.java:148) >>>>>>> * >>>>>>> * at >>>>>>> org.openmrs.module.metadatasharing.task.impl.ExportPackageTask.execute(ExportPackageTask.java:98) >>>>>>> * >>>>>>> * ... 44 more* >>>>>>> >>>>>>> >>>>>>> It also outputted about 15MB to my catalina.out log, most of which >>>>>>> appears to be repetition of this warning: >>>>>>> >>>>>>> *WARN - StringLocaleConverter.getDecimalFormat(281) |2012-03-01 >>>>>>> 11:54:50,961| No pattern provided, using default.* >>>>>>> >>>>>>> >>>>>>> On 1 March 2012 12:13, Rowan Seymour <[email protected]> wrote: >>>>>>> >>>>>>>> Am trying to import a package with MDS 1.0.2 and getting the >>>>>>>> exception below. The package was also made with 1.0.2 >>>>>>>> * >>>>>>>> * >>>>>>>> *Caused by: org.openmrs.module.metadatasharing.task.TaskException: >>>>>>>> Import failed* >>>>>>>> *...* >>>>>>>> *Caused by: org.openmrs.api.db.DAOException: Error saving >>>>>>>> org.openmrs.Concept [e44dae58-fec8-4567-bd44-e989232af0e7]* >>>>>>>> *...* >>>>>>>> *Caused by: org.openmrs.api.APIException: Cannot save 7073. Failed >>>>>>>> with the following exception:* >>>>>>>> *java.lang.reflect.InvocationTargetException* >>>>>>>> * >>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>>>> Method) >>>>>>>> at >>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>>>>> at >>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.reflection.OpenmrsClassScanner.invokeServiceSaveItem(OpenmrsClassScanner.java:254) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.reflection.OpenmrsClassScanner.serviceSaveItem(OpenmrsClassScanner.java:174) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.handler.impl.OpenmrsObjectHandler.saveItem(OpenmrsObjectHandler.java:107) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.handler.impl.OpenmrsObjectHandler.saveItem(OpenmrsObjectHandler.java:1) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.handler.Handler.saveItem(Handler.java:38) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.saveItem(ImportPackageTask.java:284) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.saveItem(ImportPackageTask.java:278) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.saveItem(ImportPackageTask.java:278) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.saveItem(ImportPackageTask.java:278) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.saveItem(ImportPackageTask.java:278) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.importItems(ImportPackageTask.java:199) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.task.impl.ImportPackageTask.execute(ImportPackageTask.java:85) >>>>>>>> at >>>>>>>> org.openmrs.module.metadatasharing.api.impl.MetadataSharingServiceImpl.executeTask(MetadataSharingServiceImpl.java:198) >>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>> * >>>>>>>> *...* >>>>>>>> *Caused by: org.hibernate.PropertyValueException: not-null >>>>>>>> property references a null or transient value: >>>>>>>> org.openmrs.ConceptAnswer.answerConcept* >>>>>>>> * >>>>>>>> at >>>>>>>> org.hibernate.engine.Nullability.checkNullability(Nullability.java:72) >>>>>>>> at >>>>>>>> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290) >>>>>>>> * >>>>>>>> >>>>>>>> I assume "*Cannot save 7073*" refers to the item with id=7073 >>>>>>>> which would be this ConceptMap in the metadata.xml: >>>>>>>> >>>>>>>> <org.openmrs.ConceptMap id="*7073*" >>>>>>>> uuid="75591ABBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"> >>>>>>>> <conceptMapId>13,329</conceptMapId> >>>>>>>> <concept reference="7046"/> >>>>>>>> <source reference="671"/> >>>>>>>> <sourceCode>283025007</sourceCode> >>>>>>>> <comment>Map Type: 1</comment> >>>>>>>> <creator/> >>>>>>>> <dateCreated id="7074">2010-04-25 >>>>>>>> 11:29:41</dateCreated> >>>>>>>> </org.openmrs.ConceptMap> >>>>>>>> >>>>>>>> And the concept with that UUID is: >>>>>>>> >>>>>>>> <org.openmrs.ConceptAnswer id="10576" >>>>>>>> uuid="575e736e-347a-4487-aced-10c7cdd9ec5f"> >>>>>>>> <conceptAnswerId>6,850</conceptAnswerId> >>>>>>>> <concept reference="5900"/> >>>>>>>> <answerConcept id="10577" >>>>>>>> resolves-to="org.openmrs.Concept" uuid="* >>>>>>>> e44dae58-fec8-4567-bd44-e989232af0e7*"> >>>>>>>> <conceptId>7,181</conceptId> >>>>>>>> <retired>false</retired> >>>>>>>> <datatype reference="37"/> >>>>>>>> <conceptClass reference="897"/> >>>>>>>> <set>false</set> >>>>>>>> <version>1</version> >>>>>>>> <creator/> >>>>>>>> <dateCreated id="10579">2011-12-15 >>>>>>>> 04:22:46</dateCreated> >>>>>>>> <changedBy/> >>>>>>>> <dateChanged id="10580">2012-01-16 >>>>>>>> 20:03:00</dateChanged> >>>>>>>> <names class="set" id="10581"> >>>>>>>> <org.openmrs.ConceptName id="10582" >>>>>>>> uuid="435c4cb9-5527-491c-87c6-43c3bd64c2e5"> >>>>>>>> <conceptNameId>14,688</conceptNameId> >>>>>>>> <concept reference="10577"/> >>>>>>>> <name>Obstructed Labor, Antepartum</name> >>>>>>>> <locale id="10583">en</locale> >>>>>>>> <creator/> >>>>>>>> <dateCreated id="10584">2011-12-15 >>>>>>>> 04:22:46</dateCreated> >>>>>>>> <voided>false</voided> >>>>>>>> <tags class="set" id="10585"> >>>>>>>> <org.openmrs.ConceptNameTag >>>>>>>> reference="28"/> >>>>>>>> </tags> >>>>>>>> </org.openmrs.ConceptName> >>>>>>>> </names> >>>>>>>> <answers class="set" id="10586"/> >>>>>>>> <conceptSets class="set" id="10587"/> >>>>>>>> <descriptions class="set" id="10588"/> >>>>>>>> <conceptMappings class="set" id="10589"> >>>>>>>> <org.openmrs.ConceptMap id="10590" >>>>>>>> uuid="12e8f7ab-c801-4c4e-9ba0-d5a516a8ac81"> >>>>>>>> <conceptMapId>13,442</conceptMapId> >>>>>>>> <concept reference="10577"/> >>>>>>>> <source reference="1428"/> >>>>>>>> <sourceCode>O66.9</sourceCode> >>>>>>>> <creator/> >>>>>>>> <dateCreated id="10591">2011-12-15 >>>>>>>> 04:22:46</dateCreated> >>>>>>>> </org.openmrs.ConceptMap> >>>>>>>> <org.openmrs.ConceptMap id="10592" >>>>>>>> uuid="06e77deb-29b4-423b-bfb3-51f7670dae71"> >>>>>>>> <conceptMapId>14,034</conceptMapId> >>>>>>>> <concept reference="10577"/> >>>>>>>> <source reference="76"/> >>>>>>>> <sourceCode>7181</sourceCode> >>>>>>>> <creator/> >>>>>>>> <dateCreated id="10593">2012-01-16 >>>>>>>> 20:03:00</dateCreated> >>>>>>>> </org.openmrs.ConceptMap> >>>>>>>> <org.openmrs.ConceptMap id="10594" >>>>>>>> uuid="0332cfca-4aa4-46a9-9b76-6fa45c9ba336"> >>>>>>>> <conceptMapId>13,441</conceptMapId> >>>>>>>> <concept reference="10577"/> >>>>>>>> <source reference="71"/> >>>>>>>> <sourceCode>7558</sourceCode> >>>>>>>> <creator/> >>>>>>>> <dateCreated id="10595">2011-12-15 >>>>>>>> 09:20:01</dateCreated> >>>>>>>> </org.openmrs.ConceptMap> >>>>>>>> </conceptMappings> >>>>>>>> <compatibleCache id="10596"> >>>>>>>> <entry> >>>>>>>> <locale reference="92"/> >>>>>>>> <vector id="10597"> >>>>>>>> <org.openmrs.ConceptName >>>>>>>> reference="10582"/> >>>>>>>> </vector> >>>>>>>> </entry> >>>>>>>> </compatibleCache> >>>>>>>> </answerConcept> >>>>>>>> <creator/> >>>>>>>> <dateCreated id="10598">2011-12-15 >>>>>>>> 04:23:05</dateCreated> >>>>>>>> </org.openmrs.ConceptAnswer> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Rowan Seymour* >>>>>>> tel: +250 783835665 >>>>>>> http://twitter.com/rowanseymour >>>>>>> >>>>>>> ------------------------------ >>>>>>> Click here to >>>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>>> OpenMRS Developers' mailing list >>>>>>> >>>>>> >>>>>> ------------------------------ >>>>>> Click here to >>>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>>> OpenMRS Developers' mailing list >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> *Rowan Seymour* >>>>> tel: +250 783835665 >>>>> http://twitter.com/rowanseymour >>>>> >>>>> ------------------------------ >>>>> Click here to >>>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>>> OpenMRS Developers' mailing list >>>>> >>>> >>>> ------------------------------ >>>> Click here to >>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>> OpenMRS Developers' mailing list >>>> >>> >>> ------------------------------ >>> Click here to >>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>> OpenMRS Developers' mailing list >>> >> >> >> >> -- >> *Rowan Seymour* >> tel: +250 783835665 >> http://twitter.com/rowanseymour >> >> ------------------------------ >> Click here to >> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >> OpenMRS Developers' mailing list >> > > ------------------------------ > Click here to > unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from > OpenMRS Developers' mailing list > _________________________________________ To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to [email protected] with "SIGNOFF openmrs-devel-l" in the body (not the subject) of your e-mail. [mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

