Description

 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)


Observed in CAST AIP


Release
Yes/No
8.3.x (tick)
8.2.x (tick)
8.1.x (tick)
8.0.x (tick)
7.3.x (tick)
Observed on RDBMS
RDBMS
Yes/No
Oracle Server (tick)
Microsoft SQL Server (tick)
CSS2 (tick)
Step by Step Scenario

Below is the step-by-step scenario leading to the problem:

  1. Download the GIT DMT extension
  2. With the GIT DMT extension, run packaging
Impact of the Problem

The impact of the problem on the analysis or the dashboard is: Nothing extracted from GIT

Action Plan

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. 

  

Notes/comments
Ticket # 28711
Related Pages