Невозможно удалить поток в реестре Nifi через вызов http при использовании git в качестве хранилища - PullRequest
0 голосов
/ 18 февраля 2019

При использовании DELETE /buckets/{bucketId}/flows/{flowId},

он не может удалить поток, который имеет версию 0.

, например, что-то вроде следующего потока не может быть удалено с помощью вышеуказанного вызова http.

{
    "bucketIdentifier": "6a0f624c-3163-496e-bb60-9ca4fe287654",
    "bucketName": "flow_bucket",
    "createdTimestamp": 1550243254914,
    "description": "A Versioned Flow from pyApi",
    "identifier": "d3738331-78b3-4dda-ab6b-a2975db762ff",
    "link": {
        "href": "buckets/6a0f624c-3163-496e-bb60-9ca4fe287654/flows/d3738331-78b3-4dda-ab6b-a2975db762ff",
        "params": {
            "rel": "self"
        }
    },
    "modifiedTimestamp": 1550243254914,
    "name": "test flow by pyApi",
    "permissions": {
        "canDelete": true,
        "canRead": true,
        "canWrite": true
    },
    "type": "Flow",
    "versionCount": 0
}

Есть ли другой способ удалить такой поток?Этот поток создается nipyapi.versioning.save_flow_ver() с другим flow_name.Хотя с 409 происходит сбой, он все равно создает поток в реестре Nifi.Хранилище - это git (в частности, gitlab)

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Я согласен с Беном: скорее всего, вы столкнулись с ошибкой, а не с предполагаемым поведением.В дополнение к предложению вручную редактировать базу данных метаданных H2, вы также можете попробовать добавить версию моментального снимка потока (версионный поток может быть любым), чтобы сохранить версию 1 для этого потока, а затем удалить весь поток.То есть:

POST /buckets/6a0f624c-3163-496e-bb60-9ca4fe287654/flows/d3738331-78b3-4dda-ab6b-a2975db762ff/versions/
DELETE /buckets/6a0f624c-3163-496e-bb60-9ca4fe287654/flows/d3738331-78b3-4dda-ab6b-a2975db762ff

Я открою проблему Apache Jira, чтобы отслеживать исправление этой ошибки.

0 голосов
/ 18 февраля 2019

Кажется маловероятным. Потоки в NiFi-Registry начинаются с версии 1. Если это так, это ошибка.Вы должны иметь возможность удалить его непосредственно из файловой системы.По умолчанию потоки хранятся в {NIFI_INSTALLATION_FOLDER}/flow_storage/{BUCKET_ID}/.Просто удалите каталог, имя которого является этим идентификатором потока.Это должно это исправить.

РЕДАКТИРОВАТЬ:

забыл упомянуть, что вам также нужно отредактировать файл БД (H2), помещенный по умолчанию в {NIFI_INSTALLATION_FOLDER}/database

...