Unable to establish MS SQL connection with Backendless Pro(hosted on docker)
I downloaded backendless and followed default setup in README, and get a MS SQL running on docker too , but upon adding a connection it give error:
Backendless encountered an error while handling the request. An internal trouble ticket with ID 42FED2A4-BE93-0FEA-FF45-0580A3353F00 has been created and we will be investigating the issue.
Steps to reproduce
Please describe steps to reproduce starting from the first action.
Install and start backendless pro from github, follow default config
Install MS SQL with
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Password123' -p 1433:1433 -d microsoft/mssql-server-linux:2017-CU8
test MS SQL connection, it works in DataGrid and other DB tools
4: Add new connection in Backendless Console
We have fixed the problem. To get the update with the fix, please run the backendless_upgrade.sh script. The file is located in the /scripts directory of your Backendless installation. The script will perform the upgrade and your server will continue to run with the fix. Please give it a try and let us know if the problem went away.
$ docker service logs bl-swarm_bl-server.1.wkygvlx0cqg4gllzzn4smub4a Got
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | 21:12:28.427 [ERROR] JpaTransaction - Transaction failed: java.lang.NullPointerException: Name is null
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | 21:12:28.431 [ERROR] backendless - main_application --- Unhandled exception in app MBassPoC (ID: 469314B1-BC6B-9DB1-FFEF-622C63B65300); error ID: 33626ECC-B280-E940-FFB9-A1A958BE4E00
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | java.util.concurrent.CompletionException: java.lang.NullPointerException: Name is null
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.java8.FuturesConvertersImpl$CF.apply(FutureConvertersImpl.scala:21)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.java8.FuturesConvertersImpl$CF.apply(FutureConvertersImpl.scala:18)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.BatchingExecutor$Batch.processBatch$1(BatchingExecutor.scala:63)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.BatchingExecutor$Batch.$anonfun$run$1(BatchingExecutor.scala:78)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.BatchingExecutor$Batch.run(BatchingExecutor.scala:55)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Future$InternalCallbackExecutor$.unbatchedExecute(Future.scala:870)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.BatchingExecutor.execute(BatchingExecutor.scala:106)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.BatchingExecutor.execute$(BatchingExecutor.scala:103)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:868)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:68)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise$DefaultPromise.$anonfun$tryComplete$1(Promise.scala:284)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise$DefaultPromise.$anonfun$tryComplete$1$adapted(Promise.scala:284)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:284)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Promise.tryFailure(Promise.scala:108)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Promise.tryFailure$(Promise.scala:108)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise$DefaultPromise.tryFailure(Promise.scala:183)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.api.mvc.Filter$$anon$1$$anonfun$$nestedInanonfun$apply$4$1.applyOrElse(Filters.scala:83)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.api.mvc.Filter$$anon$1$$anonfun$$nestedInanonfun$apply$4$1.applyOrElse(Filters.scala:77)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Future.$anonfun$recoverWith$1(Future.scala:413)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:37)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at akka.dispatch.BatchingExecutor$BlockableBatch.$anonfun$run$1(BatchingExecutor.scala:91)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:81)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at java.lang.Thread.run(Thread.java:748)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | Caused by: java.lang.NullPointerException: Name is null
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at java.lang.Enum.valueOf(Enum.java:236)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at org.jooq.SQLDialect.valueOf(SQLDialect.java:57)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.dc.mysql.impl.MySQLInspectionOperations.getTables(MySQLInspectionOperations.java:39)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.dc.mysql.MySQLDataConnector.inspectTables(MySQLDataConnector.java:46)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.dc.management.DataConnectorService.inspectData(DataConnectorService.java:266)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.dc.management.DataConnectorService.lambda$activateDataConnector$0(DataConnectorService.java:110)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.datamodel.dao.JpaTransaction.execute(JpaTransaction.java:147)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.datamodel.dao.JpaTransaction.executeApp(JpaTransaction.java:86)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.dc.management.DataConnectorService.activateDataConnector(DataConnectorService.java:80)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at controllers.console.dc.DataConnectorsController.activateDataConnector(DataConnectorsController.java:68)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at router.Routes$$anonfun$routes$1.$anonfun$applyOrElse$162(Routes.scala:11046)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.core.routing.HandlerInvokerFactory$$anon$3.resultCall(HandlerInvoker.scala:134)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.core.routing.HandlerInvokerFactory$$anon$3.resultCall(HandlerInvoker.scala:133)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$8$$anon$2$$anon$1.invocation(HandlerInvoker.scala:108)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:88)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.http.DefaultActionCreator$1.call(DefaultActionCreator.java:31)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.old.security.ConsoleOriginAction.call(ConsoleOriginAction.java:32)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.googleanalytic.ReportGoogleAnalyticsAction.call(ReportGoogleAnalyticsAction.java:34)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.management.developer.DeveloperApplicationAccessAction.call(DeveloperApplicationAccessAction.java:25)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.old.security.ApplicationExistenceAction.call(ApplicationExistenceAction.java:32)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.management.developer.AuthenticateDeveloperAction.call(AuthenticateDeveloperAction.java:33)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at controllers.console.dc.DataConnectorsFeatureAvailabilityAction.call(DataConnectorsFeatureAvailabilityAction.java:29)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.SimultaneousApiCallLimitAction.call(SimultaneousApiCallLimitAction.java:25)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.StackOverflowHandlerAction.call(StackOverflowHandlerAction.java:19)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at com.backendless.CloseEntityManagerAction.call(CloseEntityManagerAction.java:36)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.core.j.JavaAction.$anonfun$apply$8(JavaAction.scala:138)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:654)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.util.Success.$anonfun$map$1(Try.scala:251)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.util.Success.map(Try.scala:209)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:56)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.api.libs.streams.Execution$trampoline$.execute(Execution.scala:70)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:48)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:68)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise$KeptPromise$Kept.onComplete(Promise.scala:368)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise$KeptPromise$Kept.onComplete$(Promise.scala:367)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise$KeptPromise$Successful.onComplete(Promise.scala:375)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise.transform(Promise.scala:29)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise.transform$(Promise.scala:27)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise$KeptPromise$Successful.transform(Promise.scala:375)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Future.map(Future.scala:288)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Future.map$(Future.scala:288)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.impl.Promise$KeptPromise$Successful.map(Promise.scala:375)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Future$.apply(Future.scala:654)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.core.j.JavaAction.apply(JavaAction.scala:138)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at play.api.mvc.Action.$anonfun$apply$2(Action.scala:96)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | at scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:303)
bl-swarm_bl-server.1.wkygvlx0cqg4@linuxkit-025000000001 | ... 11 common frames omitted
Can you please also check the version by using a request to your root API endpoint? The output should be similar to what you get from http://api.backendless.com/. This will let us know whether the upgrade went fine, which from the stack trace it seems did not happen.