Problem
Suddenly, the Datameer Git plug-in stops committing activities to the configured Git Repository. Within the <INSTALLDIR>/logs/conductor.log file, the following exception is observed:
[anonymous] ERROR [2018-01-01 00:00:00.000] [datameer-event-bus-1] (GitVersioningRecorder.java:207) - Exception caught during execution of add command
org.eclipse.jgit.api.errors.JGitInternalException: Exception caught during execution of add command
at org.eclipse.jgit.api.AddCommand.call(AddCommand.java:211)
at datameer.plugin.versioning.git.GitVersioning$2.apply(GitVersioning.java:97)
at datameer.plugin.versioning.git.GitVersioning$2.apply(GitVersioning.java:90)
at datameer.dap.sdk.util.Success.flatMap(Success.java:43)
at datameer.plugin.versioning.git.GitVersioning.writeWorkbookToWorkTree(GitVersioning.java:629)
at datameer.plugin.versioning.git.GitVersioning.commitWorkbookChanges(GitVersioning.java:191)
at datameer.plugin.versioning.git.GitVersioningRecorder.recordWorkbookChanges(GitVersioningRecorder.java:242)
at datameer.plugin.versioning.git.GitVersioningRecorder$6.apply(GitVersioningRecorder.java:174)
at datameer.plugin.versioning.git.GitVersioningRecorder$6.apply(GitVersioningRecorder.java:171)
at datameer.dap.sdk.util.Success.flatMap(Success.java:43)
at datameer.plugin.versioning.git.GitVersioningRecorder.record(GitVersioningRecorder.java:674)
at sun.reflect.GeneratedMethodAccessor456.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at datameer.com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at datameer.com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at datameer.com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at datameer.com.google.common.eventbus.AsyncEventBus.access$001(AsyncEventBus.java:34)
at datameer.com.google.common.eventbus.AsyncEventBus$1.run(AsyncEventBus.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.eclipse.jgit.errors.LockFailedException: Cannot lock /opt/datameer/current/versioning/.git/index
at org.eclipse.jgit.dircache.DirCache.lock(DirCache.java:224)
at org.eclipse.jgit.dircache.DirCache.lock(DirCache.java:301)
at org.eclipse.jgit.dircache.DirCache.lock(DirCache.java:267)
at org.eclipse.jgit.lib.Repository.lockDirCache(Repository.java:1053)
at org.eclipse.jgit.api.AddCommand.call(AddCommand.java:142)
... 21 more
Cause
The Git repository on the Datameer Server is locked. Specifically, the <REPOSITORY>/.git/index.lock file is stale. This file is locking the Git repository from any further edits.
During normal operation, the <REPOSITORY>/.git/index.lock file should be created before an edit is made and then deleted immediately following the edit. If this file exists for more than 1 minute, it is likely that the lock was not released as expected.
Solution
To work-around this issue, release the Git repository lock by removing the <REPOSITORY>/.git/index.lock file from the local file system. The future commits to the Git repository will resume as expected.
If this issue occurs, it is recommended to capture the <INSTALLDIR>/logs/conductor.log* files from the environment and to contact Datameer Support for further information.
Comments
0 comments
Please sign in to leave a comment.