We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using the subset endpoint with many additions can cause an exception.
PUT {{base_url}}/dataModels/{sourceDataModelId}/subset/{targetDataModelId}
with a body containing, for example,
{"additions":["fbfb1a53-42d2-4437-b601-1a90d667f7c0", "6d3a0d42-93e5-427a-8203-a38c2f7a5fd0", "43dbed3c-e1f8-49b1-9ba6-43c3dfa977cc", "bdf06076-aa8e-49e2-97e8-f86fcb521ab9", "27e87165-4acb-4efa-bf87-898954c87e68", "ea8c92e7-a308-44b4-983d-3e053e86caff", "fe7ecaaa-cf86-4e26-8e1d-6db030cd9b56", "6eb3975a-c932-4ae5-8f84-83f15b49f375", "25e52261-f6b1-4e29-bf2b-f35997e9feac", "56bd2761-5a8e-42ca-b7d0-fb4e843cb4ef"], "deletions": []}
All data elements are saved to the target data model
{ "status": 500, "reason": "Internal Server Error", "errorCode": "UEX--", "message": "Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update datamodel.data_type set version=?, date_created=?, domain_type=?, last_updated=?, path=?, breadcrumb_tree_id=?, data_model_id=?, idx=?, created_by=?, aliases_string=?, label=?, description=?, units=? where id=? and version=?", "path": "/api/dataModels/8d9ada0f-a53c-470d-b947-cc7a7f80dad5/subset/c9a84242-1d4a-4068-9593-6415baee64f6", "environment": "DEVELOPMENT", "version": "5.1.0-SNAPSHOT", "exception": { "type": "StaleStateException", "message": "Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; statement executed: update datamodel.data_type set version=?, date_created=?, domain_type=?, last_updated=?, path=?, breadcrumb_tree_id=?, data_model_id=?, idx=?, created_by=?, aliases_string=?, label=?, description=?, units=? where id=? and version=?", "stacktrace": [ "org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:67)", "org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:54)", "org.hibernate.engine.jdbc.batch.internal.BatchingBatch.checkRowCounts(BatchingBatch.java:151)", "org.hibernate.engine.jdbc.batch.internal.BatchingBatch.performExecution(BatchingBatch.java:126)", "org.hibernate.engine.jdbc.batch.internal.BatchingBatch.doExecuteBatch(BatchingBatch.java:106)", "org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.execute(AbstractBatchImpl.java:148)", "org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.executeBatch(JdbcCoordinatorImpl.java:198)", "org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:633)", "org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:478)", "java.util.LinkedHashMap.forEach(LinkedHashMap.java:721)", "org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475)", "org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:344)", "org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:40)", "org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107)", "org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1416)", "org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1403)", "uk.ac.ox.softeng.maurodatamapper.core.model.CatalogueItemService.save(CatalogueItemService.groovy:100)", "uk.ac.ox.softeng.maurodatamapper.core.controller.ModelController.serviceUpdateResource(ModelController.groovy:759)", "jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)", "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "uk.ac.ox.softeng.maurodatamapper.core.controller.CatalogueItemController.updateResource(CatalogueItemController.groovy:56)", "jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)", "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "uk.ac.ox.softeng.maurodatamapper.core.controller.ModelController.updateResource(ModelController.groovy:766)", "jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)", "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "uk.ac.ox.softeng.maurodatamapper.datamodel.DataModelController.$tt__subset(DataModelController.groovy:205)", "jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)", "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)", "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)", "org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)", "grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)", "jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)", "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)", "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)", "org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)", "grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)", "jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)", "jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "org.grails.core.DefaultGrailsControllerClass$ReflectionInvoker.invoke(DefaultGrailsControllerClass.java:211)", "org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)", "org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)", "org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)", "org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)", "org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)", "org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920)", "org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)", "org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)", "org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)", "java.lang.Thread.run(Thread.java:833)" ] } }
Not clear exactly what quantity or permutation of data elements is needed to prompt this error
The text was updated successfully, but these errors were encountered:
gh-295 flush when saving data class and data element in the subset op…
9757caf
…eration
Merge pull request #296 from MauroDataMapper/feature/gh-295
56c5c74
gh-295 flush when saving data class and data element in the subset operation
aaronforshaw
Successfully merging a pull request may close this issue.
Description
Using the subset endpoint with many additions can cause an exception.
Steps to reproduce
with a body containing, for example,
Expected behavior
All data elements are saved to the target data model
Screenshots
Environment
Additional context
Not clear exactly what quantity or permutation of data elements is needed to prompt this error
The text was updated successfully, but these errors were encountered: