From: Vladimir G. <vla...@du...> - 2010-03-10 21:27:08
|
A guess: Could this be related to "caching" that hibernate does? Does anyone understand how that work? If the cache is persisted in files or in the DB, could Hibernate got confused when we suddenly dropped and restored the database last week? --VG On Mar 10, 2010, at 4:15 PM, youjun guo wrote: > Bill tried the same operation one more time and hibernate get 101 as > PK from rowsegment_id_sequence, which is correct and everything is > fine. I met same problem on table 'person' two days ago. > > Youjun > > On Wed, Mar 10, 2010 at 3:36 PM, Vladimir Gapeyev <vla...@du... > > wrote: > That's strange... I checked the definition of the RowSegment class > and it is about the same as, say Study. That is both should pick PK > from their own sequences. The current rowsegment_sequence_id is 98. > > How about trying once more -- does the generated id change from 54 > (it should, if it is picked from a sequence). > > --VG > > > On Mar 10, 2010, at 3:19 PM, Hilmar Lapp wrote: > >> It seems that hibernate assigned the primary key (54 here). I >> thought the database would do that, not hibernate? >> >> -hilmar >> >> On Mar 10, 2010, at 3:15 PM, William Piel wrote: >> >>> >>> >>> When we try to upload a rowsegment metadata, we're getting a data >>> access failure. >>> >>> >>> http://treebasedb-dev.nescent.org/treebase-web/user/rowSegmentDataTable.html >>> >>> >>> >>> Data Access Failure >>> >>> could not insert: [org.cipres.treebase.domain.matrix.RowSegment]; >>> nested exception is >>> org.hibernate.exception.ConstraintViolationException: could not >>> insert: [org.cipres.treebase.domain.matrix.RowSegment] >>> >>> org.springframework.dao.DataIntegrityViolationException: could not >>> insert: [org.cipres.treebase.domain.matrix.RowSegment]; nested >>> exception is org.hibernate.exception.ConstraintViolationException: >>> could not insert: [org.cipres.treebase.domain.matrix.RowSegment] >>> Caused by: org.hibernate.exception.ConstraintViolationException: >>> could not insert: [org.cipres.treebase.domain.matrix.RowSegment] >>> at >>> org >>> .hibernate >>> .exception.SQLStateConverter.convert(SQLStateConverter.java:71) at >>> org >>> .hibernate >>> .exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java: >>> 43) at >>> org >>> .hibernate >>> .persister >>> .entity >>> .AbstractEntityPersister.insert(AbstractEntityPersister.java:2272) >>> at >>> org >>> .hibernate >>> .persister >>> .entity >>> .AbstractEntityPersister.insert(AbstractEntityPersister.java:2665) >>> at >>> org >>> .hibernate >>> .action.EntityInsertAction.execute(EntityInsertAction.java:60) at >>> org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279) at >>> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java: >>> 263) at >>> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java: >>> 167) at >>> org >>> .hibernate >>> .event >>> .def >>> .AbstractFlushingEventListener >>> .performExecutions(AbstractFlushingEventListener.java:298) at >>> org >>> .hibernate >>> .event >>> .def >>> .DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java: >>> 27) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000) >>> at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java: >>> 338) at >>> org >>> .hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java: >>> 106) at >>> org >>> .springframework >>> .orm >>> .hibernate3 >>> .HibernateTransactionManager >>> .doCommit(HibernateTransactionManager.java:578) at >>> org >>> .springframework >>> .transaction >>> .support >>> .AbstractPlatformTransactionManager >>> .processCommit(AbstractPlatformTransactionManager.java:662) at >>> org >>> .springframework >>> .transaction >>> .support >>> .AbstractPlatformTransactionManager >>> .commit(AbstractPlatformTransactionManager.java:632) at >>> org >>> .springframework >>> .transaction >>> .interceptor >>> .TransactionAspectSupport >>> .commitTransactionAfterReturning(TransactionAspectSupport.java: >>> 314) at >>> org >>> .springframework >>> .transaction >>> .interceptor >>> .TransactionInterceptor.invoke(TransactionInterceptor.java:116) at >>> org >>> .springframework >>> .aop >>> .framework >>> .ReflectiveMethodInvocation >>> .proceed(ReflectiveMethodInvocation.java:171) at >>> org >>> .springframework >>> .aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java: >>> 204) at $Proxy75.createSegments(Unknown Source) at >>> org.cipres.treebase.web.controllers.RowSegmentDataTableController.onSubmit >>> (RowSegmentDataTableController.java:112) at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission >>> (SimpleFormController.java:267) at org.springframework.web.servlet.mvc.CancellableFormController.processFormSubmission >>> (CancellableFormController.java:140) at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal >>> (AbstractFormController.java:265) at org.springframework.web.servlet.mvc.AbstractController.handleRequest >>> (AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle >>> (SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch >>> (DispatcherServlet.java:858) at org.springframework.web.servlet.DispatcherServlet.doService >>> (DispatcherServlet.java:792) at org.springframework.web.servlet.FrameworkServlet.processRequest >>> (FrameworkServlet.java:476) at org.springframework.web.servlet.FrameworkServlet.doPost >>> (FrameworkServlet.java:441) at >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:647) at >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at >>> org >>> .apache >>> .catalina >>> .core >>> .ApplicationFilterChain >>> .internalDoFilter(ApplicationFilterChain.java:269) at >>> org >>> .apache >>> .catalina >>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: >>> 188) at >>> org >>> .displaytag >>> .filter >>> .ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) >>> at >>> org >>> .apache >>> .catalina >>> .core >>> .ApplicationFilterChain >>> .internalDoFilter(ApplicationFilterChain.java:215) at >>> org >>> .apache >>> .catalina >>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: >>> 188) at >>> org >>> .springframework >>> .orm >>> .hibernate3 >>> .support >>> .OpenSessionInViewFilter >>> .doFilterInternal(OpenSessionInViewFilter.java:198) at >>> org >>> .springframework >>> .web >>> .filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java: >>> 75) at >>> org >>> .apache >>> .catalina >>> .core >>> .ApplicationFilterChain >>> .internalDoFilter(ApplicationFilterChain.java:215) at >>> org >>> .apache >>> .catalina >>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: >>> 188) at >>> com >>> .opensymphony >>> .module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) >>> at >>> com >>> .opensymphony >>> .module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) at >>> org >>> .apache >>> .catalina >>> .core >>> .ApplicationFilterChain >>> .internalDoFilter(ApplicationFilterChain.java:215) at >>> org >>> .apache >>> .catalina >>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: >>> 188) at org.acegisecurity.util.FilterChainProxy >>> $VirtualFilterChain.doFilter(FilterChainProxy.java:264) at >>> org >>> .acegisecurity >>> .intercept >>> .web >>> .FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java: >>> 107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter >>> (FilterSecurityInterceptor.java:72) at >>> org.acegisecurity.util.FilterChainProxy >>> $VirtualFilterChain.doFilter(FilterChainProxy.java:274) at >>> org >>> .acegisecurity >>> .ui >>> .ExceptionTranslationFilter >>> .doFilter(ExceptionTranslationFilter.java:110) at >>> org.acegisecurity.util.FilterChainProxy >>> $VirtualFilterChain.doFilter(FilterChainProxy.java:274) at >>> org >>> .acegisecurity >>> .wrapper >>> .SecurityContextHolderAwareRequestFilter >>> .doFilter(SecurityContextHolderAwareRequestFilter.java:81) at >>> org.acegisecurity.util.FilterChainProxy >>> $VirtualFilterChain.doFilter(FilterChainProxy.java:274) at >>> org >>> .acegisecurity >>> .ui >>> .AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java: >>> 217) at org.acegisecurity.util.FilterChainProxy >>> $VirtualFilterChain.doFilter(FilterChainProxy.java:274) at >>> org >>> .acegisecurity >>> .context >>> .HttpSessionContextIntegrationFilter >>> .doFilter(HttpSessionContextIntegrationFilter.java:191) at >>> org.acegisecurity.util.FilterChainProxy >>> $VirtualFilterChain.doFilter(FilterChainProxy.java:274) at >>> org >>> .acegisecurity >>> .util.FilterChainProxy.doFilter(FilterChainProxy.java:148) at >>> org >>> .acegisecurity >>> .util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90) at >>> org >>> .apache >>> .catalina >>> .core >>> .ApplicationFilterChain >>> .internalDoFilter(ApplicationFilterChain.java:215) at >>> org >>> .apache >>> .catalina >>> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: >>> 188) at >>> org >>> .apache >>> .catalina >>> .core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) >>> at >>> org >>> .apache >>> .catalina >>> .core.StandardContextValve.invoke(StandardContextValve.java:172) >>> at >>> org >>> .apache >>> .catalina.core.StandardHostValve.invoke(StandardHostValve.java: >>> 127) at >>> org >>> .apache >>> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: >>> 117) at >>> org >>> .apache >>> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: >>> 108) at >>> org >>> .apache >>> .catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) >>> at >>> org >>> .apache >>> .coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java: >>> 837) at org.apache.coyote.http11.Http11AprProtocol >>> $Http11ConnectionHandler.process(Http11AprProtocol.java:640) at >>> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java: >>> 1286) at java.lang.Thread.run(Thread.java:636) Caused by: >>> java.sql.BatchUpdateException: Batch entry 0 insert into >>> ROWSEGMENT (VERSION, EndIndex, MATRIXROW_ID, CatalogNum, >>> CollectionCode, Collector, Country, Elevation, GenBAccession, >>> InstAcronym, Latitude, Locality, Longitude, Notes, OtherAccession, >>> SampleDate, State, StartIndex, TAXONLABEL_ID, Title, >>> ROWSEGMENT_ID) values (0, 4485, 224329, NULL, NULL, NULL, NULL, >>> NULL, AY3242354, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, >>> 1, NULL, NULL, 54) was aborted. Call getNextException to see the >>> cause. at org.postgresql.jdbc2.AbstractJdbc2Statement >>> $BatchResultHandler.handleError(AbstractJdbc2Statement.java:2537) >>> at >>> org >>> .postgresql >>> .core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java: >>> 1328) at >>> org >>> .postgresql >>> .core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:351) at >>> org >>> .postgresql >>> .jdbc2 >>> .AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java: >>> 2674) at >>> org >>> .apache >>> .tomcat >>> .dbcp >>> .dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java: >>> 297) at >>> org >>> .hibernate >>> .jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48) at >>> org.hibernate.jdbc.BatchingBatcher.addToBatch(BatchingBatcher.java: >>> 34) at >>> org >>> .hibernate >>> .persister >>> .entity >>> .AbstractEntityPersister.insert(AbstractEntityPersister.java: >>> 2252) ... 69 more « Back >>> ------------------------------------------------------------------------------ >>> Download Intel® Parallel Studio Eval >>> Try the new software tools for yourself. Speed compiling, find bugs >>> proactively, and fine-tune applications for parallel performance. >>> See why Intel Parallel Studio got high marks during beta. >>> http://p.sf.net/sfu/intel-sw-dev_______________________________________________ >>> Treebase-devel mailing list >>> Tre...@li... >>> https://lists.sourceforge.net/lists/listinfo/treebase-devel >> >> -- >> =========================================================== >> : Hilmar Lapp -:- Durham, NC -:- informatics.nescent.org : >> =========================================================== >> >> >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev_______________________________________________ >> Treebase-devel mailing list >> Tre...@li... >> https://lists.sourceforge.net/lists/listinfo/treebase-devel > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Treebase-devel mailing list > Tre...@li... > https://lists.sourceforge.net/lists/listinfo/treebase-devel > > |