When using the GIT extension for extraction in the Delivery Manager Tool (DMT), we came across the below error -
Error Stack -
2021-03-26 10:29:16.765 INFO cast.commandLine.appInfoVersion DMT Extractor version 0.5 (c) 2020 CAST
2021-03-26 10:29:17.155 DETAIL cast.dmt.coe.git.extractor.cloneInfoUsingGitCommand Unkown format id: cast.dmt.coe.git.extractor.cloneInfoUsingGitCommand => %URL%="<GIT URL>" %LOCAL_PATH%="<Delivery Folder>\data\{6503f0df-9006-4224-bd53-c5f306aa22ca}\{d26966ea-c649-48e6-97a1-3639e8548af4}\{fe1c111b-96d8-48c6-a7c8-714fff65bc31}\tmp\volatile\work"
2021-03-26 10:29:17.171 DETAIL cast.utilities.logger.initLoggingStackWhenCreatingThread Initializing logging context in a new thread for parent thread 1. Logging.runInNewThreadContext should be used instead
2021-03-26 10:29:17.217 DETAIL cast.utilities.logger.initLoggingStackWhenCreatingThread Initializing logging context in a new thread for parent thread 1. Logging.runInNewThreadContext should be used instead
2021-03-26 10:29:17.311 INFO cast.dmt.coe.git.extractor.processInfo Unkown format id: cast.dmt.coe.git.extractor.processInfo => %Command :%="git config --global core.longpaths true" % and Output is: %=""
2021-03-26 10:29:17.326 DETAIL cast.utilities.logger.initLoggingStackWhenCreatingThread Initializing logging context in a new thread for parent thread 1. Logging.runInNewThreadContext should be used instead
2021-03-26 10:29:17.342 DETAIL cast.utilities.logger.initLoggingStackWhenCreatingThread Initializing logging context in a new thread for parent thread 1. Logging.runInNewThreadContext should be used instead
2021-03-26 10:29:17.686 ERROR cast.dmt.coe.git.extractor.invalidRemoteException Unkown format id: cast.dmt.coe.git.extractor.invalidRemoteException => %URL%="Command :git clone --depth 1 -b master <GIT URL> and Output is:Cloning into 'abc'...fatal: Unable to create temporary file '<Delivery folder>/data/{6503f0df-9006-4224-bd53-c5f306aa22ca}/{d26966ea-c649-48e6-97a1-3639e8548af4}/{fe1c111b-96d8-48c6-a7c8-714fff65bc31}/tmp/volatile/work/abc/.git/tXXXXX': Filename too long"
2021-03-26 10:29:17.717 ERROR cast.commandLine.exceptionDuringProcess An error has occurred during command processing
com.castsoftware.dmt.extractor.git.exceptions.UnreachableRepositoryLogException:
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeConstructorAccessorImpl.java:-2)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at com.castsoftware.util.logger.exceptions.LogException.newInstance(LogException.java:79)
at com.castsoftware.util.logger.Logging.createErrorException(Logging.java:1051)
at com.castsoftware.util.logger.Logging.error(Logging.java:1453)
at com.castsoftware.dmt.extractor.git.exceptions.UnreachableRepositoryLogException.newInstance(UnreachableRepositoryLogException.java:33)
at com.castsoftware.dmt.extractor.git.GitCommandUtility.cloneUsingGitCommand(GitCommandUtility.java:83)
at com.castsoftware.dmt.extractor.git.GITExtractor.connect(GITExtractor.java:84)
at com.castsoftware.dmt.engine.extraction.ExtractionEngine.execute(ExtractionEngine.java:561)
at com.castsoftware.dmt.engine.extraction.ExtractionEngine.extract(ExtractionEngine.java:617)
at com.castsoftware.dmt.engine.extraction.cli.Extract.processDMTCommand(Extract.java:79)
at com.castsoftware.dmt.engine.cli.AbstractDeliveryEngineCommandLine.process(AbstractDeliveryEngineCommandLine.java:314)
at com.castsoftware.cli.CommandLineApplication$4.call(CommandLineApplication.java:1324)
at com.castsoftware.cli.CommandLineApplication$4.call(CommandLineApplication.java:1305)
at com.castsoftware.util.logger.Logging.execute(Logging.java:527)
at com.castsoftware.util.logger.Logging.runInNewContext(Logging.java:386)
at com.castsoftware.cli.CommandLineApplication.parseAndRun(CommandLineApplication.java:1383)
at com.castsoftware.cli.CommandLineApplication.access$100(CommandLineApplication.java:37)
at com.castsoftware.cli.CommandLineApplication$2.call(CommandLineApplication.java:1183)
at com.castsoftware.cli.CommandLineApplication$2.call(CommandLineApplication.java:1176)
at com.castsoftware.util.logger.Logging.execute(Logging.java:527)
at com.castsoftware.util.logger.Logging.runInNewContext(Logging.java:386)
at com.castsoftware.cli.CommandLineApplication.launch(CommandLineApplication.java:1175)
at com.castsoftware.cli.CommandLineApplication$1.call(CommandLineApplication.java:1107)
at com.castsoftware.cli.CommandLineApplication$1.call(CommandLineApplication.java:1100)
at com.castsoftware.util.logger.Logging.execute(Logging.java:527)
at com.castsoftware.util.logger.Logging.runInNewContext(Logging.java:415)
at com.castsoftware.cli.CommandLineApplication.run(CommandLineApplication.java:1099)
at com.castsoftware.dmt.engine.extraction.cli.Extract.main(Extract.java:158)
Release | Yes/No |
---|---|
8.3.x | |
8.2.x | |
8.1.x | |
8.0.x | |
7.3.x |
RDBMS | Yes/No |
---|---|
Oracle Server | |
Microsoft SQL Server | |
CSS2 |
Below is the step-by-step scenario leading to the problem:
- Download the GIT DMT extension
- With the GIT DMT extension, run packaging
The impact of the problem on the analysis or the dashboard is: Nothing extracted from GIT
The issue occurs because DMT is unable to create the temporary files in the path as the path is too long.
You can solve the issue using the below steps
Solution 1 -
Reduce the Delivery folder path at least by 50 characters.
Example - If the current path set in CAST-MS is
\\mappeddrive01\Q\DMT\aip_console_delivery_folder\{6503f0df-9006-4224-bd53-c5f306aa22ca}\data\{6503f0df-9006-4224-bd53-c5f306aa22ca}\{d26966ea-c649-48e6-97a1-3639e8548af4}
You can remap the path as -
Q:\DMT\
Solution 2-
Enable long paths setting in the registry.
To do so -
Hit the Windows key, type gpedit.msc and press Enter.
Navigate to Local Computer Policy > Computer Configuration > Administrative Templates > System > Filesystem > NTFS.
Double click the Enable NTFS long paths option and enable it.
Restart the server.
Run the packaging to see extraction does not fail.