Ошибка Endeca Forge move_dgraph-input_to_dgraph-input-old

У меня периодически возникают проблемы при распределении индексов :( Все серверы - Windows Server 2008.

У меня есть два сервера для распространения, и один из них дважды вышел из строя с этой ошибкой:

INFO: [MDEXHost1] Starting shell utility 'move_dgraph-input_to_dgraph-input-old'.
10-Jun-2015 06:08:36 com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript
SEVERE: Utility 'move_dgraph-input_to_dgraph-input-old' failed.

Немного покопавшись, я нашел эту ошибку в файле журнала в папке PlatformServices\workspace\logs\shell:

Failed to move D:\Firebird\config\script\..\..\.\data\dgraphs\Dgraph1\dgraph_input to
D:\Firebird\config\script\..\..\.\data\dgraphs\Dgraph1\dgraph_input_old: No such file or directory at -e line 1.

Состояние сервера таково, что у него есть папка dgraph_input_new, но он изо всех сил пытается создать папку dgraph_input_old. Папка dgraph_input существует, поэтому интересен «Нет такого файла или каталога».

На сервере достаточно места на диске для этой операции, и, поскольку она прерывистая, я не думаю, что это права доступа к файлам/папкам (иначе это все время давало бы сбой). Я даже попросил отключить проверку на вирусы при доступе для этих папок на случай, если наш антивирусный сканер блокирует файлы/папки.

Я изо всех сил пытаюсь придумать решение проблемы, HALP!

РЕДАКТИРОВАТЬ: процесс подделки остановил dgraph, но процесс TomCat6 все еще работает. Это нормально? Может ли TomCat блокировать папку?

РЕДАКТИРОВАТЬ: задача по перемещению папки - это немного Perl, которая выглядит так:

perl.exe -e "use strict; use File::Spec; use File::Copy; use File::Glob qw/:glob/;my $source = 'D:\Firebird\config\script\..\..\.\data\dgraphs\Dgraph1\dgraph_input'; $source =~ s/[\\\/]+$//;my @sources = bsd_glob($source); foreach my $file (@sources) {my @fromPath = File::Spec->splitdir($file); if (scalar @fromPath eq 0) { die \"Failed to split path: $!\"; } my $fromRelative = @fromPath[scalar @fromPath - 1];my $toFile = 'D:\Firebird\config\script\..\..\.\data\dgraphs\Dgraph1\dgraph_input_old'; if ( -d $toFile ) { $toFile =File::Spec->catdir($toFile, $fromRelative); } my $res = move($file, $toFile);if (! $res) { die \"Failed to move $file to$toFile: $!\"; }}"

РЕДАКТИРОВАТЬ: Кажется, это простая проблема с правами доступа, я не могу переименовать папку, не повышая себя до администратора. Служба работает от имени пользователя, входящего в группу администраторов. Что может случиться, чтобы сделать эту папку только администратором?


person GogLlundain    schedule 23.06.2015    source источник
comment
У вас есть этот каталог D:\Firebird\data\dgraphs\Dgraph1\dgraph_input_old ?   -  person KrishPrabakar    schedule 23.06.2015
comment
Нет, у меня есть dgraph_input и dgraph_input_new   -  person GogLlundain    schedule 23.06.2015
comment
Создайте папку dgraph_input_old вручную и перезапустите скрипт.   -  person KrishPrabakar    schedule 23.06.2015
comment
Я надеюсь найти причину прерывистой проблемы, чтобы мне не пришлось нянчиться с Кузницей. Я пробовал, и все равно не получается, я запускаю Perl напрямую, который я добавил в исходный пост.   -  person GogLlundain    schedule 23.06.2015
comment
В дополнение к этой проблеме dgraph был прекращен (процессом Forge) и больше никогда не возвращался к жизни. На коробке не было найдено никаких интересных записей в файле журнала, чтобы решить эту проблему, мы удалили и переустановили программное обеспечение Endeca. Мы оставили файлы приложений в покое. Это вернуло сервис в работоспособное состояние. Нам нужно будет посмотреть, будет ли этот dgraph принимать дальнейшие обновления после того, как мы запустим базовое обновление. Я обновлю ветку, как только это произойдет.   -  person GogLlundain    schedule 24.06.2015


Ответы (1)


Я знаю, что этот вопрос датирован 3 года назад. Но недавно я столкнулся с той же проблемой, подумал, что это может помочь другим.

Журналы были интересными, как отметил ГогЛлундейн.

Способ решить это.

  1. Остановите сервер mdex в рабочей среде, что также приведет к параллельному завершению процесса dgraph.
  2. Если вы откроете диспетчер задач на сервере, где определен mdex, вы обнаружите, что запущены два dgraph.exe.
  3. Убейте старую задачу (например, dgraph.exe), затем запустите базовый сценарий. Ваш процесс будет работать без сбоев.
person Bananas    schedule 26.07.2018