Я не могу создавать индексы для таблиц Cloud Spanner, получаю сообщение об ошибке «Ошибка операции Spanner».
Даже после увеличения размера кластера с 6 до 16 узлов я не могу создать два индекса для таблицы с ~ 12 миллионами строк.
Что я сделал:
- Создана
objects
таблица в Spanner на 3-узловом кластере - В таблице 10-12 столбцов, состоящих из
STRING
,INT64
и одногоARRAY<STRING>
. - Первичный ключ - это два столбца; значение шарда (хэш
object_id
) иobject_id
- Загружено ~ 12 миллионов строк
- Таблица не имела индексов (кроме первичного ключа) при загрузке
- Нагрузка привязная 3-х узловая; модернизирован до 6 узлов
Что я пробовал:
- Пытался построить три индекса (через DDL в консоли) - получено "Ошибка операции гаечного ключа"
- Количество узлов Spanner увеличено с 6 до 12,
- Смог построить 1 из 3 индексов (
UNIQUE
в одномSTRING
столбце) - Пытался построить два других индекса (
UNIQUE NULL_FILTERED
по одиночнымSTRING
столбцам) - получил сообщение «Ошибка при выполнении операции гаечного ключа» - Количество узлов Spanner увеличено с 12 до 16 (макс.
- Пытался построить два других индекса (
UNIQUE NULL_FILTERED
по одиночнымSTRING
столбцам) - получил сообщение «Ошибка при выполнении операции гаечного ключа»
Что еще я пробовал (обновлено):
- Удалены предложения
NULL_FILTERED
и попытались построить два других индекса. Не решился, все еще невозможно построить.