You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(compare that with the definition of the method ShellUtil.execute() in eu.ldbc.semanticpublishing.util.ShellUtil.java)
That line builds a directory path that looks something like this 'dist/data/scripts/postLoad test.properties', which of course triggers a FileNotFound exception during the execution of the benchmark.
There are a couple of ways to fix this problem:
in order to pass the property file to the postLoad shell scripts, the call to 'Runtime.getRuntime().exec()' inside SheelUtil.java needs to be changed to pass a String[] (instead of just a String) as its first argument - that String array should have the executable path as its first element, and its arguments (namely the name of the property file) as its next elements. This in turn might require the definition of the execute() method to be changed accordingly; since I saw that that execute() method is also called in other places in TestDriver.java, one option could be to overload that execute() method in ShellUtil.java (the current one with just a 'String', plus a new one where a 'String[]' is passed with its arguments)
as a quick and dirty workaround (which is what I did last night to try to get the benchmark to complete without exceptions) I just removed the code that incorrectly appends the property file name to the script working directory in TestDriver.java (lines 368 and 369), like this:
Line 369 in class eu.ldbc.semanticpublishing.TestDriver (https://github.com/ldbc/ldbc_spb_bm_2.0/blob/master/src/eu/ldbc/semanticpublishing/TestDriver.java#L369) incorrectly appends the name of the property file to the script working directory:
(compare that with the definition of the method ShellUtil.execute() in eu.ldbc.semanticpublishing.util.ShellUtil.java)
That line builds a directory path that looks something like this 'dist/data/scripts/postLoad test.properties', which of course triggers a FileNotFound exception during the execution of the benchmark.
There are a couple of ways to fix this problem:
in order to pass the property file to the postLoad shell scripts, the call to 'Runtime.getRuntime().exec()' inside SheelUtil.java needs to be changed to pass a String[] (instead of just a String) as its first argument - that String array should have the executable path as its first element, and its arguments (namely the name of the property file) as its next elements. This in turn might require the definition of the execute() method to be changed accordingly; since I saw that that execute() method is also called in other places in TestDriver.java, one option could be to overload that execute() method in ShellUtil.java (the current one with just a 'String', plus a new one where a 'String[]' is passed with its arguments)
as a quick and dirty workaround (which is what I did last night to try to get the benchmark to complete without exceptions) I just removed the code that incorrectly appends the property file name to the script working directory in TestDriver.java (lines 368 and 369), like this:
and in that case I had to hardcode the name of the property file in the shell scripts inside the 'postLoad' directory.
Also please note that the name of the variable 'sciptsPath' in TestDriver.java is spelled incorrectly - it should have been 'scriptsPath' instead.
Thanks,
Franco Venturi
The text was updated successfully, but these errors were encountered: