Endeca Forge failure move_dgraph-input_to_dgraph-input-old

880 views Asked by At

I have an intermittent issue when distributing indexes :( All servers are Windows Server 2008.

I have two servers to distribute to and one of them has failed twice with this error:

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.

With a bit of further digging I've found this error in a log file in the PlatformServices\workspace\logs\shell folder:

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.

The state of the server is that is has a dgraph_input_new folder but it's struggling to create the dgraph_input_old folder. The dgraph_input folder does exist so the 'No such file or directory' is interesting.

The server has plenty of disk space for the operation and as it's intermittent I don't think it's file/folder permissions (otherwise it would fail all the time). I've even asked for on-access virus scanning to be disabled for those folders in case our virus scanner was locking files/folders.

I'm struggling to come up with a resolution to the issue, HALP!

EDIT: The forge process did stop the dgraph but the TomCat6 process is still running. Is that normal? Could TomCat be locking the folder?

EDIT: The task to move the folder is a bit of Perl that looks like this:

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: $!\"; }}"

EDIT: It seems to be a plain permission issue, I can't rename the folder without elevating myself to an administrator. The service is running as a user who's in the Administrators group. What could happen to make this folder admin only?

1

There are 1 answers

0
Bananas On

I know this question is dated back 3 years ago. But recently i experienced the same issue, thought it could help others.

The logs were interesting as GogLlundain pointed out.

The way to solve this is.

  1. Stop mdex server in the workbench which will in parallel kill dgraph process too.
  2. If you open the task manager in the server where mdex is defined, you can find two dgraph.exe is running.
  3. Kill the older task(i.e dgraph.exe) then run the baseline script, Your process will run smoothly.