DremioSqlDialect missing after Dremio upgrade to v.4.2.2

We have our Dremio instance running on CentOS inn AWS upgraded from 4.0.1 to 4.2.2. After the restart, Dremio refuses to connect on port 9047, and the log contains the following exceptions:

2020-05-05 14:39:32,191 [main] WARN com.dremio.telemetry.api.Telemetry - Failure reading telemetry configuration. Leaving telemetry as is.
java.lang.IllegalArgumentException: resource dremio-telemetry.yaml not found.
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:217)
at com.google.common.io.Resources.getResource(Resources.java:195)
at com.dremio.telemetry.api.Telemetry$1.get(Telemetry.java:90)
at com.dremio.telemetry.api.Telemetry$1.get(Telemetry.java:80)
at com.dremio.telemetry.api.config.AutoRefreshConfigurator.refreshOnce(AutoRefreshConfigurator.java:74)
at com.dremio.telemetry.api.config.AutoRefreshConfigurator.(AutoRefreshConfigurator.java:54)
at com.dremio.telemetry.api.config.AutoRefreshConfigurator.(AutoRefreshConfigurator.java:44)
at com.dremio.telemetry.api.Telemetry.startTelemetry(Telemetry.java:105)
at com.dremio.exec.server.BootStrapContext.(BootStrapContext.java:61)
at com.dremio.dac.daemon.DACDaemonModule.bootstrap(DACDaemonModule.java:197)
at com.dremio.dac.daemon.DACDaemon.(DACDaemon.java:184)
at com.dremio.dac.daemon.DACDaemon.newDremioDaemon(DACDaemon.java:303)
at com.dremio.dac.daemon.DACDaemon.newDremioDaemon(DACDaemon.java:311)
at com.dremio.dac.daemon.DremioDaemon.main(DremioDaemon.java:145)
2020-05-05 14:39:33,082 [main] ERROR ROOT - Dremio is exiting. Failure while starting services.
java.lang.NoClassDefFoundError: com/dremio/exec/store/jdbc/dialect/DremioSqlDialect
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.dremio.common.scanner.persistence.ScanResult.getAnnotatedClasses(ScanResult.java:175)
at com.dremio.exec.catalog.ConnectionReaderImpl.getCandidateSources(ConnectionReaderImpl.java:89)
at com.dremio.exec.catalog.ConnectionReaderImpl.makeReader(ConnectionReaderImpl.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.dremio.exec.catalog.ConnectionReader.of(ConnectionReader.java:69)
at com.dremio.dac.daemon.DACDaemonModule.build(DACDaemonModule.java:289)
at com.dremio.dac.daemon.DACDaemon.(DACDaemon.java:185)
at com.dremio.dac.daemon.DACDaemon.newDremioDaemon(DACDaemon.java:303)
at com.dremio.dac.daemon.DACDaemon.newDremioDaemon(DACDaemon.java:311)
at com.dremio.dac.daemon.DremioDaemon.main(DremioDaemon.java:145)
Caused by: java.lang.ClassNotFoundException: com.dremio.exec.store.jdbc.dialect.DremioSqlDialect
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 15 common frames omitted

Any guidance on these would be greatly appreciated.

In case somebody else runs into the same issue: Dremio started working again as soon as I disabled the Salesforce ARP Connnector.

In our case, we found this exception to be a side-effect of not having our external ZooKeeper in a working state on startup of the coordinator. Restarting ZK and then the coordinator resolved the issue.