<p dir="auto">E. g. remove ColumnSelectorFactory.makeFloat/Double/Long/ObjectColumnSelector, and leave only one method "makeColumnValueSelector". Users which need different specializations could call corresponding methods on <code class="notranslate">ColumnValueSelector</code> itself: getFloat()/getDouble/getLong().</p>
<p dir="auto">This change will allow to reduce code duplication in <code class="notranslate">IndexedDoubles</code>, <code class="notranslate">IndexedLongs</code> and <code class="notranslate">IndexedFloats</code>.</p>
<h3 dir="auto">Affected Version</h3>
<p dir="auto">Current master</p>
<h3 dir="auto">Description</h3>
<p dir="auto">Here is the error.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="2019-12-09T15:38:33,215 ERROR [task-runner-0-priority-0] org.apache.druid.indexing.common.task.HadoopIndexTask - Got invocation target exception in run(), cause: 
java.lang.ExceptionInInitializerError: null
	at org.apache.druid.indexing.common.task.HadoopIndexTask$HadoopDetermineConfigInnerProcessingRunner.runTask(HadoopIndexTask.java:639) ~[druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_181]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181]
	at org.apache.druid.indexing.common.task.HadoopIndexTask.runInternal(HadoopIndexTask.java:347) ~[druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at org.apache.druid.indexing.common.task.HadoopIndexTask.runTask(HadoopIndexTask.java:281) [druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at org.apache.druid.indexing.common.task.AbstractBatchIndexTask.run(AbstractBatchIndexTask.java:138) [druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner$SingleTaskBackgroundRunnerCallable.call(SingleTaskBackgroundRunner.java:419) [druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner$SingleTaskBackgroundRunnerCallable.call(SingleTaskBackgroundRunner.java:391) [druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors:

1) A binding to org.apache.hadoop.conf.Configuration was already configured at org.apache.druid.storage.hdfs.HdfsStorageDruidModule.configure(HdfsStorageDruidModule.java:111) (via modules: com.google.inject.util.Modules$OverrideModule -&gt; org.apache.druid.storage.hdfs.HdfsStorageDruidModule).
  at org.apache.druid.data.input.parquet.ParquetExtensionsModule.configure(ParquetExtensionsModule.java:101) (via modules: com.google.inject.util.Modules$OverrideModule -&gt; org.apache.druid.data.input.parquet.ParquetExtensionsModule)

1 error
	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470) ~[guice-4.1.0.jar:?]
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155) ~[guice-4.1.0.jar:?]
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) ~[guice-4.1.0.jar:?]
	at com.google.inject.Guice.createInjector(Guice.java:99) ~[guice-4.1.0.jar:?]
	at com.google.inject.Guice.createInjector(Guice.java:73) ~[guice-4.1.0.jar:?]
	at com.google.inject.Guice.createInjector(Guice.java:62) ~[guice-4.1.0.jar:?]
	at org.apache.druid.initialization.Initialization.makeInjectorWithModules(Initialization.java:431) ~[druid-server-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at org.apache.druid.indexer.HadoopDruidIndexerConfig.&lt;clinit&gt;(HadoopDruidIndexerConfig.java:101) ~[druid-indexing-hadoop-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	... 14 more"><pre class="notranslate"><code class="notranslate">2019-12-09T15:38:33,215 ERROR [task-runner-0-priority-0] org.apache.druid.indexing.common.task.HadoopIndexTask - Got invocation target exception in run(), cause: 
java.lang.ExceptionInInitializerError: null
	at org.apache.druid.indexing.common.task.HadoopIndexTask$HadoopDetermineConfigInnerProcessingRunner.runTask(HadoopIndexTask.java:639) ~[druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_181]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181]
	at org.apache.druid.indexing.common.task.HadoopIndexTask.runInternal(HadoopIndexTask.java:347) ~[druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at org.apache.druid.indexing.common.task.HadoopIndexTask.runTask(HadoopIndexTask.java:281) [druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at org.apache.druid.indexing.common.task.AbstractBatchIndexTask.run(AbstractBatchIndexTask.java:138) [druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner$SingleTaskBackgroundRunnerCallable.call(SingleTaskBackgroundRunner.java:419) [druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at org.apache.druid.indexing.overlord.SingleTaskBackgroundRunner$SingleTaskBackgroundRunnerCallable.call(SingleTaskBackgroundRunner.java:391) [druid-indexing-service-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors:

1) A binding to org.apache.hadoop.conf.Configuration was already configured at org.apache.druid.storage.hdfs.HdfsStorageDruidModule.configure(HdfsStorageDruidModule.java:111) (via modules: com.google.inject.util.Modules$OverrideModule -&gt; org.apache.druid.storage.hdfs.HdfsStorageDruidModule).
  at org.apache.druid.data.input.parquet.ParquetExtensionsModule.configure(ParquetExtensionsModule.java:101) (via modules: com.google.inject.util.Modules$OverrideModule -&gt; org.apache.druid.data.input.parquet.ParquetExtensionsModule)

1 error
	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470) ~[guice-4.1.0.jar:?]
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155) ~[guice-4.1.0.jar:?]
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) ~[guice-4.1.0.jar:?]
	at com.google.inject.Guice.createInjector(Guice.java:99) ~[guice-4.1.0.jar:?]
	at com.google.inject.Guice.createInjector(Guice.java:73) ~[guice-4.1.0.jar:?]
	at com.google.inject.Guice.createInjector(Guice.java:62) ~[guice-4.1.0.jar:?]
	at org.apache.druid.initialization.Initialization.makeInjectorWithModules(Initialization.java:431) ~[druid-server-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	at org.apache.druid.indexer.HadoopDruidIndexerConfig.&lt;clinit&gt;(HadoopDruidIndexerConfig.java:101) ~[druid-indexing-hadoop-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
	... 14 more
</code></pre></div>