Couchbase analytics: создать ошибку компиляции индекса - PullRequest
1 голос
/ 11 февраля 2020

Я пытаюсь создать индекс на аналитическом узле couchbase:

CREATE INDEX `index_analytics_user_id` 
ON `requests`(userId:string)

Когда я запускаю это на базе couchbase, я работаю локально, все работает нормально. Однако, когда я запускаю его в более масштабной среде разработки (с несколькими узлами данных и индексов и отдельным узлом аналитики), я получаю ошибку. Локально я запускаю Couchbase 6.5.0. и среда разработки работает на Couchbase 6.0.2:

[
  {
    "code": 24001,
    "msg": "Compilation error: Dataset Default.requests is currently being fed into by the following active entities.\nDefault.Local.data(CouchbaseMetadataExtension)\n (in line 1, at column 1)",
    "query_from_user": "CREATE INDEX `index_analytics_user_id` \nON `requests`(userId:string)"
  }
]

Как это исправить? спасибо!

1 Ответ

3 голосов
/ 11 февраля 2020

В Couchbase Analytics 6.0.x необходимо вручную прекратить прием данных (отключить ссылку) перед выполнением инструкции CREATE INDEX:

DISCONNECT LINK Local;
CREATE INDEX ...
CONNECT LINK Local;

Для получения дополнительной информации см. https://docs.couchbase.com/server/6.0/analytics/5_ddl.html#Connecting_and_disconnecting

В 6.5.0 этот шаг больше не требуется. Система автоматически отключает ссылку при обработке CREATE INDEX и повторно подключает ее после построения индекса.

...