palantir / atlasdb

Transactional Distributed Database Layer
https://palantir.github.io/atlasdb/
Apache License 2.0
54 stars 9 forks source link

Dropwizard bundle CLI sometimes missing JDK7 jackson jar #2504

Open nziebart opened 7 years ago

nziebart commented 7 years ago

Internal auth product recently saw a scenario where the CLI could not be run via the dropwizard bundle, as it was missing a requird jackson-datatype-jdk7 jar.

We pull in this dependency via dropwizard-jackson:

com.fasterxml.jackson.datatype:jackson-datatype-jdk7:2.6.7 (selected by rule)
\--- io.dropwizard:dropwizard-jackson:0.9.3
     \--- project :atlasdb-config
          \--- project :atlasdb-service
               \--- project :atlasdb-dagger
                    \--- compile

I suspect that this product overrides the jackson version, and the one it uses does not have this dependency. We should see if we can get rid of the dropwizard dependency in atlasdb-config.

gsheasby commented 6 years ago

So we import a couple of classes (Jdk7Module and Jdk8Module) somewhere in atlasdb-config - the fix should be to explicitly add the compile dependency (e.g. compile com.fasterxml.jackson.datatype:jackson-datatype-jdk7:2.6.7) to config's build.gradle.

That part's easy. The harder part is verifying that this indeed fixes the scenario observed in the internal auth product.