Anonymous
Not applicable

Hi,

It looks like you need a particular method "directExecutor" which doesn't exist on default cluster jars. Did you try to replace the jar or only remove the Guava 15 jar? If the latter, that would explain the cluster start failure.

Going through Guava API docs, the directExecutor() method shows up in later versions in the MoreExecutors class. For example, you can see it here in version 19 https://guava.dev/releases/19.0/api/docs/com/google/common/util/concurrent/MoreExecutors.htmland after in version 23: https://guava.dev/releases/23.0/api/docs/

Doing a little searching it looks like later version of this jar may break some backwards compatibility. The earliest version this method exists is in 18.

To ensure you replace the jar, you should try the following:

  1. Download maybe version 18 or 19. There should be links in github for it.
  2. Follow these directions to upload the new jar to DBFS: https://docs.databricks.com/libraries/workspace-libraries.html
  3. Follow the KB article you posted to create a cluster-scoped init script to remove the guava 15 jar and copy your new guava 18/19 jar to /databricks/jars/

Just like the warning said in the KB article, it will require testing and might not work due to dependencies and other jars' limitations.