У меня периодически возникают проблемы при распределении индексов :( Все серверы - 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: $!\"; }}"
РЕДАКТИРОВАТЬ: Кажется, это простая проблема с правами доступа, я не могу переименовать папку, не повышая себя до администратора. Служба работает от имени пользователя, входящего в группу администраторов. Что может случиться, чтобы сделать эту папку только администратором?
D:\Firebird\data\dgraphs\Dgraph1\dgraph_input_old
? - person KrishPrabakar   schedule 23.06.2015dgraph_input
иdgraph_input_new
- person GogLlundain   schedule 23.06.2015dgraph_input_old
вручную и перезапустите скрипт. - person KrishPrabakar   schedule 23.06.2015