I have attempted to write an aggregation extension to aggregate a complex type that is a double array. I modeled the extension after dataSketches.quantiles module. The extension builds and passes some basic unit tests. The extension loads successfully into druid. If I try to ingest data using my extension as an aggregator, I get:
Cannot construct instance of
and it points to the first line of the constructor for the DoublesArrayAggregatorFactory class. The rest of the trace-back is in the attached middlemanager.log. Print statements indicate the constructor finished successfully so the trace-back doesn’t make sense (println’s show up in the attached coordinator-overlord.log). The constructor is just assigning the values being passed to it so there is no obvious place to have a NullPointerException. This constructor works in the unit tests. I am a novice java programmer so I could have missed something obvious.
What I would love to hear is either of the following:
- What is the mistake I made
- Hints on how to debug this issue. I have tried remote debugging with eclipse and using jdb.
The system this is running on is Centos 7. I am using the latest Druid version 17 with the single-server/small config. I have attached the logs, test data, test spec, and the extension itself. Actually google won’t let me attach a file even if I change the extension. I will provide the zip file in a followup email.
Thanks in advance.