Issue 1:
E. g. remove ColumnSelectorFactory.makeFloat/Double/Long/ObjectColumnSelector, and leave only one method "makeColumnValueSelector". Users which need different specializations could call corresponding methods on ColumnValueSelector itself: getFloat()/getDouble/getLong().

This change will allow to reduce code duplication in IndexedDoubles, IndexedLongs and IndexedFloats.

Issue 2:
Affected Version

Current master

Description

Here is the error.

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 -> 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 -> 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.<clinit>(HadoopDruidIndexerConfig.java:101) ~[druid-indexing-hadoop-0.17.0-incubating-iap-preview1.jar:0.17.0-incubating-iap-preview1]
... 14 more