Issue with syncing new tables and views from Redshift - v0.44.0

Hi there,

I've been using Metabase for more than a year with no issue with syncing, but since the last update (v0.44.0) I am unable to see any new table and views from Redshift when using the Data Model or Data Browse.

I can query these tables and views in Metabase with SQL with no problem, but they just won't appear in the model in admin, or the browse. I've tried re-syncing multiple times, and I am getting no errors in the logs (only a handful of warnings about field values defaulting back to null). I've also tried clearing my browser cache, and even opening Metabase on a different browser, but no luck so far.

I am running Metabase on an up-to-date AWS Elastic Beanstalk environment with an RDS postgres database.

Any help or advice would be wonderful :slight_smile: Please let me know if I can give any additional info!

Cheers!

Hi @ChIngalls
Post "Diagnostic Info" from Admin > Troubleshooting.
Which version did you upgrade from? There hasn't been a change to the Redshift driver for several versions, though there are known issues with Late binding, but that should produce errors.

Hi @flamber,
Thank you for the quick reply!

I've updated from v0.43.4 to v0.44.0.

Here are the diagnostic info:
{
"browser-info": {
"language": "en-US",
"platform": "MacIntel",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:103.0) Gecko/20100101 Firefox/103.0",
"vendor": ""
},
"system-info": {
"file.encoding": "UTF-8",
"java.runtime.name": "OpenJDK Runtime Environment",
"java.runtime.version": "11.0.16+8",
"java.vendor": "Eclipse Adoptium",
"java.vendor.url": "https://adoptium.net/",
"java.version": "11.0.16",
"java.vm.name": "OpenJDK 64-Bit Server VM",
"java.vm.version": "11.0.16+8",
"os.name": "Linux",
"os.version": "4.14.287-215.504.amzn2.x86_64",
"user.language": "en",
"user.timezone": "GMT"
},
"metabase-info": {
"databases": [
"redshift",
"h2"
],
"hosting-env": "unknown",
"application-database": "postgres",
"application-database-details": {
"database": {
"name": "PostgreSQL",
"version": "12.8"
},
"jdbc-driver": {
"name": "PostgreSQL JDBC Driver",
"version": "42.3.5"
}
},
"run-mode": "prod",
"version": {
"date": "2022-08-04",
"tag": "v0.44.0",
"branch": "release-x.44.x",
"hash": "d3700f5"
},
"settings": {
"report-timezone": null
}
}
}

Hope this helps!

@ChIngalls Then try going back to 43 again. You can try starting Metabase with some debug logging:
AWS Elastic Beanstalk (EBS) - Configuration > Software > Environment properties:

JAVA_OPTS   :   -Dlog4j.configurationFile=https://log4j.us/v2/templates/metabase?trace=metabase.sync

@flamber I've tried going back to 43 but it still doesn't work. We didn't stay in 43 for a super long time so I can't tell if it was working or if nobody noticed anything wrong... I can't go back to anything older unfortunately, it seems that there have been changes that are no longer compatible with older versions of Metabase.

I've also tried adding more logging, and here is something that you might know more about than me, when running a sync:

Completed step 'sync-tables'
Start: 2022-08-16T16:32:15.255549Z
End: 2022-08-16T16:32:33.710509Z
Duration: 18.5 s
Total number of tables sync'd null, number of tables updated null

The null seems suspicious, any idea why that would be?

Thank you again for your help with this!!

Cheers

@ChIngalls Okay, so it's not a problem in 43 or 44, but likely somewhere earlier like 41/42 - or maybe even before.
I'm guessing it is related to https://github.com/metabase/metabase/issues/21215. We're working on that issue, including updating the Redshift driver.
I don't have any workarounds for you.

@flamber Sounds good, thank you for looking into all this. I'll keep an eye out for future updates :slight_smile:

Cheers!