[ https://issues.apache.org/jira/browse/CASSANDRA-16426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17285270#comment-17285270 ]
Alexandre Dutra commented on CASSANDRA-16426: --------------------------------------------- As I was investigating the driver side of the issue I noticed that this is happening when binding a prepared statement. This makes me think that when the PREPARE message was sent, the server replied back with metadata info containing a custom datatype (protocol code zero + class name {{org.apache.cassandra.db.marshal.ShortType}}) for the {{year}} column, instead of protocol code 19 for {{smallint}}. That's imo why the binding operation fails later on as this custom type is unknown to the driver. > Cannot read from C* during migration > ------------------------------------ > > Key: CASSANDRA-16426 > URL: https://issues.apache.org/jira/browse/CASSANDRA-16426 > Project: Cassandra > Issue Type: Bug > Reporter: Marius Morlock > Priority: Normal > > Hello, > We tried to migrate our C* clusters from 2.2.9 to 3.11.6. During the > migration our clients (using C* driver version 3.4.0 ) failed with the > following exception and were continuously reporting the exception. > Interestingly after the migration, the same clients are running fine and no > issues are being reported. We have observed this on multiple migrations. As > this issue occurs we cannot read from C* which causes unwanted downtimes. > {code:java} > java.lang.RuntimeException: > com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found > for requested operation: ['org.apache.cassandra.db.marshal.ShortType' <-> > java.lang.Short] at com.test.LogReader.readFromDB(LogReader.java:150) at > com.test.readLogData(LogReader.java:113) at > com.test.retrieveLogs(LogApiServletV2.java:124) at > com.test.doGet(LogApiServletV2.java:82) > atjavax.servlet.http.HttpServlet.service(HttpServlet.java:626) at > javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > at > org.apache.tomee.webservices.CXFJAXRSFilter.doFilter(CXFJAXRSFilter.java:83) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > at > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) > at > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) > at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44) at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) > at > org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97) > at com.test.java.valves.ErrorReportValve.invoke(ErrorReportValve.java:66) at > ch.qos.logback.access.tomcat.LogbackValve.invoke(LogbackValve.java:256) at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) > at com.test.security.TenantIdValve.invoke(TenantIdValve.java:34) at > com.test.security.UserInfoValve.invoke(UserInfoValve.java:18) at > com.test.statistics.tomcat.valve.RequestTracingValve.invoke(RequestTracingValve.java:43) > at > com.test.logging.catalina.RuntimeInfoValve.invoke(RuntimeInfoValve.java:42) > at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:764) at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) > at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616) > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634) > at > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:836)Caused by: > com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found > for requested operation: ['org.apache.cassandra.db.marshal.ShortType' <-> > java.lang.Short] at > com.datastax.driver.core.CodecRegistry.notFound(CodecRegistry.java:741) at > com.datastax.driver.core.CodecRegistry.createCodec(CodecRegistry.java:602) at > com.datastax.driver.core.CodecRegistry.findCodec(CodecRegistry.java:582) at > com.datastax.driver.core.CodecRegistry.codecFor(CodecRegistry.java:507) at > com.datastax.driver.core.AbstractGettableByIndexData.codecFor(AbstractGettableByIndexData.java:77) > at com.datastax.driver.core.BoundStatement.bind(BoundStatement.java:201) at > com.datastax.driver.core.DefaultPreparedStatement.bind(DefaultPreparedStatement.java:126) > at com.test.LogReader.readDataPerSpaceId(LogReader.java:192) at > com.test.LogReader.readFromDB(LogReader.java:148) ... 62 more > {code} > We also contacted the datastax java driver team but came to no result > ([https://datastax-oss.atlassian.net/browse/JAVA-2919#)] > Thank you in advance for your efforts! > Best Regards, > Marius -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org