ml-gradle icon indicating copy to clipboard operation
ml-gradle copied to clipboard

"User is not allowed to apply resource" when deploying alert-project

Open eaolson opened this issue 3 years ago • 3 comments

I'm interested in alerting, so I'm trying to install examples/alert-project. There's no documentation on using the examples, so I'm assuming it's just a matter of running mlDeploy in that directory. When I do so, I get, "User is not allowed to apply resource at documents. Server Message: Server (not a REST instance?) did not respond with an expected REST Error message." It does create 4 databases and 2 app servers, but the databases are empty. This seems similar to issue #242?

This seems relevant in the debug output:

2022-02-03T17:04:34.122-0600 [DEBUG] [com.marklogic.client.ext.file.DefaultDocumentFileReader] Finding files at path: file:/home/developer/ml-gradle-master/examples/alert-project/src/main/ml-modules/ext/ 2022-02-03T17:04:34.122-0600 [DEBUG] [com.marklogic.client.ext.file.DefaultDocumentFileReader] Visiting directory: /home/developer/ml-gradle-master/examples/alert-project/src/main/ml-modules/ext 2022-02-03T17:04:34.122-0600 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.PropertiesModuleManager] Key for file /home/developer/ml-gradle-master/examples/alert-project/src/main/ml-modules/ext/my-alert.xqy: localhost:/home/developer/ml-gradle-master/examples/alert-project/src/main/ml-modules/ext/my-alert.xqy 2022-02-03T17:04:34.122-0600 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.PropertiesModuleManager] Key for file /home/developer/ml-gradle-master/examples/alert-project/src/main/ml-modules/ext/my-alert.xqy: localhost:/home/developer/ml-gradle-master/examples/alert-project/src/main/ml-modules/ext/my-alert.xqy 2022-02-03T17:04:34.123-0600 [INFO] [com.marklogic.client.ext.modulesloader.impl.AssetFileLoader] Writing 1 files 2022-02-03T17:04:34.123-0600 [INFO] [com.marklogic.client.ext.modulesloader.impl.AssetFileLoader] /ext/my-alert.xqy 2022-02-03T17:04:34.123-0600 [INFO] [com.marklogic.client.ext.batch.DefaultBatchHandler] Writing 1 documents to MarkLogic; port: 8000; database: alert-example-modules 2022-02-03T17:04:34.123-0600 [DEBUG] [com.marklogic.client.impl.OkHttpServices] Posting documents 2022-02-03T17:04:34.124-0600 [DEBUG] [com.marklogic.client.impl.OkHttpServices] Sending multipart for /v1/documents 2022-02-03T17:04:34.125-0600 [DEBUG] [okhttp3.internal.concurrent.TaskRunner] Q10000 scheduled after 0 µs: OkHttp ConnectionPool 2022-02-03T17:04:34.125-0600 [LIFECYCLE] [okhttp3.internal.concurrent.TaskRunner] 2022-02-03T17:04:34.125-0600 [DEBUG] [okhttp3.internal.concurrent.TaskRunner] Q10000 starting : OkHttp ConnectionPool 2022-02-03T17:04:34.126-0600 [DEBUG] [okhttp3.internal.concurrent.TaskRunner] Q10000 run again after 300 s : OkHttp ConnectionPool 2022-02-03T17:04:34.126-0600 [DEBUG] [okhttp3.internal.concurrent.TaskRunner] Q10000 finished run in 360 µs: OkHttp ConnectionPool 2022-02-03T17:04:34.127-0600 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationRunner] Completing Build operation 'Execute deployApp for :mlDeployApp' 2022-02-03T17:04:34.128-0600 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationRunner] Completing Build operation 'Executing task ':mlDeployApp'' 2022-02-03T17:04:34.128-0600 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationRunner] Build operation 'Snapshot outputs after executing task ':mlDeployApp'' started 2022-02-03T17:04:34.128-0600 [DEBUG] [org.gradle.internal.operations.DefaultBuildOperationRunner] Completing Build operation 'Snapshot outputs after executing task ':mlDeployApp'' 2022-02-03T17:04:34.047-0600 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] 2022-02-03T17:04:34.047-0600 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] > Task :mlDeployApp FAILED [...] 2022-02-03T17:04:34.136-0600 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception. 2022-02-03T17:04:34.136-0600 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 2022-02-03T17:04:34.136-0600 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong: 2022-02-03T17:04:34.136-0600 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':mlDeployApp'. 2022-02-03T17:04:34.136-0600 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Local message: User is not allowed to apply resource at documents. Server Message: Server (not a REST instance?) did not respond with an expected REST Error message.

Please use the debugging guide first to see if you can identify the problem - https://github.com/marklogic-community/ml-gradle/wiki/Debugging-guide . That addresses the most common bugs, such as not being able to load modules, or getting any error when deploying a particular resource, or getting any error with one of the data movement asks.

eaolson avatar Feb 03 '22 23:02 eaolson

I just successfully deployed the examples/alert-project. The error message that it provides isn't super helpful. I think it just means that the call failed, but it doesn't provide any useful details.

Can you run with --stacktrace and see if any additional info is printed or look at the logs on your MarkLogic server and see if there are any failures or clues as to what call might have failed and why?

hansenmc avatar Feb 04 '22 01:02 hansenmc

I should have pointed out this is MarkLogic 10.0-5.2, Linux, to an instance that already has DHF installed.

The only thing in the logs is:

2022-02-07 14:04:47.623 Debug: Boostrapping REST server named alert-example for database alert-example-content on port 8017 with 1 forests per host.
2022-02-07 14:04:55.923 Debug: Boostrapping REST server named alert-example-test for database alert-example-test-content on port 8018 with 1 forests per host.

It seems to be failing at the mlDeployApp step. I'm not clear on what that does, but I was able to PUT the .xqy file to an endpoint:

curl -k --anyauth --user admin -X PUT -d @./src/main/ml-modules/ext/my-alert.xqy \
-H "Content-Type: application/xquery" \
"http://localhost:8017/LATEST/ext/com/marklogic/my-alert.xqy?perm:admin=execute"

Here is the stack trace:

        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:188)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:186)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:174)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:408)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:395)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:388)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:374)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: com.marklogic.client.ForbiddenUserException: Local message: User is not allowed to apply resource at documents. Server Message: Server (not a REST instance?) did not respond with an expected REST Error message.
        at com.marklogic.client.impl.OkHttpServices.checkStatus(OkHttpServices.java:4443)
        at com.marklogic.client.impl.OkHttpServices.postResource(OkHttpServices.java:3533)
        at com.marklogic.client.impl.OkHttpServices.postBulkDocuments(OkHttpServices.java:3607)
        at com.marklogic.client.impl.DocumentManagerImpl.write(DocumentManagerImpl.java:649)
        at com.marklogic.client.impl.GenericDocumentImpl.write(GenericDocumentImpl.java:23)
        at com.marklogic.client.impl.DocumentManagerImpl.write(DocumentManagerImpl.java:624)
        at com.marklogic.client.impl.GenericDocumentImpl.write(GenericDocumentImpl.java:23)
        at com.marklogic.client.impl.DocumentManagerImpl.write(DocumentManagerImpl.java:608)
        at com.marklogic.client.impl.GenericDocumentImpl.write(GenericDocumentImpl.java:23)
        at com.marklogic.client.ext.batch.DefaultBatchHandler.handleBatch(DefaultBatchHandler.java:54)
        at com.marklogic.client.ext.batch.RestBatchWriter$1.run(RestBatchWriter.java:80)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50)
        at com.marklogic.client.ext.batch.BatchWriterSupport.executeRunnable(BatchWriterSupport.java:94)
        at com.marklogic.client.ext.batch.RestBatchWriter.write(RestBatchWriter.java:53)
        at com.marklogic.client.ext.file.GenericFileLoader.writeBatchOfDocuments(GenericFileLoader.java:124)
        at com.marklogic.client.ext.file.GenericFileLoader.loadFiles(GenericFileLoader.java:79)
        at com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader.loadAssets(DefaultModulesLoader.java:366)
        at com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader.loadModules(DefaultModulesLoader.java:176)
        at com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader.loadModules(DefaultModulesLoader.java:153)
        at com.marklogic.appdeployer.command.modules.LoadModulesCommand.loadModulesIntoMainServer(LoadModulesCommand.java:69)
        at com.marklogic.appdeployer.command.modules.LoadModulesCommand.execute(LoadModulesCommand.java:42)
        at com.marklogic.appdeployer.impl.AbstractAppDeployer.executeCommand(AbstractAppDeployer.java:101)
        at com.marklogic.appdeployer.impl.AbstractAppDeployer.deploy(AbstractAppDeployer.java:85)
        at com.marklogic.appdeployer.AppDeployer$deploy.call(Unknown Source)
        at com.marklogic.gradle.task.DeployAppTask.deployApp(DeployAppTask.groovy:32)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:506)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:74)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:74)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:491)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:474)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:106)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:271)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:249)
        at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:83)
        at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:37)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
        at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:47)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:47)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:37)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
        at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:50)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
        at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
        at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
        at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:54)
        at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:35)
        at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:60)
        at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:27)
        at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:174)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:74)
        at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:45)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:40)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:29)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:99)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:92)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:52)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:36)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:85)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:42)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:91)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:106)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:51)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:72)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:46)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:86)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:86)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:32)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
        at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:43)
        at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:31)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution$2.withWorkspace(ExecuteActionsTaskExecuter.java:284)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
        at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
        at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
        at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
        at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:185)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:174)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:408)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:395)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:388)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:374)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)

eaolson avatar Feb 07 '22 21:02 eaolson

@eaolson I just tried this on a local ML install, the project deployed fine (and yes, some docs would be helpful here to explain that a user should first deploy the project and then try out the JUnit test to see alerting in action).

The error you received is a confusing one where the underlying ML Java Client is saying - "I got an error, but what I received back doesn't look like an error returned by an ML REST API instance".

The example project, and ml-gradle by default, uses port 8000 to load modules, as it assumes that 8000 is available and that the OOTB App-Services app server is listening on port 8000. If that's not the case, you could try setting mlAppServicesPort=8017 in the gradle.properties file.

You can then look for this logging when you run ./gradlew -i mlDeploy:

Executing command [com.marklogic.appdeployer.command.modules.LoadModulesCommand] with sort order [400]
Initializing new instance of ModulesLoader
Loading modules from paths: [/Users/rrudin/workspace/ml-gradle/examples/alert-project/src/main/ml-modules]
Writing 1 files
/ext/my-alert.xqy
Writing 1 documents to MarkLogic; port: 8017; database: alert-example-modules
Releasing connection

In fact, look for that logging now to see if port 8000 is being used. If 8000 is being used and loading modules is failing, that would almost certainly be due to something having been changed with the app server listening on port 8000, such that you need to add mlAppServicesPort=8017.

rjrudin avatar Aug 08 '22 17:08 rjrudin

The latest version of ml-gradle should help here as it has a fix in the Java Client to help avoid that confusing "Server (not a REST instance?)" error. Closing otherwise due to lack of response.

rjrudin avatar Aug 09 '23 19:08 rjrudin