what does java.lang.IllegalStateException: The BDR is not started means?

Hello !

Version 7.10.1

When I deploy my BDM in the portal, everything is ok.

But when I do a REST API to find a BDM value, I got this error

    Caused by: java.lang.IllegalStateException: The BDR is not started
What does it means ? 

The complete log:

12-May-2020 15:38:49.110 INFOS [http-nio-8080-exec-6] org.bonitasoft.engine.tenant.TenantStateManager.pause Pausing tenant 1
12-May-2020 15:38:49.112 INFOS [http-nio-8080-exec-6] org.bonitasoft.engine.tenant.TenantStateManager.pause Paused tenant 1
12-May-2020 15:39:08.021 INFOS [BonitaTaskExecutor] org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl.log THREAD_ID=434 | HOSTNAME=Dragon-Pierre-Yves | Refreshing classloader with key: TENANT:1
12-May-2020 15:39:19.623 INFOS [http-nio-8080-exec-9] org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl.log THREAD_ID=101 | HOSTNAME=Dragon-Pierre-Yves | Refreshing classloader with key: TENANT:1
12-May-2020 15:39:19.633 INFOS [http-nio-8080-exec-9] org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl.log THREAD_ID=101 | HOSTNAME=Dragon-Pierre-Yves | TENANT_ID=1 | Updating classes: [com.company.providers.Contract, com.company.model.CustomerContract, com.company.model.Request, com.company.model.SatisfactionIndex, com.company.model.Supplier, com.company.model.Invoice, com.company.model.OBDEmployee, com.company.model.CustomerLocation, com.company.model.VacationRequest, com.company.admin.mail.MailTemplate, com.company.model.SupportCase, com.company.model.OBDPerson, com.company.providers.BankAccountDetails, com.company.model.OBDITLineItem1, com.company.model.Customer, com.company.model.VacationAvailable, com.company.model.CustomerAddress, com.company.providers.Provider, com.company.model.Quotation, com.company.model.OBDITLineItem, com.company.model.OBDITReqts, com.company.providers.Contact, com.company.model.Reporter]
12-May-2020 15:39:19.917 INFOS [http-nio-8080-exec-9] org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl.log THREAD_ID=101 | HOSTNAME=Dragon-Pierre-Yves | TENANT_ID=1 | Update operation done
12-May-2020 15:39:32.162 INFOS [http-nio-8080-exec-4] org.bonitasoft.engine.tenant.TenantStateManager.resume Resuming tenant 1
12-May-2020 15:39:32.165 INFOS [http-nio-8080-exec-4] org.bonitasoft.engine.tenant.TenantStateManager.resume Resumed tenant 1
12-May-2020 15:39:39.586 GRAVE [http-nio-8080-exec-8] org.restlet.resource.ServerResource.doCatch Exception or error caught in server resource
    org.bonitasoft.engine.exception.BonitaRuntimeException: USERNAME=install | java.lang.IllegalStateException: The BDR is not started
        at org.bonitasoft.engine.api.impl.ServerAPIImpl.wrapThrowable(ServerAPIImpl.java:143)
        at com.bonitasoft.engine.api.impl.ServerAPIExt.wrapThrowable(ServerAPIExt.java:39)
        at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeMethod(ServerAPIImpl.java:131)
        at org.bonitasoft.engine.api.impl.ClientInterceptor.invoke(ClientInterceptor.java:79)
        at com.sun.proxy.$Proxy111.execute(Unknown Source)
        at org.bonitasoft.web.rest.server.api.bdm.BusinessDataQueryResource.getProcessBusinessDataQuery(BusinessDataQueryResource.java:64)
        at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.restlet.resource.ServerResource.doHandle(ServerResource.java:511)
        at org.restlet.resource.ServerResource.get(ServerResource.java:692)
        at org.restlet.resource.ServerResource.doHandle(ServerResource.java:439)
        at org.restlet.resource.ServerResource.doNegotiatedHandle(ServerResource.java:666)
        at org.restlet.resource.ServerResource.handle(ServerResource.java:1022)
        at org.restlet.resource.Finder.handle(Finder.java:236)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.routing.Router.doHandle(Router.java:422)
        at org.restlet.routing.Router.handle(Router.java:641)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:140)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202)
        at org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:77)
        at org.restlet.Application.handle(Application.java:385)
        at org.bonitasoft.web.rest.server.BonitaRestletApplication.handle(BonitaRestletApplication.java:191)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.routing.Router.doHandle(Router.java:422)
        at org.restlet.routing.Router.handle(Router.java:641)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.routing.Router.doHandle(Router.java:422)
        at org.restlet.routing.Router.handle(Router.java:641)
        at org.restlet.routing.Filter.doHandle(Filter.java:150)
        at org.restlet.routing.Filter.handle(Filter.java:197)
        at org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202)
        at org.restlet.Component.handle(Component.java:408)
        at org.restlet.Server.handle(Server.java:507)
        at org.restlet.engine.connector.ServerHelper.handle(ServerHelper.java:63)
        at org.restlet.engine.adapter.HttpServerHelper.handle(HttpServerHelper.java:143)
        at org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1117)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        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.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
        at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.bonitasoft.console.common.server.login.filter.AbstractAuthorizationFilter.doFilter(AbstractAuthorizationFilter.java:61)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.bonitasoft.console.common.server.login.filter.AbstractAuthorizationFilter.doFilter(AbstractAuthorizationFilter.java:61)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.bonitasoft.console.common.server.filter.NoCacheFilter.doFilter(NoCacheFilter.java:51)
        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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
        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)
    Caused by: java.lang.IllegalStateException: The BDR is not started
        at org.bonitasoft.engine.business.data.impl.JPABusinessDataRepositoryImpl.getEntityManager(JPABusinessDataRepositoryImpl.java:171)
        at org.bonitasoft.engine.business.data.impl.JPABusinessDataRepositoryImpl.findListByNamedQuery(JPABusinessDataRepositoryImpl.java:317)
        at org.bonitasoft.engine.business.data.impl.BusinessDataServiceImpl.getJsonQueryEntities(BusinessDataServiceImpl.java:327)
        at org.bonitasoft.engine.business.data.impl.BusinessDataServiceImpl.getJsonQueryEntities(BusinessDataServiceImpl.java:59)
        at org.bonitasoft.engine.command.GetBusinessDataByQueryCommand.execute(GetBusinessDataByQueryCommand.java:49)
        at org.bonitasoft.engine.command.GetBusinessDataByQueryCommand.execute(GetBusinessDataByQueryCommand.java:27)
        at org.bonitasoft.engine.api.impl.CommandAPIImpl.executeCommand(CommandAPIImpl.java:212)
        at org.bonitasoft.engine.api.impl.CommandAPIImpl.execute(CommandAPIImpl.java:179)
        at org.bonitasoft.engine.api.impl.CommandAPIImpl.execute(CommandAPIImpl.java:166)
        at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:427)
        at org.bonitasoft.engine.api.impl.ServerAPIImpl.lambda$invokeAPIInTransaction$1(ServerAPIImpl.java:395)
        at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:285)
        at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPIInTransaction(ServerAPIImpl.java:391)
        at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:265)
        at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeMethod(ServerAPIImpl.java:121)
        ... 82 more

Here my BDM:
https://www.dropbox.com/s/uwxhyomrw74t1hy/bdm.zip?dl=0

 

Hello.

 

The BDR is not started 

-> This means that the Business data repository is not started. This repository should be started when the tenant is started or resumed and a BDM is installed.

 

I don't hink it's related to the BDM itself. It is correctly deployed.

What is the version of your platform?

Have you more than one tenant?

Are you able to read/write in the BDM using processes operations?

Hello.

I create a process with an object of your BDM (reporter), started it, tried to access the object using the REST API -> It worked

Then I made a change to the BDM, redeployed, retried that. It still worked. Can you describe the steps to reproduce your issue?

Bonita 7.10.1

One tenant

BDM is completely block. Only way to have back a platform :

* stop the studio

* remove all h2 files

* restart the studio

* redeploy everything

This occurs systematically when a query is not acceptable by the bdm. Do you deploy the BDM behind the link? Attention, prepare yourself to delete our database.

 

Ok, I was able to reproduce that.

It's a bug in 7.10 +, when the BDM have issues and is deployed, even after the BDM is fixed, it is not redeployed. The server have to be restarted. I'll enter a bug and fix that. Thanks for the report.