Массовая загрузка в таблицу периодически завершается с ошибкой не удается преобразовать дату (23)

Этот вопрос поставил меня в тупик.

Я перепробовал все, что знаю, но, похоже, ничего не работает.

У меня есть огромная таблица (~2 ТБ) в Sybase IQ, которую нужно перенести на другой сервер. Это не разовое мероприятие. У нас есть обычная работа, чтобы делать это ежедневно.

Как мы это делаем:

  1. Экспортируйте таблицу в именованный канал, назовем его export1.
  2. Сжать файл с помощью lz4 и вывести в STDIN
  3. Передайте вывод в ssh
  4. Распакуйте данные и поместите их в другой именованный канал, позвольте называть его load1.
  5. Массовая загрузка, которая выполняется в отдельном потоке, уже смотрит на load1

В большинстве случаев это работает отлично. Но, по крайней мере, один раз в день, Bulk терпит неудачу с невозможностью преобразовать <8/9 пробелов> до даты (23) ошибка

Если мы снова отложим невыполненную задачу, она пройдет успешно.

ниже код:

      -- Step 1, Load into export named pipe. Done from source host
set temporary option Temp_Extract_Name1='export10001'
set temporary option Temp_Extract_Binary='ON'

select * from abcd where 1=1

-- Step 2, 3, 4. Done from source host
lz4 -c export1 | ssh -q -p222 destinationHost "lz4 -d - >load1"

-- Step 5, into different server. Done from destination host
load table abcd (<col list>) from 'load1'

Что я пробовал:

  • В настоящее время компонент в реальном времени использует netcat, я изменил его на SSH.
  • Добавлен размер буфера в lz4 -B6

Оба вышеперечисленных не устранили проблему. Боюсь, я совершенно не понимаю, в чем дело.

Обратите внимание: компонент Java, запускающий все эти шаги, является многопоточным приложением. Это позволяет нам перемещать данные для более чем одной таблицы за раз. Опять же, все это работает без каких-либо проблем, за исключением одного неудачного запуска, когда одна таблица загрузки не работает.

Этот периодический сбой всегда дает сбой, когда несколько нагрузок работают параллельно.

Кто-нибудь может указать, что потенциально могло вызвать это? Вспышки сети? Потеря пакетов? И что нужно делать, чтобы этого избежать?

Есть ли лучший способ справиться с этим типом перемещения данных?

0 ответов

Другие вопросы по тегам