Skip to content
New issue

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

Startup Error after updating from repo #98

Open
srcChain opened this issue Dec 2, 2023 · 3 comments
Open

Startup Error after updating from repo #98

srcChain opened this issue Dec 2, 2023 · 3 comments

Comments

@srcChain
Copy link

srcChain commented Dec 2, 2023

Hello, I wasn't sure where to put this as I am sure you have been asked this before. I just updated my local branch from main the sync errored out because of a new column in one of the tables. Is there a recommeded way to make sure the db is up to date? I assumed this was handled by the sync process somehow. In this case, I thought some migration will run to bring the db up to date. Am i missing something? I got the following error below:

java.nio.channels.ClosedChannelException: null
at io.netty.handler.ssl.SslHandler.channelInactive(SslHandler.java:1150)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:305)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901)
at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:813)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:413)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Suppressed: io.netty.handler.ssl.StacklessSSLHandshakeException: Connection closed while SSL/TLS handshake was in progress
at io.netty.handler.ssl.SslHandler.channelInactive(Unknown Source)

2023-12-02 10:56:51.955 INFO 134956 --- [ntLoopGroup-5-1] o.j.i.D.logVersionSupport : Version : Database version is supported by dialect POSTGRES: 15.4 (Ubuntu 15.4-2.pgdg22.04+1)
2023-12-02 10:56:54.740 INFO 134956 --- [ntLoopGroup-5-1] org.hibernate.orm.jdbc.batch : HHH100503: On release of batch it still contained JDBC statements
2023-12-02 10:56:54.742 ERROR 134956 --- [ntLoopGroup-5-1] org.hibernate.orm.jdbc.batch : HHH100501: Exception executing batch [java.sql.BatchUpdateException: Batch entry 0 insert into cexplorer.unconsume_tx_in (redeemer_id,tx_in_id,tx_out_id,tx_out_index,id) values (NULL,3665246,3665241,0,1502011) was aborted: ERROR: column "redeemer_id" of relation "unconsume_tx_in" does not exist
Position: 40 Call getNextException to see other errors in the batch.], SQL: insert into cexplorer.unconsume_tx_in (redeemer_id,tx_in_id,tx_out_id,tx_out_index,id) values (?,?,?,?,?)
2023-12-02 10:56:54.744 WARN 134956 --- [ntLoopGroup-5-1] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 42703
2023-12-02 10:56:54.744 ERROR 134956 --- [ntLoopGroup-5-1] o.h.engine.jdbc.spi.SqlExceptionHelper : Batch entry 0 insert into cexplorer.unconsume_tx_in (redeemer_id,tx_in_id,tx_out_id,tx_out_index,id) values (NULL,3665246,3665241,0,1502011) was aborted: ERROR: column "redeemer_id" of relation "unconsume_tx_in" does not exist
Position: 40 Call getNextException to see other errors in the batch.
2023-12-02 10:56:54.744 ERROR 134956 --- [ntLoopGroup-5-1] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: column "redeemer_id" of relation "unconsume_tx_in" does not exist
Position: 40
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute batch [Batch entry 0 insert into cexplorer.unconsume_tx_in (redeemer_id,tx_in_id,tx_out_id,tx_out_index,id) values (NULL,3665246,3665241,0,1502011) was aborted: ERROR: column "redeemer_id" of relation "unconsume_tx_in" does not exist
Position: 40 Call getNextException to see other errors in the batch.] [insert into cexplorer.unconsume_tx_in (redeemer_id,tx_in_id,tx_out_id,tx_out_index,id) values (?,?,?,?,?)]; SQL [insert into cexplorer.unconsume_tx_in (redeemer_id,tx_in_id,tx_out_id,tx_out_index,id) values (?,?,?,?,?)]
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:256)
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:243)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)
at jdk.proxy2/jdk.proxy2.$Proxy230.findEpochNoByMaxSlotAndEpochNoMoreThanLastEpochParam(Unknown Source)
at org.cardanofoundation.ledgersync.explorerconsumer.service.impl.EpochParamServiceImpl.handleEpochParams(EpochParamServiceImpl.java:

Thanks

@Sotatek-HuyLe3a
Copy link
Collaborator

Sotatek-HuyLe3a commented Dec 4, 2023

Hi @srcChain , we updated and refactored migration files and updated theses changes in "main" branch. If you want check all migration files before they were refactored, you can check these files in commit: https://github.com/cardano-foundation/cf-ledger-sync/tree/8136b156b1474d2da25502122b5c144c5108b5dc .
These are the issues where we have updated and added migration files:
#52 , #53, #61
And then, we restructured migration files, remove unnecessary tables:
#87

If you're syncing testnet networks, I recommend you should resync from genesis in branch "main" . Feel free to ask me anything if you have any blocker
Thanks

@satran004
Copy link
Member

@srcChain Regarding database migration, since we don't have an official release yet, we are keeping the SQL script simple by ignoring database migration for now. However, we will support database migration after the first release.

@srcChain
Copy link
Author

srcChain commented Dec 4, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants