Ошибка при создании леса с использованием Admin API с разделом диапазона.Выдает ошибку ADMIN-DUPLICATENAME для нового созданного леса.
Я использую Admin API и создаю два леса в неделю, присоединяю эти леса и затем назначаю границы диапазона (верхний и нижний).После создания первого леса выдается сообщение об ошибке ADMIN-DUPLICATENAME, хотя мой лес не существует.Пожалуйста, предложите, что мне здесь не хватает.Я использую раздел диапазона в качестве политики присваивания и использую индекс диапазона дат, в котором работает эта логика, и блокировка отключена.
xquery version "1.0-ml";
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";
let $config := admin:get-configuration()
let $year := fn:year-from-date(fn:current-date())
let $database := "test"
let $database-id := xdmp:database($database)
let $forest-name := ()
for $each in (1 to 2)
let $initial-lower-bound := xs:date(fn:concat($year,"-06-01"))
let $initial-upper-bound := xs:date($initial-lower-bound) + xs:dayTimeDuration("P7D")
let $result :=
(:Forest 1 Setup:)
let $forest-name-1 := fn:concat("WK_",$each,"_",$year,"_TEST_FIN-","01")
let $spec-forest-1 := admin:forest-create($config, $forest-name-1 , xdmp:host(), ())
let $_ := admin:save-configuration-without-restart($spec-forest-1)
let $attatch-forest1 := admin:save-configuration-without-restart(admin:database-attach-forest($config, $database-id, xdmp:forest($forest-name-1) ))
let $bound-forest1 := admin:save-configuration-without-restart(admin:forest-set-range-policy-range($config, xdmp:forest($forest-name-1), $initial-lower-bound, $initial-upper-bound))
(:Forest 2 Setup:)
let $forest-name-2 := fn:concat("WK_",$each,"_",$year,"_TEST_FIN-","02")
let $spec-forest-2 := admin:forest-create($config, $forest-name-2 , xdmp:host(), ())
let $_ := admin:save-configuration-without-restart($spec-forest-2)
let $attatch-forest2 := admin:save-configuration-without-restart(admin:database-attach-forest($config, $database-id, xdmp:forest($forest-name-2) ))
let $bound-forest2 := admin:save-configuration-without-restart(admin:forest-set-range-policy-range($config, xdmp:forest($forest-name-2), $initial-lower-bound, $initial-upper-bound))
(:Populate Forest Name array:)
let $forest_Name := (fn:insert-before($forest-name, 1, $forest-name-1), fn:insert-before($forest-name, 1, $forest-name-2))
let $_ := xdmp:set($initial-lower-bound,$initial-upper-bound)
return $forest-name
return $result
Интересно, если я использую команду try catch и перехватывают исключение для ошибкиADMIN-DUPLICATENAME, он создает имя леса и завершает логику для кода без выхода.Пожалуйста, предложите, почему я вижу это.Я даже использовал admin: save-configuration, но проблема все еще сохраняется.Я запускаю его на 9.0-9.1 для тестовой базы данных, используя http-сервер через qconsole.