Skip to content

Commit 38a19b9

Browse files
committed
#534 some changes to ensure the transaction mode is right.
MarkLogic 8.0-7 has a bug regarding transaction mode, which is fixed in 8.0-7.1. Made some changes to get the extension to work right in 8.0-7.
1 parent 9376e07 commit 38a19b9

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

marklogic-data-hub/src/main/resources/ml-modules/root/com.marklogic.hub/lib/job-lib.xqy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ declare function job:delete-jobs-and-traces($job-ids as xs:string*)
2222
job:delete-traces($job-ids)
2323
},
2424
<options xmlns="xdmp:eval">
25+
<update>true</update>
26+
<isolation>different-transaction</isolation>
2527
<database>{xdmp:database($config:TRACE-DATABASE)}</database>
2628
</options>
2729
)

marklogic-data-hub/src/main/resources/ml-modules/services/delete-jobs.xqy

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,28 @@ declare namespace rapi = "http://marklogic.com/rest-api";
2727

2828
declare option xdmp:mapping "false";
2929

30+
(:
31+
: REST API extension to delete jobs and associated traces.
32+
: Note: it shouldn't be necessary to use xdmp:invoke-function below, but a bug
33+
: in ML 8.0-7 (fixed in 8.0-7.1) messes up the transaction mode.
34+
:)
3035
declare %rapi:transaction-mode("update") function service:post(
3136
$context as map:map,
3237
$params as map:map,
3338
$input as document-node()*
34-
) as document-node()*
39+
) as document-node()?
3540
{
3641
perf:log('/v1/resources/delete-jobs:post', function() {
37-
let $job-ids := fn:tokenize(map:get($params, "jobIds"), ",")
38-
return
39-
job:delete-jobs-and-traces($job-ids)
42+
xdmp:invoke-function(
43+
function() {
44+
let $job-ids := fn:tokenize(map:get($params, "jobIds"), ",")
45+
return
46+
job:delete-jobs-and-traces($job-ids)
47+
},
48+
<options xmlns="xdmp:eval">
49+
<update>true</update>
50+
<isolation>same-statement</isolation>
51+
</options>
52+
)
4053
})
4154
};

0 commit comments

Comments
 (0)