Visit Matillion AI Playground at Snowflake Data Cloud Summit 24

Find out more

Navigating Git In Matillion ETL

Git is a distributed version control system that enables software development teams to have multiple local copies of the project's codebase independent of each other. Matillion ETL's Git integration feature lets Matillion ETL users track a project’s changes for both small and large projects with speed and efficiency via Git source control management. 

One of the biggest advances of Git is its branching capabilities. Unlike centralized version control systems, Git branches allow people to work in parallel thanks to their merge capabilities. This facilitates the feature branch workflow, which is popular with many Git users. Yet, like any sophisticated tool, there can be challenges. The purpose of this blog is to prepare you for these by providing you with some common stumbling blocks users face and how to address them. 

  1. Tackling the Challenge of Missing Branch Names 
  2. Resolving the Loading Screen Challenge 
  3. Navigating Git Walk Issues

 

Tackling the Challenge of Missing Branch Names

You’re all set to commit your latest changes, but the branch name cannot be found on the Git commit screen. It’s an unexpected snag, but fear not; there is a straightforward solution. 

The green and blue colors likely represent local and remote branches. A local branch exists only on your local machine, while a remote branch exists on a remote repository (like GitHub). If you have changes on your local branch that you want to share with others, you’ll need to push your local branch to the remote repository.

If Git branches fail to appear on your screen, it’s likely due to the Git header pointer (a hollow circle in the image) not pointing to a local Git branch but instead pointing to a commit or a remote branch (blue color code). In that case the Git UI screen won't be able to list the branch names.

 

Here is how to overcome this: 

  • Secure your work: Before troubleshooting, ensure your project is backed up using the Export utility. 
  • Create a New Branch: Create a fresh branch from the most up-to-date source and commit your changes there.
  • Merge for progress: Once your changes are safely housed in the new branch, merge it back into the main tree as needed. 

Resolving the Loading Screen Challenge

The loading screen can be a blocker frustration in some cases. When Matillion’s UI gets stuck with the “Loading please wait…” message. There could be a few reasons for this:

  1. The Git repository was corrupt 
  2. SCM folder permissions change 
  3. Something else

Right now, it is time to take action.

  1. The Git repository was corrupt

Run git fsck to scan your local repository for any signs of corruption, and deal with them appropriately

2.  SCM folder permissions change.

Usually, we capture this error message in the server log file (catalina.out). Look for the following exception message in the server log lines - “SCMException: Unable to download file ”

Full log error message -

com.matillion.bi.emerald.server.scm.SCMException: Unable to download file [xxxxx,.git/objects/pack/pack-xxxxxxxxxxxxxxxxx.pack]

To resolve this issue you need to make sure that the SCM folder permission is correctly set.

SSh to Matillion instance and run the following commands

find /usr/share/tomcat8/scm -type d -exec chmod 750 {} +

find /usr/share/tomcat8/scm -type f -exec chmod 640 {} +

chown -R tomcat:tomcat /usr/share/tomcat8/scm

3. Something else

There can be other causes, for example a NULL pointer exception. In cases like these, please reach out to the Matillion support team

Navigating Git Walk Issues 

During project migration, Git may stumble, resulting in a "Git Walk Failure." But don't panic – there's a clear path forward.

Our recommendation is to remove Git from the project and start fresh once the migration process is completed, then clone the remote repository from the Project → Git. 

Please refer to this link for How to remove GIT from a project

Git integration in Matillion ETL opens doors to enhanced collaboration and streamlined version control, empowering teams to navigate projects with efficiency. While Git offers robust branching capabilities and facilitates workflows, encountering challenges is inevitable. By addressing common stumbling blocks such as missing branch names, loading screen delays, and Git walk issues, users can navigate these hurdles with ease.

Note that this article is for Matillion ETL and does not reflect our current generation product, the Data Productivity Cloud. Book a demo for the Data Productivity Cloud

Amin Shah
Amin Shah

Solution Architect - Customer Support (GTM)