cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Datasource Problem - could not switch tenant to <>

0 Likes
2,233

Hello

I am trying to use datasource in my local, my database is already initialized. But after a few minutes that my hybris server is up I get and exception saying "could not switch tenant to <>"

I am only using the master tenant, everything else is Hybris 6.7 stock with no changes, using Windows 10.

This is my datasource configuration inside server.xml

 <Resource name="hybrisDS" auth="Container"
       type="javax.sql.DataSource"
       driverClassName="org.hsqldb.jdbcDriver"
       url="jdbc:hsqldb:file:C:\Hybris\67\hybris\data/hsqldb/mydb;shutdown=true;hsqldb.tx=MVCC"
       user="sa"
       password="" /> 

And this is the excetion I get

 SEVERE: Servlet.service() for servlet [springmvc] in context with path [] threw exception
 java.lang.IllegalStateException: could not switch tenant to <<master>>
         at de.hybris.platform.core.Registry.activateTenant(Registry.java:721)
         at de.hybris.platform.core.Registry.setCurrentTenant(Registry.java:566)
         at de.hybris.platform.core.Registry.setCurrentTenantByID(Registry.java:695)
         at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain.activateTenantFromContext(AbstractPlatformFilterChain.java:223)
         at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain.processStandardFilterChain(AbstractPlatformFilterChain.java:193)
         at de.hybris.platform.servicelayer.web.AbstractPlatformFilterChain.doFilterInternal(AbstractPlatformFilterChain.java:179)
         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
         at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
         at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
         at de.hybris.platform.servicelayer.web.XSSFilter.processPatternsAndDoFilter(XSSFilter.java:358)
         at de.hybris.platform.servicelayer.web.XSSFilter.doFilter(XSSFilter.java:306)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
         at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
         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:96)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
         at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
         at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
         at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
         at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
         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:748)


The exact code is on Registry.class

 else if (sys.cannotConnect()) {
        log.error("cannot activate tenant " + sys + " since its database connection is currently lost");
           return false;
     }


Does anyone know how to fix this?

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member760330
Discoverer
0 Likes

Server re-start helped

0 Likes

Has this issue been solved? I am struggling now on the same issue with a version 1811, connected with an Oracle DB.